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

 
Dimitri:

Bizancio ya no existía a principios del Renacimiento, Constantinopla era la capital del Imperio Otomano y las Cruzadas habían terminado 200 años antes

No bromees...

La reactivación se divide en cuatro etapas:

  1. Proto-Renacimiento (2ª mitad del siglo XIII al siglo XIV)
  2. Primer Renacimiento (de principios del siglo XV a finales del siglo XV)
  3. Alto Renacimiento (finales del siglo XV - primeros 20 años del siglo XVI)
  4. Renacimiento tardío (de mediados del siglo XVI a la década de 1590)

La Cuarta Cruzada de 1202-1204 (es el comienzo del siglo XIII)

Después de saquear la ciudad más rica y grande de Europa... Ellos (los cruzados) establecieron un estado con Constantinopla como capital, el Imperio Latino. La lucha contra los conquistadores duró más de 50 años. En 1261 cayó el Imperio Latino. Bizancio fue restaurado, pero nunca pudo alcanzar su antiguo poder.

A lo largo de 50 años de saqueo y de vida en Bizancio, los europeos recién enriquecidos (principalmente Venecia, que hacía todo el transporte marítimo y sus distritos) desarrollaron el gusto por la vida bonita, empezaron a pagar bien a la gente creativa. Los creativos contrataban/formaban aprendices, que luego destacaban como profesores, etc. Y así fue, poco a poco.

 
La opinión de muestreo de CatBoost es necesaria, allí se necesitan dos muestras para el entrenamiento. La primera es la función de optimización, y la segunda es la selección del modelo, es decir, cuándo esta función debe detener su trabajo para evitar el sobreentrenamiento, y para ello se aplican los resultados del entrenamiento a la segunda muestra. Estoy pensando, de hecho resulta que estamos buscando un patrón en la muestra de entrenamiento de 2014-2016, luego probando este patrón en 2016-2017, y probando independientemente el modelo ya en la tercera muestra en 2018-2019. Me confunde una dispersión temporal tan grande, o más bien incluso dudo que necesitemos una muestra grande para la prueba, porque queremos captar un patrón estable durante un largo periodo de tiempo, pero la duración de este patrón no la conocemos... Estoy pensando que es suficiente con poner 2-3 meses en la muestra de prueba, lo que revelará una tendencia que es cíclica y se repetirá antes y después, pero entonces existe el riesgo de que antes de revelar esta ciclicidad en la muestra de entrenamiento el modelo agrupe demasiados árboles que describan otra cosa, y sólo entonces construirá árboles que describan una tendencia en la muestra de prueba. De todos modos, en la duda, no se sabe cómo hacer un experimento que ayude a determinar cuánto debe durar cada una de las tres muestras. ¿Alguien tiene alguna idea sobre esto?
 
Elibrarius:

A lo largo de 50 años de saqueo y vida en Bizancio, los europeos recién enriquecidos (principalmente Venecia, que hacía todo el transporte marítimo y sus condados) desarrollaron el gusto por la vida bonita y empezaron a pagar bien a los creativos. Los creativos contrataban/formaban aprendices, que luego destacaban como profesores, etc. Y así fue, poco a poco.

Pero, por supuesto, esto es IMHO.

Un presentador de televisión europeo dijo que la caída de Constantinopla fue una bendición, ya que a pesar de los cientos de miles de víctimas y la destrucción, la gente educada inundó Europa y fue contratada de buena gana y esto les devolvió parte del conocimiento perdido del Imperio Romano, lo que contribuyó a la salida de la Edad Media.

Es decir, incluso actos blasfemos como la guerra, incluso ahora, se presentan como una buena acción para toda la humanidad... La historia la escriben los vencedores.

 
Aleksey Vyazmikin:
pero entonces existe el riesgo de que antes de revelar esta ciclicidad en la muestra de entrenamiento, el modelo haga demasiados árboles que describan otra cosa, y sólo entonces construya árboles que describan la tendencia en la muestra de prueba.

Ni los árboles ni NS separan las cadenas por tiempo, incluso las barajan. Así que no se construyen "entonces" árboles. Todos ellos se basan en datos barajados uniformemente. Las filas de 2014 y 2016 pueden estar una al lado de la otra.

