Discusión sobre el artículo "Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking"

 

Artículo publicado Neuroredes profundas (Parte VII). Conjunto de neuroredes: stacking:

Continuamos construyendo conjuntos. Ahora vamos a añadir al conjunto bagging creado anteriormente un combinador entrenable: una red neuronal profunda. Una red neuronal combina las mejores 7 salidas del conjunto después de la poda. La segunda recibe en la entrada las 500 salidas del conjunto, las poda y las combina. Construiremos las redes neuronales con la ayuda del paquete keras/TensorFlow de Python. Veremos brevemente las posibilidades del paquete. Y finalmente, realizaremos la simulación y compararemos la calidad de la clasificación de los conjuntos bagging y stacking.

Construimos la historia del entrenamiento:

history_stop_500

Fig. 11. Historia del entrenamiento de la red neuronal DNN500

Para mejorar la calidad de la clasificación, podemos modificar multitud de hiperparámetros: el método de inicialización de las neuronas, la regularización de la activación de las neuronas y sus pesos, etc. Los resultados obtenidos con parámetros casi intuitivos muestran una calidad prometedora, pero sus limitaciones dejan un mal sabor de boca. Sin optimización, no hemos logrado que Accuracy supere 0.82. La conclusión es que necesitamos optimizar los hiperparámetros de la red neuronal. En las anteriores partes, hemos experimentado con la optimización bayesiana. Creemos que también es aplicable aquí, pero se trata de un tema aparte, y bastante complejo.

Autor: Vladimir Perervenko

 

En los próximos artículos tuyos, ¿hay alguna posibilidad de cambiar exclusivamente a Python? Porque la cantidad de paquetes y entornos preinstalados pronto empezará a crecer exponencialmente

interesante lo del apilamiento, gracias :)

 
Maxim Dmitrievsky:

En los siguientes artículos tuyos, ¿hay alguna posibilidad de cambiar exclusivamente a Python? Porque el volumen de paquetes y entornos preinstalados pronto empezará a crecer exponencialmente

lo del apilamiento es interesante, gracias :)

Y ahora y en el futuro todos los cálculos en R pero usando paquetes (módulos) de Python. Hay un montón de ellos.

 
Vladimir Perervenko:

Y ahora y en el futuro todos los cálculos en R pero usando paquetes (módulos) de Python. Hay un montón de ellos.

OK, voy a tratar de forjar :)

 
Hola Prof Vladimir
Dado que KIRS está diseñado para humanos y no para máquinas, significa que no podemos integrarlos en EAs
Puede construir un modelo de diversidad de entrada de ejemplo para los modelos de rejilla profunda KIRAS, como el análisis del sentimiento de Twitter o el análisis textual para las noticias económicas
Saludos y peaceز ،
 
azzeddine remmal:
Hola Prof Vladimir
Dado que KIRS está diseñado para humanos y no para máquinas, significa que no podemos integrarlos en EAs
Puede construir un modelo de diversidad de entrada de ejemplo para los modelos de rejilla profunda KIRAS, como el análisis del sentimiento de Twitter o el análisis textual para las noticias económicas
Saludos y peaceز ،

Saludos azzeddine,

Keras está diseñado para humanos en el sentido de que se necesita una cantidad mínima de código para construir modelos estructuralmente complejos. Por supuesto que podemos y debemos usar estos modelos en EAs. Esto es sólo una cuestión resuelta y trabajada. De lo contrario, ¿para qué necesitamos estos ejercicios?

Por supuesto que podemos construir modelos que rastreen y analicen el estado de ánimo en los mensajes de texto de Twitter o en el feed de noticias de Blomberg. Este es un campo aparte que no he probado y, francamente, no creo mucho en él. Pero hay muchos ejemplos sobre este tema en Internet.

Deberías empezar con uno sencillo.

Suerte

 

Hola Vladimir, gracias por tus artículos. Yo mismo soy un programador de profesión, principalmente .NET, c #. Escribí un Asesor Experto basado en sus artículos sólo para mt5 terminal. Yo uso Keras con soporte de GPU, ahorra tiempo y nervios para los modelos de formación, R y mt5 vinculado a través de R.Net (escribí un dll de biblioteca, puedo publicarlo en github). Probé también H2O, funciona lento, soporte GPU sólo bajo linux, no es adecuado, yo trabajo bajo vindows. Me alegro de que usted también, cambió a Keras en sus artículos. El Asesor Experto mostró buenos resultados para EURUSD 15M, la muestra de datos fue tomada de 2003 a 2017 (formación, pruebas), utilicé sólo tres predictores v.fatl, v.rbci, v.ftlm, más perdictors, los resultados son peores, red neuronal dos capas ocultas densas 1000 neuronas en cada uno (un montón de neuronas no es necesario, tomé 10 en cada capa oculta, también dio buenos resultados). El Expert Advisor es casi igual al tuyo, con pequeñas modificaciones, stop loss 500, take profit 100, no abro más de 10 posiciones, bueno, y cierro todas las posiciones Buy, si hay nuevas posiciones Cell, y viceversa, todo es sencillo, el resto del código es como el tuyo. Bueno, todo este código es sólo para EURUSD, para otras cotizaciones tal vez todo debe hacerse de manera diferente.

