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

 
Maxim Dmitrievsky #:
El FF es un garaje con un Lexus, no sé de qué otra forma explicarlo.

No tengo que explicártelo, ya soy mayorcito.

Tú tienes una opinión, yo tengo otra.

Mi opinión es mi experiencia, no puedes cambiarla con palabras.

 
mytarmailS #:

No tengo que explicarlo. Soy un niño grande.

Tú tienes una opinión, yo tengo otra.

Mi opinión es mi experiencia, las palabras no pueden cambiarla.

Lo triste es que no es una opinión, es un hecho.
Puedes dibujar un diablo calvo en lugar de FF y hacer que encaje.
 
Maxim Dmitrievsky #:
Lo triste es que no es una opinión, es un hecho.
Puedes dibujar un diablo calvo en lugar de un FF y ajustarlo a su medida

ni siquiera te das cuenta de la mierda que estas diciendo ahora))))

Como si el optimizador en mt , no fuera un optimizador y optimizara no FF

 
mytarmailS #:

ni siquiera te das cuenta de la mierda que estás diciendo ahora mismo).

Como si el optimizador en mt, no fuera un optimizador y optimizara no FF.

¿Qué tiene que ver eso con mt? ¿Has oído hablar alguna vez de la optimización de la producción? Cuando tienes procesos reales interdependientes, pero necesitas mejorar la eficiencia.

Lo mismo con la optimización sl/tp para un modelo terminado.

Y estás creando un diablo calvo de un montón de basura usando FF.

En serio, vamos a terminar, es una tontería, como si estuviera hablando con un colegial.
 

Por fin ha salido el libro de TORCH para R.

Si hay futuros magos de DL, a por él.

 
Rorschach #:

¿Ha probado este método ? (busque la sección "Interpretación del modelo" más o menos a la mitad de la página).

Gracias por el enlace - ¡me será muy útil cuando por fin empiece a experimentar en python!

¿Supongo que se trata de un nuevo estilo de presentación del libro? ¿Hay algún otro material?

Para responder a la pregunta - al hacer la selección de hojas, nada utilizado directamente.

No he trabajado con un bosque de árboles de decisión, por lo que no he utilizado una serie de técnicas en principio como se sugiere. Sin embargo, he utilizado algo similar, por ejemplo la estimación de la varianza del error de una hoja en particular se utilizó para determinar el peso de una hoja en el conjunto.

La importancia de los predictores en la estimación de la división también está presente en CatBoost, pero en el gradient bousting es necesario ajustar la comprensión de los indicadores, ya que los árboles son dependientes y secuenciales. La métrica en sí es bastante controvertida, ya que evalúa la construcción de árboles y el principio de codicia no funciona bien para todos los datos. Sin embargo, utilicé la media de las puntuaciones de un centenar de modelos a lo largo de 8 intervalos de muestreo para seleccionar predictores para los modelos CatBoost; de media, este método mejoró los resultados del entrenamiento. El experimento se publicó en detalle en este hilo.

No he probado la correlación de frecuencias en la versión propuesta - inventé mi propio método de agrupación de predictores binarios y hojas, que también permite descartar predictores binarios y hojas demasiado similares. Creo que la implementación en python debería funcionar más rápido, ya que mi algoritmo no es óptimo - habría que compararlo para entenderlo.

La idea de seleccionar predictores muy cambiados parece ocupada, debería probarla. Pero en realidad en el experimento que describí anteriormente, lo hice simplemente no tomando tales predictores para el entrenamiento final. Sería mejor entender cómo detectar la tendencia al cambio de una variable a partir de su comportamiento histórico, así como el momento en que las fluctuaciones se desplazaron irreversiblemente a un cambio en el rango medio de la distribución de probabilidad del predictor. Tenemos ideas sobre el papel: necesitamos codificarlas.

Evaluar la contribución de cada predictor a la solución de una fila concreta en forma de visualización es divertido, pero para un gran número de predictores del modelo es de poca utilidad. Sin embargo, hice algo parecido -publiqué un cluster de uno aquí en el hilo- en el que destacaba la importancia de la respuesta del lit por color y cuántas hojas del modelo se utilizaron para predecir cada fila. Resultó que la mayoría de las hojas dejan de activarse en el modelo, es decir, los patrones dejan de producirse en absoluto -poca gente piensa en ello-.

¿Me he perdido alguna idea expresada allí? Si es así, por favor escriba específicamente - las describiré o no.

No entendí sobre la idea de codificar características categóricas para su uso en redes neuronales - hay una referencia al material pasado.

 
Slava #:

Entiendo. Las funciones de pérdida funcionan con matrices como con vectores. En este lugar no terminamos (no añadimos el parámetro eje)

Es decir, en tu ejemplo tienes que resolverlo línea por línea.

Gracias por tu atención

Vale, lo entiendo. Pero hay un problema con los vectores, en particular con LOSS_BCE:

double bce(const vector &truth, vector &pred)
{
   double sum = 0;
   pred.Clip(DBL_EPSILON, 1 - DBL_EPSILON);
   const int n = (int)truth.Size();
   for(int i = 0; i < n; ++i)
   {
      sum += truth[i] * MathLog(pred[i]) + (1 - truth[i]) * MathLog(1 - pred[i]);
   }
   return sum / -n;
}

