Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 376

 
elibrarius:

Se encuentra en la sección de formación de parada temprana de ALGLIB con validación:

Entrenamiento de la red neuronal con parada anticipada (algoritmo base - L-BFGS con regularización).
...
El algoritmo se detiene si el error del conjunto de validación aumenta durante mucho tiempo
suficiente o el tamaño del paso es lo suficientemente pequeño (hay tareas en las que
conjunto de validación puede disminuir para la eternidad). En cualquier caso la solución
devuelto corresponde al mínimo de error del conjunto de validación.


Algo me parece mal, porque en la negociación real las barras irán en su propio orden, y no mezcladas con las de hace una hora y un día.
Y si la "naturaleza" del mercado cambia, significa que hay que reaprender o buscar nuevos modelos de NS.


¿Tiene más de 500 enlaces en su cuadrícula? Escriben que L-BFGS es menos eficiente que L-M si hay pocas neuronas
 
Maxim Dmitrievsky:

¿Tiene más de 500 conexiones en su red? Escriben que L-BFGS es menos eficiente que L-M si hay pocas neuronas
Menos hasta ahora, para ahorrar tiempo - etapa de desarrollo, cuando termine me esforzaré en buscar predictores y esquema de red
 
elibrarius:
Menos hasta ahora, para ahorrar tiempo - etapa de desarrollo, cuando haya terminado trabajaré duro para encontrar predictores y diagramas de red


¿Quizás puedas escribir un artículo cuando lo tengas todo resuelto? :) No hay buenos artículos sobre la red neuronal alglibiana, hay uno traducido difícil de digerir.

Artículo tipo de descripción de NS (porque ni siquiera pude encontrar ayuda adecuada para alglib) y ejemplo de aprendizaje/reentrenamiento, auto-optimización en bot. Pues eso, que me he dado cuenta de que no hay suficiente información para estudiar. Es como si incluso pagar por ello ) pasar su tiempo no en vano

 
Maxim Dmitrievsky:


¿Por qué no escribes un artículo cuando lo tengas claro? :) No hay buenos artículos sobre la neurona Alglib, hay uno traducido difícil de entender

Artículo tipo de descripción de NS (porque ni siquiera pude encontrar una ayuda adecuada para Alglib) y ejemplo de aprendizaje/reentrenamiento, auto-optimización en el bot. Pues eso, que me he dado cuenta de que no hay suficiente información para estudiar. Para este tipo de pago más) gastar su tiempo no en vano.

No creo - no encontraré tiempo para un artículo... No encuentro tiempo para escribir un artículo, pero yo mismo estoy empezando a entender la NS, así que no puedo decir nada nuevo/inteligente.

Tomé como base https://www.mql5.com/ru/articles/2279. Lo puse en condiciones de trabajo en 8 horas. Creo que la mayoría de los programadores no se tomarán más tiempo.

Pero ha sido una semana de reajustes, añadiendo opciones, pruebas, etc.
Нейросеть: Самооптимизирующийся советник
Нейросеть: Самооптимизирующийся советник
  • 2016.10.03
  • Jose Miguel Soriano
  • www.mql5.com
Возможно ли создать советник, который согласно командам кода автоматически оптимизировал бы критерии открытия и закрытия позиций с определенной периодичностью? Что произойдет, если реализовать в советнике нейросеть (многослойный персептрон), которая, будучи модулем, анализировала бы историю и оценивала стратегию? Можно дать коду команду на ежемесячную (еженедельную, ежедневную или ежечасную) оптимизацию нейросети с последующим продолжением работы. Таким образом возможно создать самооптимизирующийся советник.
 
elibrarius:
No lo creo, no tendré tiempo para un artículo el 100% de las veces... Además, yo mismo estoy empezando a entender la NS, así que no puedo decir nada inteligente/nuevo.

Tomé como base https://www.mql5.com/ru/articles/2279. Lo puse en condiciones de funcionar en 8 horas. Creo que la mayoría de los programadores no se tomarán más tiempo.

Pero ha sido una semana de reajustes, añadiendo opciones adicionales, pruebas, etc.


Sigo mirando hacia el clasificador bayesiano + la genética, no son malos resultados. Con las rejillas es un poco confuso en mi cabeza, un montón de matices

Sí, me refiero al mismo artículo, no me pareció muy aceptable, aunque soy más comerciante que programador )

 
La situación con la mezcla de los resultados sigue sin estar clara:

Entrenamiento de parada temprana en datos no mezclados:

Error medio en el entrenamiento (80%) gráfico =0,535 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Error medio en la sección de validación (20%) =0,298 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Gráfico completo (gráfico de entrenamiento + validación):
Error medio de aprendizaje=0,497 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Error medio en la prueba (20%) sección =0,132 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6

Se siente como si hubiera un ajuste a la trama de validación. El de la prueba es bueno, pero no estaba en formación y no se comparó, probablemente sea una coincidencia.
El mismo fay cuenta conjuntos, y hay una división de 2/3 y todo se mezcla entre ambas parcelas, voy a tratar de hacer lo mismo...
Lo barajé:

