Jump to content

Omesmo

Super VIP
  • Posts

    1,633
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Omesmo

  1. 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. 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. 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. pode ser, ou nao, quem sabe, só fazendo testes para ter certeza existem muitos modos de se tratar os resultados para trabalhar com redes neurais , mas só os testes vão mostrar as melhores estratégias eu pretendo tratar como quadrantes
  5. 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
  6. 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
  7. nao é bem uma rede neural, é um programa de mineração de dados, regressão e essas coisas mas tem varios add-ins, entre eles de rede neural
  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 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
  9. 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"
  10. 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
  11. 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
  12. se nao me engano se voce nao ativar a instrução SIMD o compilador vai usar oq tiver tipo voce tem que liberar uso de mmx e sse com -mavx -msse4.2 -mpopcnt
  13. 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; }
  14. https://www.analyticsvidhya.com/blog/2021/11/artificial-neural-network-and-its-implementation-from-scratch/
  15. 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, ... 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
  16. @Eolocos acho qeu consegui um modo mais facil de montar o codigo neural com o gpt o ANN separado mas como falei , cada hora ela cria o codigo de maneira diferente mas usando aquele outro codigo eu pedi para o gpt refazer e criar os codigos ANN só pena que nao tenho como testar tbm tem que tirar os erros do codigo já que gpt nao é muito bom com o vba
  17. 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.
  18. 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
  19. nao continuou nem com chat novo, e os link que colocou estão todos quebrados procurei por "ann" que seria rede neural para o excel e nao achei
  20. 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
×
×
  • Create New...