Discussão do artigo "Redes neurais de maneira fácil (Parte 30): Algoritmos genéticos"

 

Novo artigo Redes neurais de maneira fácil (Parte 30): Algoritmos genéticos foi publicado:

Hoje quero apresentar-lhes um método de aprendizado um pouco diferente. Pode-se dizer que é emprestado da teoria da evolução de Darwin. É provavelmente menos controlável do que os métodos discutidos anteriormente. Mas, mesmo assim, permite também treinar modelos indiferenciados.

Os testes do processo de otimização foram realizados mantendo todos os parâmetros utilizados anteriormente. A amostra de treinamento for retirada do histórico do instrumento EURUSD, H1. O histórico dos últimos 2 anos foi usado para o processo de otimização. Todos os parâmetros externos do EA foram usados por padrão. Como modelo para teste, tomamos a arquitetura do artigo anterior que inclui a busca da distribuição de probabilidade ótima a nível de tomada de decisão. Esta abordagem nos permite colocar o modelo otimizado no EA "REINFORCE-test.mq5" usado anteriormente. Como se pode ver, esta é a terceira abordagem no processo de treinamento do modelo de arquitetura única. Treinamos anteriormente um modelo similar com os algoritmos Policy Gradient e Actor-Critic. É ainda mais interessante observar os resultados da otimização.

Como você deve se lembrar, não usamos os dados do último mês para otimizar o modelo. Isto deixa poucos dados para testar o modelo otimizado. Após executar o modelo otimizado no testador de estratégia com os dados do último mês, temos o seguinte resultado.

Gráfico de teste do modelo otimizado

Como pode ser visto no gráfico apresentado, obtivemos um gráfico crescente. Mas sua rentabilidade é um pouco menor do que a obtida através do treinamento de um modelo similar utilizando o método Ator-Crítico. Ao mesmo tempo, também podemos ver uma diminuição no número de negócios. De fato, o número de negócios diminuiu pela metade.

Gráfico com o histórico de negociação do modelo

Autor: Dmitriy Gizlyk

 

É curioso saber por que o resultado é a orientação da tendência. Normalmente, se a tarefa for encontrar regularidades, então, dado o crescimento em ziguezague de quase todas as tendências, a rede neural deve achar lucrativo e usar uma estratégia de contra-tendência em paralelo, abrindo no extremo esperado, especialmente no caso de crescimento prolongado. A experiência anterior (artigo 29) tem algo semelhante, em que a curva de equilíbrio cresce durante todo o período, enquanto aqui ela desaparece gradualmente.


Dmitriy Gizlyk
Проведите свои эксперименты и будет интересно понаблюдать за их результатами.


É ótimo que haja uma oportunidade de torcer a implementação em suas mãos.
Infelizmente, isso não foi testado. Tentei acessar o editor, mas ele trava ao compilar. Parece que copiei todos os arquivos ao visualizar todos os artigos.
Por favor, informe-me o que preciso fazer.

 
Excluí o namespace Math e as chaves em um dos arquivos de inclusão,
Em seguida, excluí "Math:::" antes da função problemática no código, e acho que ele parou de xingar.

Agora ele retorna Init 1.
Eu localizei a origem, mas parece que ele está xingando o modelo nessa função. Não entendo o que fazer.

Achei que deveria criá-lo com a ajuda da transferência, mas não encontrei nos artigos como fazer isso no Geneticist.

Por favor, me ajude a iniciar esse carro
 
Ivan Butko #:
Excluí o namespace Math e as chaves em um dos arquivos de inclusão ,
Em seguida, excluí "Math:::" antes da função problemática no código, e acho que ele parou de xingar.

Agora ele retorna Init 1 .
Eu identifiquei de onde, e parece que ele está xingando o modelo nessa função. Não entendo o que fazer.

Achei que deveria criá-lo usando a transferência, mas não encontrei nos artigos como fazer isso no Geneticist.

Por favor, me ajude a iniciar essa máquina

Para o treinamento no artigo, usei um modelo semelhante ao treinado no artigo actor-critic e policy gradient. Você apenas fornece ao Expert Advisor um modelo regular. E ele o complementa com modelos semelhantes em arquitetura até que a população seja preenchida.

 

Oi, agradeço muito seu grande esforço para essa série de artigos, mas quando tento executar o Evolution EA ou o Genetic EA, recebo um erro de 5109, que consultei no manual do MQ5 e descobri que esse erro é causado pelo OPENCL.

Recebi um erro de 5109, que encontrei no manual do MQ5 e descobri que esse erro é causado pelo OPENCL..., você pode me dizer como executar esse erro? Recebi um erro de 5109, que encontrei no manual do MQ5 e descobri que esse erro é causado pelo OPENCL.

Você pode me dizer como corrigir esse problema? De qualquer forma, muito obrigado...

ERR_OPENCL_EXECUTE

ERR_OPENCL_EXECUTE

Erro de tempo de execução do programa OpenCL


 
Dimitri, quanto tempo leva para aprender um modelo? Tive 300 épocas e o resultado não mudou. Isso é normal? E há alguma maneira de redefinir rapidamente os pesos para aleatórios por meio do NetCreator sem recriar manualmente o modelo?