Discussão do artigo "Redes neurais: Da teoria à prática" - página 9

 

Explique:

Suponha que eu tenha treinado o perceptron1 com uma amostra de teste do arquivo1. Ele aprendeu a prever o mesmo arquivo1 de forma 100% correta.

Em seguida, testei esse perceptron1 em novos dados (arquivo2). Ele os previu com 95% de acerto.

Comoposso treinar o perceptron1?

Opção 1:
Eu colo o arquivo1 e o arquivo2 = arquivo12. Treino o perceptron2 do zero, alimentando-o com o arquivo12 + respostas corretas.

Opção 2:

Corrijo manualmente as respostas corretas no arquivo2 e treino novamente o perceptron1.

A opção 1 é autoexplicativa. Trata-se apenas de treinar um novo perceptron do zero.

Mas como implementar a opção 2? Ela é viável?

=========

No momento, estou fazendo experimentos no Jupyter em Python com a biblioteca scikit-learn. Lá, o perceptron não tem nenhum método para treiná-lo com novos dados....

http://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier

sklearn.neural_network.MLPClassifier — scikit-learn 0.18.dev0 documentation
  • scikit-learn.org
class hidden_layer_sizes=(100, ), activation='relu', algorithm='adam', alpha=0.0001, batch_size='auto', learning_rate='constant', learning_rate_init=0.001, power_t=0.5, max_iter=200, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1...
 

O artigo é excelente, provavelmente o único com uma apresentação mais ou menos detalhada e compreensível,

Gostaria de pedir ao autor que corrigisse a imagem, afinal, nesse exemplo, não consideramos uma rede, mas um perceptron,

e estamos esperando um exemplo de uma rede neural, por exemplo: 2 neurônios na entrada, 3 na camada oculta, 1 na saída.

Muito obrigado pelo artigo!

Arquivos anexados:
pyb.jpg  1958 kb
 
Very good article, I will study this week to try to implement that is defined in the article.
But I have a question, how do I implement more neurons?

Osb: I'm still a beginner in programming.


I have some basic questions and some will come up during the development I will try to do. Could I consult you?

 
I'm new to programming, I know almost nothing, but I'm studying and adapting your EA for several tests. This task is very interesting.
Now I'm thinking of a self-optimization system and found an interesting article about it. Could it be possible to implement a structure of your EA. I do not have the capacity for that at the moment.

Would you be interested in developing this work?

https://www.mql5.com/pt/articles/2279

Rede neural: Expert Advisor auto-otimizável
Rede neural: Expert Advisor auto-otimizável
  • 2016.10.17
  • Jose Miguel Soriano
  • www.mql5.com
Será que é possível criar um Expert Advisor que, de acordo com os comandos do código, otimize os critérios de abertura e fechamento das posições automaticamente e em intervalos regulares? O que acontecerá se nós implementarmos no EA uma rede neural (um perceptron multi-camada) que, sendo módulo, analise o histórico e avalie a estratégia? É possível dar ao código um comando para uma otimização mensal (semanal, diária ou por hora) de rede neural com um processo subsequente. Assim, é possível criar um Expert Advisor que se auto-otimize.
 

Alterar a inclinação da função de ativação é totalmente desnecessário!

Veja a fórmula:

for(int n=0; n<10; n++) 
  {
   NET+=Xn*Wn;
  }
NET*=0.4;

Ao treinar, a rede deve pegar os multiplicadores Wn. Se for mais favorável para a rede ter um total de *0,4, ela simplesmente selecionará todos os pesos de Wn, cada um dos quais já será *0,4. Ou seja, apenas colocamos o multiplicador comum entre parênteses, que será determinado pelo erro mínimo.

Nessa implementação, você pode simplesmente reduzir a etapa de seleção dos pesos. Em redes neurais mais sérias, os coeficientes necessários serão encontrados por si mesmos.

 

A normalização é realizada incorretamente e, em seguida, um coeficiente de 0,4 para algum motivo....

Suponha que haja uma série de valores: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Os valores dessa série devem ser reduzidos à sequência [0,1]. Logicamente, essa seria a série: 0, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 1.

Entretanto, sua metodologia produz apenas números aleatórios. Suponha que obtenhamos os valores do indicador: 6, 7, 8, 9, 10. Simplificando sua fórmula:

Obtemos:

6 >> 0

7 >> 0.25

8 >> 0.5

9 >> 0.75

10 >> 1

Nessa série, normalizada de acordo com as instruções de seu artigo, somente o último valor é verdadeiro.

Se você fez um curso de álgebra linear e consegue distinguir cosseno de tangente, é incompreensível como você pode estragar uma tarefa tão simples. Os resultados de seu trabalho são puramente aleatórios!!!

Mas admito que usei essa mesma publicação como ponto de partida. Eu a imprimi, reli cuidadosamente, fiz anotações com uma caneta. Depois fui à Casa dos Livros e comprei o livro"Neural Networks for Information Processing", de Osovsky. Eu o li, fiquei muito inteligente e aqui estou escrevendo....

 
Obrigado por essa introdução de fácil compreensão sobre IA para negociação no MT5. Portanto, os "pesos" são encontrados por meio de otimização, o que Cagatay chamou de ajuste de curva. Na realidade, as redes neurais (seus pesos) são "treinadas" com a entrada de grandes quantidades de dados de treinamento rotulados por humanos e com a rotulação do resultado como certo ou errado. Existe uma maneira eficiente de fazer isso no MT5?
 
Quero saber como usar e comprar esse robô inteligente, meu sinal de micro é 13552272531. Por favor, professor, me adicione, quero fazer algo.
 

Por que só obtenho 365 dólares de lucro no backtesting?

Arquivos anexados:
 
Boa postagem. Em seus códigos, você mencionou Trade\Trade.mqh e Trade\PositionInfo.mqh. Você pode fornecer o link para download desses dois arquivos?