Discusión sobre el artículo "Redes neuronales: De la teoría a la práctica" - página 9

 

Explíquese:

Supongamos que he entrenado el perceptrón1 con una muestra de prueba del fichero1. Aprendió a predecir el mismo archivo1 con un 100% de acierto.

Luego probé este perceptrón1 con nuevos datos (archivo2). Los predijo correctamente en un 95%.

¿Cómo puedoentrenar el perceptrón1?

Opción 1:
Pego archivo1 y archivo2 = archivo12. Entreno el perceptrón2 desde cero alimentándolo con archivo12 + respuestas correctas.

Opción 2:

Corrijo manualmente las respuestas correctas en el fichero2 y vuelvo a entrenar el perceptrón1.

La opción 1 se explica por sí misma. Se trata simplemente de entrenar un nuevo perceptrón desde cero.

Pero, ¿cómo implementar la opción 2? ¿Es factible?

=========

Actualmente estoy experimentando en Jupyter en Python con la librería scikit-learn. Allí el perceptrón no tiene método para entrenarlo con nuevos datos....

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...
 

El artículo es estupendo, probablemente el único con una presentación más o menos detallada y comprensible,

Me gustaría pedir al autor que corrija la imagen, después de todo, en este ejemplo no consideramos una red, sino un perceptrón,

y estamos esperando un ejemplo de una red neuronal, por ejemplo: 2 neuronas en la entrada, 3 en la capa oculta, 1 en la salida.

¡muchas gracias por el articulo!

Archivos adjuntos:
pyb.jpg  1958 kb
 
Muy buen articulo, voy a estudiar esta semana para tratar de implementar lo que se define en el articulo.
Pero tengo una pregunta, ¿cómo puedo implementar más neuronas?

Osb: Todavía soy principiante en programación.


Tengo algunas dudas básicas y algunas me surgirán durante el desarrollo que intentaré hacer. ¿Puedo consultarte?

 
Soy nuevo en programación, no se casi nada, pero estoy estudiando y adaptando tu EA para varias pruebas. Esta tarea es muy interesante.
Ahora estoy pensando en un sistema de auto-optimización y encontré un artículo interesante al respecto. Sería posible implementar una estructura de tu EA. Por el momento no tengo capacidad para ello.

¿Estaría interesado en desarrollar este trabajo?

https://www.mql5.com/es/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.
 

Cambiar la inclinación de la función de activación es completamente innecesario.

Véase la fórmula:

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

Durante el entrenamiento, la red debe recoger los multiplicadores Wn. Si es más favorable para la red tener un total de *0,4, simplemente seleccionará todos los pesos de Wn, cada uno de los cuales ya será *0,4. Es decir, nos limitamos a poner entre paréntesis el multiplicador común, que vendrá determinado por el error mínimo.

En esta implementación, basta con reducir el paso de selección de los pesos. En redes neuronales más serias, los coeficientes necesarios se encontrarán solos.

 

La normalización se realiza de forma incorrecta, y entonces se obtiene un coeficiente de 0,4 por alguna razón....

Supongamos que hay una serie de valores: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Los valores de esta serie deben reducirse a la secuencia [0,1]. Lógicamente, ésta sería la serie: 0, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 1.

Sin embargo, tu metodología sólo produce números aleatorios. Supongamos que obtenemos los valores del indicador: 6, 7, 8, 9, 10. Simplificando su fórmula:

Obtenemos:

6 >> 0

7 >> 0.25

8 >> 0.5

9 >> 0.75

10 >> 1

En esta serie, normalizada según las instrucciones de tu artículo, sólo es cierto el último valor.

Si has tenido un curso de álgebra lineal y sabes distinguir coseno de tangente, es incomprensible cómo puedes meter la pata en una tarea tan sencilla. ¡¡¡Los resultados de tu trabajo son puramente aleatorios!!!

Pero admito que utilicé esta misma publicación como punto de partida. La imprimí, la releí detenidamente, tomé notas con un bolígrafo. Luego fui a la Casa del Libro y compré"Redes neuronales para el procesamiento de la información" de Osovsky. Lo leí, me espabilé y aquí estoy escribiendo.....

 
Gracias por esta introducción fácilmente comprensible en AI para el comercio en MT5. Así que los "pesos" se encuentran a través de la optimización, lo que Cagatay llamó ajuste de curvas. En realidad las redes neuronales (sus pesos) se "entrenan" introduciendo cantidades masivas de datos de entrenamiento etiquetados por humanos y etiquetando también el resultado como correcto o incorrecto. ¿Existe una manera eficiente de hacer esto en MT5?
 
Quiero saber como usar y comprar este robot inteligente mi micro señal es 13552272531 por favor maestro agregame, quiero hacer algo.
 

¿Por qué sólo obtengo 365 dólares de beneficio cuando backtesting?

Archivos adjuntos:
 
¡Nice Post, En sus códigos, usted menciona Trade\Trade.mqh y Trade\PositionInfo.mqh, ¿puede proporcionar el enlace de descarga de los dos? muchas gracias!