Jump to content

Omesmo

Super VIP
  • Posts

    1,634
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by Omesmo

  1. 2 minutos atrás, Eolocos disse:

     

    pelo simples fato de serem 60 dezenas, de 6 a 6 em cada concurso, e 6 dezenas de saída ! ( na megasena )

     

    com CSN, sem se preocupar com as dezenas individuais, são apenas 8 entradas para a rede neural e apenas 2 saídas !

    csn é uma linha por sorteio

    considerando a mega senha temo somente 2577 linhas contra 53milhoes de linhas

    acertar 1 csn nessa perspectiva é quase impossível, treinar então, fora que nao se tm variaveis para se treinar , como a rn iria lidar com o csn?

    a diferença de um dos numeros do csn muda toda a combinação

     

    e oq estamos lidando aqui é tudo ou nada com um sorteio de 6 em 60 , então treinar a possibilidade de cada uma das 60 dezenas sair é muito mais viavel do que lidar com uma combinação inteira com tão pouca amostragem para se treinar

  2. 18 minutos atrás, Eolocos disse:

    por outro lado, dezenas com pesos, complica a coisa :) 

    por que complica a coisa?
    o proprio estado da dezena pode ser o arquivo para a rede neural ou programa de previsão
    se tivesse gente aqui para se unir poderiamos montar alguns programas para esse feito, o chatgpt é uma grande ajuda e parece que ficou mais acertivo nas suas respostas sobre programação

    até para ser usado no weka pelo que testei é melhor

  3. Em 28/03/2023 em 17:29, Eolocos disse:

     

    estou começando a acreditar que o melhor jeito de alimentar a rede neural, seria com CSN !

    o problema de se usar csn é que se trabalha com combinações inteiras e se teria que trabalhar em cima das combinações totais e nao temos um conjunto de sorteios suficiente para isso, fora que se quiser trabalhar com mais dezenas seria dificil

     

    uma questão de se trabalhar com redes neurais e dezenas seria tornar cada dezena uma singularidade e nao uma dezena igual as outras 

    vamos considerar o resultado da mega

    46 4 53 14 12 41

    um 46 é igual a outro 46 qualquer

    mas podemos ajustar o peso pelo estado da dezena?
     

            -11  
    -9 -14 -8 -10 1 -3
    1 1 1 1 2 1

     

    ou mesmo trabalhar em cima do proprio estado da dezena já que o que queremos é a previsão do que vai ser 1 ou maior que 1 se já tiver saido

     

     

  4. 18 minutos atrás, Eolocos disse:

     

    não sei se criar tópicos diferentes sobre redes neurais ( ainda que ferramentas diferentes ) ajude !

     

    vai dispersar atenção !!

     

    creio ser melhor um único local para discutir as redes, ideias, ferramentas, aplicativos, testes, etc, etc

     

    e estava vendo e o uso nao é tão facil nao, nao é só abrir uma loteria e usar , tem que aprender como cada tipo ali trabalha e que tipo de dados exige
    acho que essa seria o propósito de se abrir um topico a parte, seria de se discutir como usar a ferramenta em questão, igual se tem topicos diferentes pra estratégias diferentes

    tipo, dessa ferramenta qual melhor forma de passar os dados das loteria, com datas sem datas ,com as dezenas ordenadas, em ordem de sorteio, quais filtros açi apresenta um melhor resposta, bayes, regressão , ...
    a ferramenta nao é só rede neural, para falar a verdade nesse ponto ela é bem limitada pelo que vi

  5. 7 horas atrás, Eolocos disse:

     

    entonces, com o módulo correto é uma rede neural :) 

     

    logo, deve, como Cassandra fazia, contar o futuro, ainda que não acreditemos nele :)

    sera que vale a pena ter um tópico exclusivo para a ferramenta?

    por ser facil de instalar e usar o pessoal pode testar e da dica de como usar para loteria,

    engraçado que é algo bem antigo e eu nunca vi aparecer nas minhas buscas

    deve ser por causa da popularização das ia

     

    mas tambem nao vi uma variedade de add in para rede neural nao

     

  6. 9 horas atrás, Varelo disse:

    Pode-se usar os resultados das lotérias e fazer algum tipo de previsão para o próximo concurso?

    nao sei se tem resultado com loterias, mas o weka é bem facil de instalar

    instalei no all in one por curiosidade e nao se tem as dores de cabeça de se instalar o python algo que eu eu nem consegui fazer funcionar nesse pc

    tem varias ferramentas ou add-in para instalar muito facilmente até para ler outros tipos de arquivos como planilhas. tem tipos diferente de visualizadores
    eu instalei um monte de tipo
     é gratuito

    só pena que esse pc aqui nem isso roda bem, fui fazer um teste com um arquivo cvs da mega, cara eu sai bati um papo , fui no banheiro, tomei um banho, e o treco ainda nao tinha terminado de processar

    mas acredito que para computadores melhores possa ser melhor aproveitado,
    acho que merece até um topico a parte sobre essa ferramenta já que é facil de instalar e usar

    • Thanks 1
  7. 2 horas atrás, oiregor disse:

    Quero reduzir ao máximo as fórmulas, aplicando somente VBA (talvez) e muito banco de dados para agilizar a coisa toda...

    nossa , só com formulas é muito problemático, a planilha que tinha feito "organiza pela estatistica " que nem tinha tantas formulas assim mas tinha um processo de loop usando as formulas já era bem problemático, e mesmo usando vba dependendo do processo já é problemático.
    imagino que voce usando varias formulas por linha de sorteio já torna a planilha um pouco pesada dependendo de que tipo de formula seja , se for formulas matriciais então "odeio formulas matriciais, podem travar a planilha literalmente"

    • Like 1
  8.  

    nao sei se tem resultado com loterias, mas o weka é bem facil de instalar

    instalei no all in one por curiosidade e nao se tem as dores de cabeça de se instalar o python algo que eu eu nem consegui fazer funcionar nesse pc

    tem varias ferramentas ou add-in para instalar muito facilmente até para ler outros tipos de arquivos como planilhas. tem tipos diferente de visualizadores
    eu instalei um monte de tipo
     é gratuito

    • Like 1
  9. 1 hora atrás, jose sorte disse:

    Pois é... um dia chegaremos na singularidade, e quando chegarmos lá, TODOS nós estaremos obsoletos.

     

    Acredito que estamos perto de atingir a singularidade. De quanto tempo exatamente eu não sei... mas estamos perto!

    ainda depende de muita energia, e a nao ser que tenha governos ditatórios por trás, dificil chegar num ponto de controle total, e mesmo uso automatas seria dificil já que baterias nao duram tanto assim   , precisa de grandes servidores o que consome muita energia, e só desligar a chave geral e já era , e viros  digitais  são muito mais nocivos  .
    mas acho dificil algo assim acontecer, já que a memoria de planejamento ainda é muito curta e só se jogar contra as proprias ideias já dá um parafusso

    • Like 2
  10. 3 horas atrás, sam88 disse:

    Com uma lookup table, não preciso ficar contando todos os bits, basta pular de 8 em 8 bits e tá tudo contado.

    oq se fala é sobre contabem de bit com instruções de processador, nao precisa de tabelas nem contar um a um,

    é uma unica instrução que já entrega a quantidade de bits do inteiro POPCNT
     

    #include <immintrin.h>
    
    int main() {
        unsigned int value = 0xA5A5A5A5;
        int num_bits = _mm_popcnt_u32(value);
        printf("O valor 0x%X possui %d bits definidos.\n", value, num_bits);
        return 0;
    }

    esse é c e usa isntrução do sse4.2

    A função "popcnt_u32" mencionada faz parte da biblioteca "immintrin.h" e usa instruções SIMD para contar o número de bits definidos em um valor de 32 bits. Essa função é mais rápida do que outras abordagens de contagem de bits disponíveis em C++, especialmente para grandes conjuntos de dados.

    esse é para cpp, mas acho que faz verificação do tipo de processador

    #include <bitset>
    #include <iostream>
    
    int main() {
        unsigned int value = 0xA5A5A5A5;
        int num_bits = std::popcount(value);
        std::cout << "O valor 0x" << std::hex << value << " possui " << num_bits << " bits definidos.\n";
        return 0;
    }

     

    • Like 1
  11. 7 horas atrás, sam88 disse:

    Opração bit bit pode ser mais custosa em execução, dependendo da quanidade de bits, do que acessar uma posição num vetor e contar bits com um for ou while.

    cara estamos falando em converter as combinações em inteiros, fazer bitwise entre 2 inteiros e um popcount que seria uma instrução "unica" de processador

    creio ser muito mais rápido do que contar bits em posição de vetor

    claro que todo o processo tem que ser trabalhado, saber qual processador tem para escolher o melhor metodo, converter as combinações em inteiros, ...

     

    Citar

    Python é bom mas pra loteria é muito lento por ser uma linguagem interpretada.

    python foi cogitado para o caso de se usar outros metodos de avaliação como o uso de redes neurais

    é uma linguagem interpretada mas suas bibliotecas são executáveis em c e cpp, então ao usar as bibliotecas estaria usando um executável diretamente , ou melhor , seria como usar uma dll

  12. 57 minutos atrás, Eolocos disse:

    ANN = artificial neural network

     

    alguns links com assunto rede neural e excel:

    sim, mas me refiro ao add-in indicado pela ia

    o gpt deu solução melhor para o mesmo pedido mas acontece a quebra do codigo como eu falei,

    e o maior problema é que cada hora começa de um jeito e fica dificil juntar os codigos

    estou fazendo uma coleção para ver as similaridades

    vou ver quais funções se repetem e vou indicar que já tenho elas e nao precisa escrever
    eu pedi para o gpt criar o ann e me entregou isso, mas cortou o codigo como sempre

     

    'Classe ANN (Rede Neural Artificial)
    Private Inputs() As Double
    Private HiddenLayer() As Double
    Private Outputs() As Double
    Private WeightsIH() As Double
    Private WeightsHO() As Double
    Private BiasH() As Double
    Private BiasO() As Double
    
    Public Sub Initialize(numInputs As Long, numHiddenNodes As Long, numOutputs As Long)
        ReDim Inputs(numInputs - 1) As Double
        ReDim HiddenLayer(numHiddenNodes - 1) As Double
        ReDim Outputs(numOutputs - 1) As Double
        ReDim WeightsIH(numInputs - 1, numHiddenNodes - 1) As Double
        ReDim WeightsHO(numHiddenNodes - 1, numOutputs - 1) As Double
        ReDim BiasH(numHiddenNodes - 1) As Double
        ReDim BiasO(numOutputs - 1) As Double
        RandomizeWeights
    End Sub
    
    Private Sub RandomizeWeights()
        Dim i As Long
        Dim j As Long
        For i = LBound(WeightsIH, 1) To UBound(WeightsIH, 1)
            For j = LBound(WeightsIH, 2) To UBound(WeightsIH, 2)
                WeightsIH(i, j) = Rnd() - 0.5
            Next j
        Next i
        For i = LBound(WeightsHO, 1) To UBound(WeightsHO, 1)
            For j = LBound(WeightsHO, 2) To UBound(WeightsHO, 2)
                WeightsHO(i, j) = Rnd() - 0.5
            Next j
        Next i
    End Sub
    
    Public Sub FeedForward(inputsArr As Variant)
        Inputs = inputsArr
        Dim i As Long
        Dim j As Long
        For i = LBound(HiddenLayer) To UBound(HiddenLayer)
            Dim sum As Double
            For j = LBound(Inputs) To UBound(Inputs)
                sum = sum + Inputs(j) * WeightsIH(j, i)
            Next j
            HiddenLayer(i) = Sigmoid(sum + BiasH(i))
        Next i
        For i = LBound(Outputs) To UBound(Outputs)
            Dim sum As Double
            For j = LBound(HiddenLayer) To UBound(HiddenLayer)
                sum = sum + HiddenLayer(j) * WeightsHO(j, i)
            Next j
            Outputs(i) = Sigmoid(sum + BiasO(i))
        Next i
    End Sub
    
    Public Sub Train(inputsArr As Variant, targetsArr As Variant, learningRate As Double, momentum As Double)
        FeedForward inputsArr
        
        ' Backpropagation
        Dim i As Long
        Dim j As Long
        Dim k As Long
        Dim outputErrors() As Double
        ReDim outputErrors(UBound(targetsArr, 2)) As Double
        For i = LBound(Outputs) To UBound(Outputs)
            outputErrors(i) = targetsArr(1, i) - Outputs(i)
        Next i
        
        Dim hiddenErrors() As Double
        ReDim hiddenErrors(UBound(HiddenLayer)) As Double
        For i = LBound(HiddenLayer) To UBound(HiddenLayer)
            Dim sum As Double
            For j = LBound(Outputs) To UBound(Outputs)
                sum = sum + outputErrors(j) * WeightsHO(i, j)
            Next j
    
      Certo, continuando com a sub-rotina Train:
    
    VBA
    
            hiddenErrors(i) = sum * HiddenLayer(i) * (1 - HiddenLayer(i))
        Next i
        
        For i = LBound(BiasO) To UBound(BiasO)
            BiasO(i) = BiasO(i) + (outputErrors(i) * learningRate)
        Next i
        
        For i = LBound(BiasH) To UBound(BiasH)
            BiasH(i) = BiasH(i) + (hiddenErrors(i) * learningRate)
        Next i
        
        For i = LBound(WeightsHO, 1) To UBound(WeightsHO, 1)
            For j = LBound(WeightsHO, 2) To UBound(WeightsHO, 2)
                Dim delta As Double
                delta = (outputErrors(j) * HiddenLayer(i) * learningRate) + (momentum * WeightsHO(i, j))
                WeightsHO(i, j) = WeightsHO(i, j) + delta
            Next j
        Next i
        
        For i = LBound(WeightsIH, 1) To UBound(WeightsIH, 1)
            For j = LBound(WeightsIH, 2) To UBound(WeightsIH, 2)
                Dim delta As Double
                sum = 0
                For k = LBound(HiddenLayer) To UBound(HiddenLayer)
                    sum = sum + hiddenErrors(k) * Inputs(i)
                Next k
                delta = (sum * learningRate) + (momentum * WeightsIH(i, j))
                WeightsIH(i, j) = WeightsIH(i, j) + delta
            Next j
        Next i
    End Sub
    
    Private Function Sigmoid(x As Double) As Double
        Sigmoid = 1 / (1 + Exp(-x))
    End Function
      
    
    tem mais alguma função na implementação do  "ANN"?
    
    Sim, há mais algumas funções implementadas na classe ANN. Aqui estão as duas funções restantes:
    
    VBA
    
    Public Function Predict(inputData As Variant) As Variant
        Dim HiddenLayer() As Double
        ReDim HiddenLayer(1 To HiddenLayerSize)
        
        Dim OutputLayer() As Double
        ReDim OutputLayer(1 To OutputLayerSize)
        
        Dim i As Long, j As Long
        
        ' Calcular as saídas da camada oculta
        For i = LBound(HiddenLayer) To UBound(HiddenLayer)
            Dim weightedSum As Double
            weightedSum = 0
            
            For j = LBound(inputData) To UBound(inputData)
                weightedSum = weightedSum + inputData(j) * WeightsIH(j, i)
            Next j
            
            weightedSum = weightedSum + BiasH(i)
            HiddenLayer(i) = Sigmoid(weightedSum)
        Next i
        
        ' Calcular as saídas da camada de saída
        For i = LBound(OutputLayer) To UBound(OutputLayer)
            Dim weightedSum As Double
            weightedSum = 0
            
            For j = LBound(HiddenLayer) To UBound(HiddenLayer)
                weightedSum = weightedSum + HiddenLayer(j) * WeightsHO(j, i)
            Next j
            
            weightedSum = weightedSum + BiasO(i)
            OutputLayer(i) = Sigmoid(weightedSum)
        Next i
        
        Predict = OutputLayer
    End Function
    
    Private Function RandomizeWeights(lower As Double, upper As Double, count As Long) As Variant
        Dim randomValues() As Double
        ReDim randomValues(1 To count)
        
        Dim i As Long
        
        ' Gerar valores aleatórios para inicializar os pesos
        For i = LBound(randomValues) To UBound(randomValues)
            randomValues(i) = ((upper - lower) * Rnd()) + lower
        Next i
        
        RandomizeWeights = randomValues
    End Function
      
      Sim, há mais algumas funções implementadas na classe ANN. Aqui estão as duas funções restantes:
    
    VBA
    
    Public Function Predict(inputData As Variant) As Variant
        Dim HiddenLayer() As Double
        ReDim HiddenLayer(1 To HiddenLayerSize)
        
        Dim OutputLayer() As Double
        ReDim OutputLayer(1 To OutputLayerSize)
        
        Dim i As Long, j As Long
        
        ' Calcular as saídas da camada oculta
        For i = LBound(HiddenLayer) To UBound(HiddenLayer)
            Dim weightedSum As Double
            weightedSum = 0
            
            For j = LBound(inputData) To UBound(inputData)
                weightedSum = weightedSum + inputData(j) * WeightsIH(j, i)
            Next j
            
            weightedSum = weightedSum + BiasH(i)
            HiddenLayer(i) = Sigmoid(weightedSum)
        Next i
        
        ' Calcular as saídas da camada de saída
        For i = LBound(OutputLayer) To UBound(OutputLayer)
            Dim weightedSum As Double
            weightedSum = 0
            
            For j = LBound(HiddenLayer) To UBound(HiddenLayer)
                weightedSum = weightedSum + HiddenLayer(j) * WeightsHO(j, i)
            Next j
            
            weightedSum = weightedSum + BiasO(i)
            OutputLayer(i) = Sigmoid(weightedSum)
        Next i
        
        Predict = OutputLayer
    End Function
    
    Private Function RandomizeWeights(lower As Double, upper As Double, count As Long) As Variant
        Dim randomValues() As Double
        ReDim randomValues(1 To count)
        
        Dim i As Long
        
        ' Gerar valores aleatórios para inicializar os pesos
        For i = LBound(randomValues) To UBound(randomValues)
            randomValues(i) = ((upper - lower) * Rnd()) + lower
        Next i
        
        RandomizeWeights = randomValues
    End Function
    
    A função Predict recebe uma matriz de entrada (que representa as características de um exemplo) e retorna uma matriz de saída (que representa a classe prevista). Ele calcula as saídas da camada oculta e de saída da rede neural usando os pesos e bias atuais e a função de ativação Sigmoid.
    
    A função RandomizeWeights gera valores aleatórios para inicializar os pesos da rede. Essa função é usada no método Initialize da classe ANN para definir os pesos iniciais aleatórios da rede neural.

     

    • Like 1
  13. 11 minutos atrás, Eolocos disse:

     

    será que usando o "histórico" das conversas, não tem como continuar o código, digo, de um dia para o outro ?

    nao, o gpt tem um limite de linhas que pega do historico

    quando escrevo "continue de onde parou" ela até tenta mas fica uma bagunça já que nao sabe oq já fez caso tenha muitas linhas escritas , e fora que o chat fica bagunçado por que ela escreve codigos fora de caixa de codigo e escreve explicação dentro de caixa de codigo, e fica repetindo rotinas de maneira diferente 

    • Like 1
  14. 6 minutos atrás, Eolocos disse:

    tô ferrado pra aprender isto tudo.... :( 

    por isso que falei que em codigo fica mais simples de entender do que esse monte de matematica

    o problema é que o gpt nao consegue completar o codigo, e quando pede para completar fica mó bagunça

    mas as explicações que ele coloca do codiogo são show

    esse tipo de pedido deu uma otima macro pena é o limite de linhas o que quebra o codigo

    "uma rede neural simples em vba para poder aprender os conceitos , tipo usar uma matriz de dezenas de 15 colunas e "X" linhas contendo dezenas de 1 a 25 sem repetição por linha , quero criar uma rede neural para prever as dezenas da proxima linha da matriz "

     

    ainda nao consegui criar um padrão que o gpt me desse o codigo em blocos que se casem

    acho que poderia ver os nomes das funçoes e variaveis previamente para passar para ela

     

    • Like 2
×
×
  • Create New...