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

 
Andrey Dik:

Es decir, es útil hacerlo. Así que en lugar de 4 splits, que obviamente no son suficientes, deberías hacer 40 splits. Para 4 núcleos se tardará 10 veces más en calcular, pero supongo que se puede sacrificar tiempo en favor de la robustez.

No obviamente.

Por ejemplo, esperar 10 horas para los cálculos en lugar de 1 hora es inaceptable para el daytrading. Aunque dejemos el ordenador toda la noche, obtendremos un modelo sobre datos inevitablemente desfasados.

Por tanto, es necesario llegar a un compromiso razonable entre el tiempo de cálculo y la calidad de la simulación. Y la variante más óptima es paralelizar todo lo que pueda ser calculado en paralelo, mientras que todo lo que no pueda ser paralelizado debe ser calculado secuencialmente.

Como último recurso, puedes ampliar el número de núcleos o crear un clúster informático con varios ordenadores personales.

Y ni siquiera estoy hablando del hecho de que el código del algoritmo de aprendizaje automático a menudo también tiene algunas posibilidades de optimización.

También es posible que una parte de la multitarea se transfiera de la CPU a la GPU.

Es decir, hay muchas soluciones potenciales al problema (la lista puede seguir) y "hacer una joroba" en el software no es la mejor de ellas y, como demuestra la experiencia, suele ser la más inadecuada.

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
Yury Reshetov:

No es obvio.

Por ejemplo, esperar 10 horas en lugar de 1 hora para los cálculos es inaceptable para el daytrading. Incluso si dejas el ordenador toda la noche, obtendrás un modelo con datos obviamente obsoletos.

Por tanto, es necesario llegar a un compromiso razonable entre el tiempo de cálculo y la calidad de los modelos. Y la mejor manera es paralelizar todo lo que puede ser calculado en paralelo, mientras que todo lo que no puede serlo debe ser calculado secuencialmente.

Como último recurso, es posible actualizar a un mayor número de núcleos, o construir un clúster informático de varios ordenadores personales.

Y ni siquiera estoy hablando del hecho de que el código del algoritmo de aprendizaje automático a menudo también tiene algunas posibilidades de optimización.

También es posible que parte de la multitarea se traslade de la CPU a la GPU.

Es decir, hay muchas formas posibles de resolver el problema (la lista puede continuar) y "hacer una oreja de cerdo" en el software no es la mejor solución y, como demuestra la experiencia, suele ser la más inadecuada.

No estoy insistiendo en la "opción de la joroba", sólo pregunto: cuantas más variantes se dividan los datos, mejor formación se puede obtener haciendo un análisis de los resultados. Digamos que en el 90% de los casos vemos que el modelo produce resultados adecuados en los datos de prueba y sólo en el 10% se produce un sobreentrenamiento, lo que significa que el modelo vale algo en sí mismo. Y si es al revés, vale la pena reciclar. Y si se dividen los datos en sólo 4 variantes diferentes, la probabilidad de obtener un modelo sobreentrenado es extremadamente alta.

De nuevo, no estoy tocando los aspectos de "hardware", sólo especificando los de "software".

 
Vizard_:
...
No tener ventaja sobre los conocidos..... pero nadie lo creerá))

Dé un ejemplo concreto de los conocidos ... que "tienen ventajas".

Y de ti nada más que críticas sin fundamento, que siempre terminan con que no das una muestra, no enseñas el software (todo estrictamente clasificado, se eliminan los testigos). Pero sacas unas cifras irreales que nadie, excepto tú, puede confirmar ni desmentir.

Pregunta banal para una rienda: si, según las citas, "tienes la oportunidad de recibir" el 92% y kopecks de capacidad de generalización, ¿por qué sigues enfrascado en la crítica vacía de que algunos no "tienen ventajas con lo conocido...", y no te dedicas a comprar: fábricas, periódicos, barcos de vapor, islas, yates, etc.? ¿Y cuándo podré ver tu cara en la portada de Forbes?

 
Alexey Burnakov:


Existen reglas claras para tratar las interacciones en los modelos lineales. Son un poco más complicados que el tratamiento de combinación lineal:https://www.r-bloggers.com/interpreting-interaction-coefficient-in-r-part1-lm/

Pero hay que rebuscar entre un montón de combinaciones para encontrar interacciones significativas. Eso sí que es un fastidio.

He echado un vistazo, gracias.

Mi perplejidad no ha hecho más que aumentar tras su lectura, aunque con una nueva comprensión de la palabra "interacción".

Mi desconcierto se basa en el hecho de que cualquier cifra en las estadísticas debe tener algún tipo de contenido.

Tomemos esta ecuación lm

zz ~ rsi*stoch

Individualmente, cada indicador tiene un significado determinado, pero ¿cuál es el significado de su producto? ¿Qué significa esta "interacción"? ¿O simplemente obtenemos un nuevo predictor de contenido desconocido y vemos cómo afecta a la variable objetivo?

 
SanSanych Fomenko:

He echado un vistazo, gracias.

Mi perplejidad no ha hecho más que aumentar tras su lectura, aunque con una nueva comprensión de la palabra "interacción".

Mi perplejidad se basa en el hecho de que cualquier cifra en las estadísticas debe tener algún tipo de contenido.

Tomemos esta ecuación lm

zz ~ rsi*stoch