Error medio en el área de entrenamiento (60%) =0,477 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Error medio en la sección de validación (40%) =0,472 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Gráfico completo (gráfico de entrenamiento + validación):
Error medio de aprendizaje=0,475 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Error medio en la prueba (20%) sección =0,279 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6

Al mezclar, el error se ha igualado en las secciones de entrenamiento y validación.
Y en la prueba se puso peor.

Algo me parece mal para mezclar los datos y luego dividirlos en secciones de entrenamiento y validación, porque en la negociación real las barras seguirán su propio orden, y no se mezclarán con las de hace una hora, un día o una semana. Del mismo modo, para los algoritmos de validación cruzada, la sección de validación está al principio, luego en el medio y luego al final.
Y si la "naturaleza" del mercado cambia, significa que tenemos que reaprender o buscar nuevos modelos de NS.

Y si no mezclas y convalidas en el último tramo, ¿cómo evitas encajar en ese tramo?
 
Elibrarius:
4 parcelas ¿se resuelve? Formación/validación/prueba1/prueba2 ?

¿Cuántos ciclos de formación/validación hay que hacer? No he visto ninguna información al respecto en ningún sitio.... ¿1 ciclo en total? - ¿y justo después aprobamos o cambiamos algo en el conjunto de predictores o en el esquema de la red? Más concretamente en N ciclos de entrenamiento se nos mostrará una mejor.


La sección de prueba2 es un veredicto: no hay coincidencia, entonces empezamos de nuevo, preferiblemente con un conjunto de predictores


PS.

Por cierto, también hay un probador, el veredicto final del TS.

 
elibrarius:
La situación con la mezcla de los resultados sigue sin estar clara:

Aprendizaje de parada temprana en datos no intermitentes:

Error medio en la muestra de entrenamiento (80%) =0,535 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Error medio en la validación (20%) sección =0,298 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Gráfico completo (gráfico de entrenamiento + validación):
Error medio de aprendizaje=0,497 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
Error medio en la prueba (20%) sección =0,132 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6

Se siente como si hubiera un ajuste a la trama de validación. El de la prueba es bueno, pero no estaba en la formación y no se comparó, probablemente sea una coincidencia.
El mismo fay cuenta conjuntos, y hay una división de 2/3 y todo se mezcla entre ambas parcelas, voy a tratar de hacer lo mismo...
Lo barajé:

Error medio en el área de entrenamiento (60%) =0,477 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Error medio en la validación (40%) sección =0,472 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Gráfico completo (gráfico de entrenamiento + validación):
Error medio de aprendizaje=0,475 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
Error medio en la prueba (20%) sección =0,279 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6

Debido a la mezcla, el error se iguala en las secciones de entrenamiento y validación.
Y en la prueba se puso peor.

Parece un error mezclar los datos y luego dividirlos en secciones de entrenamiento y validación, porque en la negociación real las barras seguirán su propio orden, y no se mezclarán con las de hace una hora, un día o una semana. Del mismo modo, para los algoritmos de validación cruzada, la sección de validación está al principio, luego en el medio y luego al final.
Y si la "naturaleza" del mercado cambia, significa que tenemos que reaprender o buscar nuevos modelos de NS.

Y si no mezclas y convalidas en la última sección, ¿cómo evitas encajar en esta sección?


1. Según tengo entendido, no se entrena nada en absoluto, sino que se obtiene un resultado aleatorio con predictores que no tienen nada que ver con la variable objetivo.


2. Revolviendo.

No conozco a NS.

Pero en muchos otros algoritmos de MO, el aprendizaje se realiza exactamente en una línea. Se toma un valor de cada predictor y se le asigna la variable objetivo. Por lo tanto, barajar es irrelevante. Hay algoritmos de MO que tienen en cuenta a los vecinos.

Pero de todos modos nuestros puntos de vista coinciden e inicialmente siempre hago las pruebas en test2 sin barajar.


PS.

Una vez más.

Si el error en dos muestras diferentes es diferente como la suya - significa que su sistema no tiene remedio, sólo para ser desechado.

 

vagando por el pozo negro sin fondo llamado internet, me encontré con este papel.

Artificial Neural Networks architectures for stock price prediction:comparisons and applications

En otras palabras, la arquitectura de NS para la predicción de acciones - comparación y aplicación

Archivos adjuntos:
 
elibrarius:
La situación de los resultados de la mezcla sigue sin estar clara:


Algo me parece mal para mezclar los datos y luego dividir en entrenamiento y validación, porque en una operación real las barras irán en su propio orden, no mezcladas con las de hace una hora, día o semana. Del mismo modo, para los algoritmos de validación cruzada, la sección de validación está al principio, luego en el medio y luego al final.
Y si la "naturaleza" del mercado cambia, significa que tenemos que reaprender o buscar nuevos modelos de NS.

Y si no mezclas y convalidas en el último tramo, ¿cómo evitas encajar en ese tramo?

Después de dividir en tren/test/válido , baraja el tren. No mezclar el resto de los conjuntos.
Esto es válido para la clasificación por redes neuronales. Además, al entrenar redes neuronales profundas, hay que mezclar cada minilote antes de alimentar la red neuronal.

Buena suerte