Si el NS no baraja las filas, sólo volverá a entrenar en los primeros ejemplos y llegará a un punto muerto y los últimos datos no terminarán de aprenderlos. Después de barajar las filas, NS aprende uniformemente. No es necesario barajar las filas si r=1 (proporción de filas para aprender un árbol), pero normalmente se establece <1 para evitar el sobreentrenamiento, por lo que también hay que barajar, así que con r=0,5 no se toman sólo los datos de 2014 y 2015.

Aleksey Vyazmikin:
No consigo averiguar cómo hacer un experimento que ayude a determinar la longitud de cada una de las tres muestras. ¿Tiene alguna idea al respecto?

Creo que también hay que optimizar esto. Pero creo que el número de líneas no debería ser inferior a 1000-10000, para que la muestra sea representativa y promedie todas las desviaciones aleatorias. De lo contrario, se puede encajar un sesgo aleatorio en una muestra pequeña.

 
Aleksey Vyazmikin:

En un programa europeo se decía que la caída de Constantinopla fue una bendición, ya que a pesar de los cientos de miles de víctimas y la destrucción, en Europa afluyeron personas instruidas, que fueron contratadas de buen grado y así se consiguió recuperar parte del conocimiento perdido del Imperio Romano, lo que contribuyó a la salida de la Edad Media.

Es decir, incluso actos blasfemos como la guerra, incluso ahora, se presentan como una buena acción para toda la humanidad... La historia la escriben los vencedores.

Por supuesto, cada uno percibe el bien para sí mismo. Para los europeos, por supuesto, se trata de una buena acción de saqueo de las finanzas y los cerebros. Para los bizantinos esto no es una bendición, para muchos fue la muerte.

No lo recuerdo con exactitud, pero en el periodo de su edad de oro los impuestos anuales bizantinos ascendían a unas 2-4 mil toneladas de oro. Incluso para nuestra época es una cantidad muy buena para muchos países. Pero puedo equivocarme en las cifras - hace unos años vi una película, que lo contaba. Si está interesado, eche un vistazo. Me lo encontré por casualidad al principio de la película: sólo las monedas sacaron varios cientos de toneladas.


 
elibrarius:

Ni los árboles ni los NS separan las cadenas por tiempo, incluso las barajan. Por lo tanto, no se construyen árboles "a posteriori". Todos ellos se basan en datos barajados uniformemente. Las filas de 2014 y 2016 pueden estar una al lado de la otra.

No es posible que haya dejado claro mi punto de vista.

Mira, construimos un árbol en una muestra de entrenamiento, cubrió el 10% de la muestra (Recall) y así digamos 20 árboles, cada uno añade allí 3%-7% a Recall, pero eso es en la muestra de entrenamiento, mientras que en la muestra de prueba, tal vez sólo 5 y 6 árboles darán generalmente alguna respuesta en la integridad y la precisión, y los árboles antes y después serán entonces el ruido, pero si esos "después" son cortados por el algoritmo, entonces esos "antes" permanecerán. Así, obtenemos un modelo que tiene árboles que ayudan a la clasificación y árboles que la dificultan o que simplemente se comportan de forma pasiva. Por eso, la cuestión es el tamaño de la muestra de prueba y su llenado.

Tengo unas 14 cuerdas en total y necesito dividirlas en 3 muestras.

Quizás para este tipo de modelos sea eficiente cortar diferentes trozos de muestra y luego probar los modelos resultantes en toda la muestra para comprobar su solidez... En la contemplación.

 
Elibrarius:

El bien es, por supuesto, una percepción de cada individuo. Para los europeos, por supuesto, fue una bendición en forma de robo de finanzas y cerebros. Para los bizantinos no es una bendición, para muchos fue la muerte.

No recuerdo exactamente pero en el apogeo de Bizancio los impuestos anuales eran de unas 2 a 4 mil toneladas en oro. Incluso para nuestra época, es una cantidad muy buena para muchos países. Pero podría equivocarme en las cifras; hace unos años vi una película que lo decía. Si está interesado, eche un vistazo. Accidentalmente se encontró al principio de la película - sólo las monedas sacaron varios cientos de toneladas.