Individualmente, cada indicador tiene un significado determinado, pero ¿cuál es el significado de su producto? ¿Qué significa esta "interacción"? ¿O simplemente obtenemos un nuevo predictor de contenido desconocido y vemos cómo afecta a la variable objetivo?

Es divertido escucharte a veces )

De la multiplicación no se obtiene físicamente ninguna entidad nueva, aunque la interacción cuenta exactamente como una multiplicación en la regresión clásica.

El ángulo de inclinación del primer predictor dependerá del nivel del segundo predictor. Esta es la esencia de la interacción. Esto es una simplificación. Hay matices. Pero conociendo todos los coeficientes de dicho nivel podemos decir que, por ejemplo, el aumento del nivel x1 en 1 aumentará el nivel objetivo en 0,1 cuando el nivel x2 = 3. Así que es así.

 
Andrey Dik:

No insisto en la "variante de la joroba", sólo pregunto: cuantas más variantes se dividan los datos, mejor será el entrenamiento y el análisis de los resultados.

...

Una vez más, no estoy tocando aspectos de "hardware", sólo especificando los de "software".

Digamos que cualquier tonto podría introducir un bucle de 10 iteraciones y aumentar el tiempo de cálculo en un orden de magnitud por una reducción insignificante de la probabilidad de irregularidad de las distribuciones de patrones en partes de una muestra. El código fuente de jPrediction es de dominio público y está disponible para ser modificado por cualquiera que lo desee.

Me interesa mucho más dedicar mi tiempo y esfuerzo a conseguir objetivos de una forma más prometedora: crear un algoritmo que sea menos exigente en cuanto a recursos computacionales y de tiempo de computación para entrenar modelos con mayor generalizabilidad.

 
Yury Reshetov:

Digamos que cualquier tonto puede tomar un ciclo de 10 iteraciones y aumentar el tiempo de cálculo en un orden de magnitud en aras de una reducción insignificante de la probabilidad de irregularidad de las distribuciones de patrones en partes de una muestra. El código fuente de jPrediction está disponible públicamente y es accesible para su modificación a cualquiera que lo desee.

Estoy mucho más interesado en dedicar mi tiempo y esfuerzo a conseguir un objetivo similar de una forma más prometedora: crear un algoritmo que sea menos exigente con los recursos computacionales y de tiempo de un ordenador.

Yuri, no te estoy pidiendo que cambies o modifiques nada de tu software, e incluso no sé nada de Java, así que, aunque he querido mirar tu código, no entiendo nada de lo que hay.

Sólo hago una pregunta teórica, ¿qué opinas, será útil si existe la posibilidad de dividir los datos en tantas variantes como sea posible? Sí o no.

 
Andrey Dik:

...

Sólo una pregunta teórica, ¿crees que serviría de algo poder desglosar los datos en el mayor número de opciones posible? Sí, o no.

No tiene sentido debatir sobre tareas que se trivializan por "el número, no la habilidad". Por ejemplo, si una excavadora puede cavar una zanja a una distancia de n metros en un día, entonces m excavadoras pueden cavar la misma zanja a una distancia de m*n metros durante el mismo tiempo. ¿Qué hay que discutir? Si el tiempo de excavación de una zanja es crítico, hay que dividir el tiempo que queda antes de la fecha límite en días por la distancia que puede excavar una excavadora al día y prever algunos excavadores adicionales para imprevistos. La solución es trivial y no hay nada que discutir.

Es posible discutir las tareas, cuya solución no es tan trivial, por ejemplo, ¿cómo aumentar la productividad de la excavación de la misma zanja por menos excavadores para el mismo tiempo? Ya hay opciones emergentes, por ejemplo: sustituir las excavadoras por un excavador o mejorar sus palas, etc., etc.

 
Yury Reshetov:

No tiene sentido discutir problemas que se resuelven trivialmente con "números, no con habilidad". Por ejemplo, si una excavadora puede cavar una zanja de n metros en un día, entonces m excavadoras pueden cavar la misma zanja de m*n metros en el mismo tiempo. ¿Qué hay que discutir? Si el tiempo crítico para cavar una zanja, hay que dividir el tiempo que queda antes del plazo por el número de excavadores y prever varios excavadores adicionales para circunstancias imprevistas. La solución es trivial y no hay nada que discutir.

Se puede hablar de tareas cuya solución no es tan trivial, por ejemplo, ¿cómo aumentar la productividad de la excavación de la misma zanja con menos excavadores durante el mismo tiempo? Ya están surgiendo opciones, por ejemplo: sustituir las excavadoras por las palas, o mejorarlas, etc., etc.

La respuesta es florida, la tomo como un sí.

Supongamos que tengo un rack de 64 clusters en casa, cada uno con 4 CPUs de 8 núcleos, ¿por qué no voy a utilizarlo para este fin? Sobre todo si me hace bien.

 

En 191 páginas nos hemos quejado para nada. Es hora de que todos se vayan a casa con las manos vacías.

Ver https://www.mql5.com/ru/forum/3457/page3396#comment_2939962

Cito:

Vladimir Karputov:

Eso es todo. El aprendizaje automático ya no es necesario. A todo el mundo le gana una suite ofimática normal

Интересное и Юмор
Интересное и Юмор
  • www.mql5.com
Форум трейдеров MQL5.community