Aquí está el resultado del trabajo del Asesor Experto desde 2017 hasta ahora:

prueba

Puse el Asesor Experto en una cuenta de centavos, probando durante 2 semanas, hasta ahora funciona en plus. Se invirtió mucho tiempo en buscar un modelo de red neuronal y probarlo, probando diferentes variantes de redes Dense, LSTM, CONV, me detuve en una simple Dense. También la selección de diferentes predictores, su DigFiltr + todo tipo de indicadores, sus predictores mostraron el mejor resultado, sin indicadores adicionales. Creo que esto no es el límite, se puede hacer una EA mucho mejor, ahora voy a tratar de aplicar los conjuntos de sus últimos 2 artículos. Espero tus próximas publicaciones, si quieres, también te informaré de mis éxitos.

 
Евгений Чистюхин:

..., enlacé R y mt5 vía R.Net (escribí una librería dll, puedo ponerla en github). ....

Esto es muy interesante.

¿Dónde puedo verlo?

¿Tiene tu librería alguna ventaja sobre esta?

 

Vladimir Perervenko

Construiremos redes neuronales utilizando el paquete keras/TensorFlow de Python.

Qué pasa con R

keras: Interfaz de R para 'Keras

o

kerasR: Interfaz de R para la librería de aprendizaje profundo Keras

CRAN - Package keras
  • cran.r-project.org
About Keras Layers About Keras Models Using Pre-Trained Models Keras Backend Writing Custom Keras Layers Frequently Asked Questions Guide to the Functional API Getting Started with...
 
Евгений Чистюхин:

Hola Vladimir, gracias por tus artículos. Yo mismo soy un programador de profesión, principalmente .NET, c #. Escribí un Asesor Experto basado en sus artículos sólo para mt5 terminal. Yo uso Keras con soporte de GPU, ahorra tiempo y nervios para la formación de modelos, R y mt5 vinculado a través de R.Net (escribí un dll de biblioteca, puedo publicarlo en github). Probé también H2O, funciona lento, soporte GPU sólo bajo linux, no es adecuado, yo trabajo bajo vindows. Me alegro de que usted también, cambió a Keras en sus artículos. El Asesor Experto mostró buenos resultados para EURUSD 15M, la muestra de datos fue tomada de 2003 a 2017 (formación, pruebas), utilicé sólo tres predictores v.fatl, v.rbci, v.ftlm, más perdictors, los resultados son peores, red neuronal dos capas ocultas densas 1000 neuronas en cada uno (un montón de neuronas no es necesario, tomé 10 en cada capa oculta, también dio buenos resultados). El Expert Advisor es casi igual al tuyo, con pequeñas modificaciones, stop loss 500, take profit 100, no abro más de 10 posiciones, bueno, y cierro todas las posiciones Buy, si hay nuevas posiciones Cell, y viceversa, todo es sencillo, el resto del código es como el tuyo. Bueno, todo este código es sólo para EURUSD, para otras cotizaciones puede ser necesario hacer todo de manera diferente.

Aquí está el resultado del trabajo del Asesor Experto desde 2017 hasta ahora:

Puse el Asesor Experto en una cuenta de centavos, probando durante 2 semanas, hasta ahora funciona en plus. Se invirtió mucho tiempo en buscar un modelo de red neuronal y probarlo, probando diferentes variantes de redes Dense, LSTM, CONV, me detuve en una simple Dense. También la selección de diferentes predictores, su DigFiltr + todo tipo de indicadores, sus predictores mostraron el mejor resultado, sin indicadores adicionales. Creo que esto no es el límite, se puede hacer una EA mucho mejor, ahora voy a tratar de aplicar los conjuntos de sus últimos 2 artículos. Espero tus próximas publicaciones, si quieres, también te informaré de mis éxitos.

Buenos días Eugene.

Me alegro de que los materiales de mis artículos te ayuden. Unas preguntas.

1. Por lo que tengo entendido utilizas keras para R. ¿Escribes scripts en R o Python?

2. La librería gateway que usamos no te funcionó? Ver aquí.

3. Por favor, publica tu versión de la librería y un ejemplo de algún script. Es interesante ver, probar, comparar.

4. Por supuesto yo y creo que muchos entusiastas estaremos muy interesados en seguir tus experimentos.

5. He pensado durante mucho tiempo para abrir un hilo RUSERGroop separado en el que sería posible discutir cuestiones específicas sobre el lenguaje, los modelos sin inundaciones. Sueños...

La aparición de API para Python (reticulate) abre posibilidades casi ilimitadas para construir sistemas de cualquier complejidad. Tengo planes para entrenar con el aprendizaje de refuerzo en tándem con redes neuronales en un futuro próximo.

Escribe sobre tus éxitos, haz preguntas.

Suerte

 
СанСаныч Фоменко:

Vladimir Perervenko

Construiremos redes neuronales utilizando el paquete keras/TensorFlow de Python

Qué pasa con R

keras: Interfaz de R para 'Keras

o

kerasR: R Interface to the Keras Deep Learning Library.

Saludos CC.

Así lo uso yo. keras para R. Probé KerasR, pero debido a que el backend de tensorflow se está desarrollando muy rápido (ya versión 1.8), es más fiable usar el paquete desarrollado y mantenido por el equipo de Rstudio.

Suerte