Le echaré un vistazo al vídeo, gracias, pero prefiero ver de los japoneses o de alguien independiente...

 
Aleksey Vyazmikin:
Tal vez sólo el árbol 5 y el 6 den alguna respuesta en cuanto a integridad y precisión, y los árboles anteriores y posteriores serán entonces ruido, pero si los "posteriores" serán podados por el algoritmo, los "anteriores" se quedarán.

¿Qué algoritmo cortará árboles de un bosque ya construido? El bosque terminará de crecer cuando alcance un determinado número o por algún otro método, cuando considere que ha aprendido bien. Si tienes poda durante el aprendizaje, tendrá un efecto positivo en el error en el tren (y si lo tienes en el válido).

En general, por supuesto, una parte de los árboles votará a favor y otra en contra. Y es imposible deshacerse de él, porque es lo que permite que el bosque aprenda bien, a diferencia de los árboles individuales, debido al promedio de votos. Cuando se hace un boosting, sólo el primer árbol aprende de los datos, todos los demás de los errores.

 
elibrarius:

¿Qué algoritmo cortará árboles de un bosque ya construido? El bosque terminará de crecer cuando alcance un determinado número o por algún otro método, cuando considere que ha aprendido bien. Si hay una poda durante el entrenamiento, tendrá un efecto positivo en el error en el tren (y si está disponible en el válido).

Qué algoritmo va a podar - por lo que CatBoost lo hace en el entrenamiento, allí se puede establecer un parámetro que si 10 (tantos como usted especifique) nuevos árboles no mejoraron el resultado, entonces se toma el modelo sin estos últimos 10 árboles, y respectivamente es el mejor de lo que está disponible.

elibrarius:

Cuando se hace un boosting, sólo el primer árbol aprende de los datos, todos los demás de los errores.

Un dicho interesante. Sin embargo, los árboles posteriores se construyen para reducir el error de la composición del árbol existente, pero no entiendo por qué no utilizan el muestreo entonces, dime con más detalle, tal vez no entiendo algo en profundidad...

 
Aleksey Vyazmikin:

Un dicho interesante. Sin embargo, los árboles posteriores se construyen para reducir el error de la composición del árbol existente, pero no entiendo por qué no utilizan el muestreo entonces, dime con más detalle, tal vez me estoy perdiendo algo en profundidad...

Sí, para reducir el error toman exactamente los errores como objetivo, y luego lo restan.

Este es el algoritmo de boosting, lo estoy estudiando yo mismo https://neurohive.io/ru/osnovy-data-science/gradientyj-busting/


1. Establecer regresión lineal o árbol de decisión sobre los datos (aquí elegido árbol de decisión en el código) [llamar a x como entrada e y como salida ] (1árbol entrenado sobre los datos)

2. Calcule los errores de error. Valor objetivo real, menos el valor objetivo previsto [e1 = y - y_predicted1]

3. establecer un nuevo modelo para los valores atípicos como variable objetivo con las mismas variables de entrada [llamarlo e1_predicted] (2 y el resto de los árboles se entrenan sobre los errores)

4. Añade los valores atípicos predichos a las predicciones anteriores
[y_predicted2 = y_predicted1 + e1_predicted]

5. establecer otro modelo para los errores restantes. es decir, [e2 = y - y_predicted2], y repetir los pasos 2 a 5 hasta que se sobreajusten, o la suma se vuelva constante. El control de la sobreadaptación puede controlarse mediante la comprobación constante de la precisión en los datos para la validación.


Entiendo que se trata de un refuerzo clásico. Tal vez Catbust haya ideado algo propio...

Градиентый бустинг — просто о сложном
Градиентый бустинг — просто о сложном
  • 2018.11.27
  • neurohive.io
Хотя большинство победителей соревнований на Kaggle используют композицию разных моделей, одна из них заслуживает особого внимания, так как является почти обязательной частью. Речь, конечно, про Градиентный бустинг (GBM) и его вариации. Возьмем, например. победителя Safe Driver Prediction, Michael Jahrer. Его решение — это комбинация шести...