Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 395
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Por aquel entonces todavía estaba empezando a aprender R, el script está generado casi en su totalidad en rattle (entorno visual para datamining en R), por eso es tan complejo y personalizado para todas las ocasiones.
Este
debería cambiarse por...
Debería estar bien.
En general es un mal enfoque, no se debe definir la importancia de los insumos de esta manera. Por alguna razón, esa vez funcionó, pero nunca me ha vuelto a ayudar.
Experimenté un poco más...
Si se colocan 1 - 2 neuronas en una capa oculta, las entradas importantes son varias veces diferentes:
152,33, 7,82, 132,57, 12,19, 132,86, 10,54, 135,56, 19,16, 137,32, 14,84, 127,36, 7,43, 11,35, 6,66, 13,6, 10,18, 10,74, 10,66, 11,18, 8,95 (1 neurona)
Si se fija en 10 (como en su segundo experimento), los pesos se desparraman por las neuronas y no se pueden distinguir las importantes de las ruidosas:
113963.27, 91026.57, 100833.22, 134980.44, 154190.05, 146455.03, 198703.01, 135775.2, 184353.78, 160766.79, 152433.73, 105753.11, 151673.83, 135421.64, 165343.94, 70277.93, 175038.87, 150342.56, 59153.02, 121012.76 (10 neuronas)
Aparentemente para ese problema lógico, 1 neurona es óptima.
Y prueba los árboles de decisión de alglib, cuentan más rápido y tienen mejor valor que mlp. Diplerning también es más rápido, pero no en alglib.
Lo principal es la relación velocidad/calidad, de qué sirve esperar una semana o incluso un día o hasta una hora para conseguir la combinación adecuada, nunca lo conseguirás). Si el modelo tarda unos segundos en aprender, entonces se puede utilizar la genética para la autosimulación de parámetros o predictores, entonces es pura IA, de lo contrario es una basura)
Con la primera columna eliminada no es el 5%, pero es mucho peor...
Forest da casi el mismo error que MLP (pero cuenta más rápido)
Error medio en la parcela de entrenamiento (60,0%) =0,264 (26,4%) nTrees=100 codResp=1
Error medio en la validación (20,0%) parcela =0,828 (82,8%) nTrees=100 codResp=1
Error medio en la prueba (20,0%) plot =0,818 (81,8%) nTrees=100 codResp=1
Con la primera columna eliminada, ya no es el 5%, sino que es mucho peor...
Forest da casi el mismo error que MLP (pero cuenta más rápido)
Error medio en la parcela de entrenamiento (60,0%) =0,264 (26,4%) nTrees=100 codResp=1
Error medio en la validación (20,0%) parcela =0,828 (82,8%) nTrees=100 codResp=1
Error medio en la prueba (20,0%) plot =0,818 (81,8%) nTrees=100 codResp=1
sí, el mlp clásico no tiene ninguna ventaja sobre el forest, al menos para mí el forest siempre gana en rapidez y calidad
por cierto, el diplerning puede que tampoco sea una ventaja... ya que en estudio la red neuronal es similar al diplerning - ni siquiera hay capas, sino que hay varias redes convolucionales... como los autocodificadores, que se inicializan en serie (al menos eso es lo que dice), pero los resultados siguen siendo peores que los de forest
No sé qué decir. Sólo para dar un ejemplo del informe. El resultado de la optimización se ve así y puedes interpretarlo como quieras, pero cuando la optimización termina, el resultado se ve así.
* Sensibilidad de la capacidad de generalización: 55,12820512820513%.
* Especificidad de la capacidad de generalización: 55,5045871559633%.
* Capacidad de generalización: 55,309734513274336%.
* TruePositives: 129
* FalsosPositivos: 105
* VerdaderosNegativos: 121
* FalsosNegativos: 97
* Total de patrones en las muestras con estadísticas: 452
En rojo, he resaltado el resultado global de la capacidad de generalización. El primero es el porcentaje de aciertos de unos, el segundo es el porcentaje de aciertos de ceros y el tercero es el total.
El clasificador de Reshetov da mejores resultados que el mlp al menos, y no se reentrena, esa es su ventaja... pero tarda mucho en contar con su conjunto, ayer tuve 2 horas para contar y hoy he continuado de nuevo tras la hibernación... estoy esperando a que termine de contar para poder comparar los errores :)
Sin embargo, quiero reescribirlo a mql5 y convertirlo a OpenCL aquí para un uso más eficiente. Entonces alquila una nube de google y calcula una red neuronal en minutos (¿segundos?) en tesla, o compra el Tesla por 500 000 :) De 3000 núcleos cuda
El clasificador de Reshetov da mejores resultados que el mlp al menos, y no se reentrena, esa es su ventaja... pero tarda tanto en contar con su conjunto, ayer conté 2 horas y hoy de nuevo continué después de hibernar... esperando a que termine de contar para poder comparar errores :)
Sin embargo, quiero reescribirlo en mql5 y convertirlo a OpenCL aquí para un uso más eficiente. Entonces alquila una nube de google y calcula una red neuronal en minutos (¿segundos?) en Tesla, o compra el Tesla por 500 000 :) Para 3000 núcleos cuda
Esta es su gran ventaja: no se vuelve a entrenar, aunque el modelo se complique cada vez más. Así, obtenemos el modelo más complejo (grande) que no se reentrena. Así que el modelo resulta más inteligente, algo así como tapka. Ya estaba pensando en el coprocesador matemático Intel Xeon, pero cuesta 200 k. Hay 60 núcleos y 120 núcleos lógicos. Piénsalo, ¿cómo puedes construir un modelo en 5 segundos, procesando incluso esto como dices no es un gran conjunto y obtener un modelo adecuado al proceso no estacionario más complejo como moneda kotir???? Para conseguir un modelo adecuado, es necesario dedicar suficiente tiempo de máquina. Entonces el modelo será adecuado y durará más tiempo.
Todavía me gustaría ejecutarlo en una GPU. Al menos 10 veces el rendimiento y sería bueno.... ¿Tal vez funcione después de todo?
Los resultados de la evaluación de la importancia son los siguientes. Cuanto más alto sea el predictor en la tabla, mejor. SóloVVolum6, VDel1, VVolum9, VQST10 pasaron la prueba.
En rattle podemos construir 6 modelos a la vez sobre estos 4 predictores, y SVM muestra una precisión de alrededor del 55% en los datos de validación y prueba. No está mal.
Pues genial, ahora el optimizador está contando, no sé ni cuando terminará, pero definitivamente le lanzaré estas entradas y veré lo que da, como será este modelo..... Gracias.
Pero tarda una barbaridad en contar con tu seth, ayer tardé 2 horas y hoy ha vuelto a continuar tras la hibernación... Estoy esperando a que termine de contar para poder comparar errores :)
Sin embargo, quiero reescribirlo en mql5 y convertirlo a OpenCL aquí para un uso más eficiente. Entonces alquila una nube de google y calcula una red neuronal en minutos (¿segundos?) en tesla, o compra el Tesla por 500 000 :) Para 3000 núcleos cuda
De nuevo, ¿cuántos núcleos se utilizan en los cálculos? Tengo 4 núcleos cargados al 100% y no me he atrevido a correr un juego completo de 452 líneas, porque siento que es una semana, no menos.....
De nuevo, ¿cuántos núcleos se utilizan en los cálculos? Tengo 4 núcleos cargados al 100% y no me he atrevido a ejecutar el conjunto completo de 452 líneas, porque siento que es una semana, no menos.....
De todas formas, me metí con la última versión del programa, donde hay paralelismo, pero la última versión funciona de forma diferente a la primera, hay 2 redes neuronales en la comisión, mlp y autor, y luego interactúan a la hora de obtener resultados, mucho código, respeto al autor :) ¿Hay alguna descripción de la última versión, la teoría?
Hay algo muy duro en el uso de esto en particular. Habrá que dedicar mucho tiempo a estudiar el código.
Intenta contactar con el propio autor y llámale, a lo mejor lo paraliza él mismo... ya que hay un gesto
Esa es su gran ventaja: no se reentrena y el modelo se complica cada vez. Así, obtenemos el modelo más complejo (grande), que no se reentrena. Así que el modelo resulta más inteligente, algo así como tapka. Ya estaba pensando en el coprocesador matemático Intel Xeon, pero cuesta 200 k. Hay 60 núcleos y 120 núcleos lógicos. Piénsalo, ¿cómo puedes construir un modelo en 5 segundos, procesando incluso esto como dices no es un gran conjunto y obtener un modelo adecuado al proceso no estacionario más complejo como moneda kotir???? Para conseguir un modelo adecuado, es necesario dedicar suficiente tiempo de máquina. Entonces el modelo será adecuado y funcionará durante más tiempo.
Todavía me gustaría ejecutarlo en una GPU. Al menos 10 veces el rendimiento y sería bueno.... Tal vez funcione después de todo.
De todas formas, he escarbado en la última versión del programa, donde hay paralelismo, pero la última versión funciona de forma diferente a la primera, hay 2 redes neuronales en la comisión, la de mlp y la del autor, y luego interactúan a la hora de obtener resultados, mucho código, respeto al autor :) ¿Hay alguna descripción de la última versión, la teoría?
Hay algo muy duro en el uso de esto en particular. Habrá que dedicar mucho tiempo a estudiar el código.
Intenta contactar con el propio autor y llámale, quizás lo paralice él mismo... ya que hay un gesto
Creo que no podré comunicarme con el autor, le he escrito de ambas maneras. No dice nada. Pero que yo sepa, él ha escrito que ha paralizado todo en él. Sí, se están formando dos parrillas que trabajan en la comisión. Lo escribí en mi artículo. Si ambos muestran que sí, entonces sí, si no, entonces no, si ambos son mixtos entonces "no sé". No sé acerca de la última versión, pero la descripción se basa en google, el enlace que me diste. Una vez corrió la versión 3 en el servidor WWW y para mi decepción el optimizador carga sólo un núcleo, pero las versiones recientes cargar todos los núcleos de manera uniforme, así que creo que disparallelling todavía hay. Sólo quedaba una pequeña cosa por hacer. Para aumentar el número de núcleos :-)