void OnStart()
{
   vector actual_values = {0, 1, 0, 0, 0, 0};
   vector predicted_values = {.5, .7, .2, .3, .5, .6};     // 0.53984624 - keras (correct answer)
   Print(actual_values.Loss(predicted_values, LOSS_BCE));  // 0.6798329317196582 - mql5 API
   Print(bce(actual_values, predicted_values));            // 0.5398464220309535 - custom
}

De nuevo el resultado de la API no coincide con el resultado esperado.

 
Aleksey Vyazmikin #:

Gracias por el enlace - ¡será muy útil cuando por fin empiece a experimentar en python!

¿Supongo que se trata de un nuevo estilo de presentación del libro? ¿Hay algún otro material?

Para responder a la pregunta - al hacer la selección de hojas, no se utilizó nada directamente.

No trabajé con un bosque de árboles de decisión, por lo que en principio no utilicé una serie de técnicas como se sugiere. Sin embargo, sí utilicé algo similar, por ejemplo, utilicé la estimación de la varianza del error de una hoja en particular para determinar el peso de una hoja en el conjunto.

La importancia de los predictores en la estimación de la división también está presente en CatBoost, pero en el gradient bousting es necesario ajustar la comprensión de los indicadores, ya que los árboles son dependientes y secuenciales. La métrica en sí es bastante controvertida, ya que evalúa la construcción de árboles y el principio de codicia no funciona bien para todos los datos. Sin embargo, utilicé la media de las puntuaciones de un centenar de modelos a lo largo de 8 intervalos de muestreo para seleccionar predictores para los modelos CatBoost; de media, este método mejoró los resultados del entrenamiento. El experimento se publicó en detalle en este hilo.

No he probado la correlación de frecuencias en la versión propuesta - inventé mi propio método de agrupación de predictores binarios y hojas, que también permite descartar predictores binarios y hojas demasiado similares. Creo que la implementación python debería correr más rápido, ya que mi algoritmo no es óptimo - debería ser comparado para su comprensión.

La idea de seleccionar predictores muy cambiados parece ocupada, debería probarla. Pero en realidad en el experimento que describí anteriormente, lo hice simplemente no tomando tales predictores para el entrenamiento final. Sería mejor entender cómo detectar la tendencia al cambio de una variable a partir de su comportamiento histórico, así como el momento en que las fluctuaciones se desplazaron irreversiblemente a un cambio en el rango medio de la distribución de probabilidad del predictor. Tengo ideas sobre el papel - necesito codificarlas.

Evaluar la contribución de cada predictor a la solución de una fila concreta en forma de visualización es divertido, pero para un gran número de predictores del modelo es poco útil. Sin embargo, yo hice algo parecido -publiqué un cluster de ello aquí en el hilo- en el que destacaba la importancia de la respuesta del lit por color y cuántas hojas del modelo se utilizaron para predecir cada fila. Resultó que la mayoría de las hojas dejan de activarse en el modelo, es decir, los patrones dejan de producirse en absoluto -poca gente piensa en ello.

¿Me he perdido alguna idea expresada allí? Si es así, por favor escriba específicamente - las describiré o no.

No entendí sobre la idea de codificar características categóricas para su uso en redes neuronales - hay una referencia al material pasado.

Esto es fácilmente automatizado y funciona sin intervención humana

Mostré un algoritmo similar en el último artículo.

En esencia, se trata de filtrar los errores del modelo y ponerlos en una clase separada "no negociar", mejor a través del segundo modelo, que aprende a separar los granos de la paja.

Y sólo los granos permanecen en el primer modelo.

Es lo mismo que con las reglas de los árboles, pero de lado. Pero las reglas deben robarse y compararse entre sí, y ahí la salida es un CT refinado.

Por ejemplo, la primera iteración de selección de granos de la paja (a la izquierda de la línea de puntos vertical - OOS):

Y aquí está el décimo:


 
Maxim Dmitrievsky #:

Esto se automatiza fácilmente y funciona sin intervención humana

en el último artículo se mostró un algoritmo similar.

En esencia, se trata de filtrar los errores del modelo y ponerlos en una clase separada "no negociar", mejor a través de un segundo modelo, que aprende a separar el grano de la paja

y sólo los granos permanecen en el primer modelo

Es lo mismo que con las reglas de árbol, pero de lado. Pero las reglas deben depurarse y compararse entre sí, y ya hay una TS depurada en la salida.

Más arriba he justificado que no se pueden descartar errores de modelo.

Me gustaría cambiar mi opinión.

Pero para este propósito es necesario.

Evaluación del modelo inicial en la selección de entrenamiento y fuera de ella

Evaluación de un modelo "depurado" fuera de la selección de entrenamiento que NO coincide con los dos modelos anteriores

¿Podemos?

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

Justificado anteriormente que no se puede descartar errores de modelo.

Me gustaría cambiar mi opinión.

Pero para hacerlo.

Evaluación del modelo inicial dentro y fuera de la selección de entrenamiento

Estimación de un modelo "depurado" fuera de la selección de entrenamiento que NO coincide con los dos modelos anteriores

¿Podemos?

He añadido un par de pantallas arriba

algoritmos para separar el grano de la paja de esta manera puede ser diferente, te muestro cómo lo hago.

a la izquierda de la línea de puntos está el OOS, que no participa de ninguna manera en el entrenamiento

aprendiendo sobre signos simples como los incrementos

la curva amarilla es el propio gráfico de cotizaciones, no lo mires. Pero puedes usarla para entender en qué situaciones el modelo funciona mejor/peor