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

 

Mihail Marchukajtes:

¿Maximka se enredó en el bosque y aún no puede encontrar la salida? Negocios ....

Admito que no he estado aquí durante mucho tiempo, todo negocios y preocupaciones.... Pero decidí venir aquí. Regístrese, por así decirlo :-) Por cierto....

No hay lugar para nada. Antes Maximka la drogadicta, ahora Maximka la medio idiota))


 
Vizard_:

No hay lugar para nada. Antes Maximka la drogadicta, ahora Maximka la mediocre).


bueno, solo eres un buen día en la vida, y no cambias tu estado

Chica secreta
 
Maxim Dmitrievsky:

bueno, solo eres un buen día para la vida y no cambias tu estatus

chica secreta

Oh, maestro)) Lo mismo ocurre con los "modelos". Dónde está el ciervo y dónde está la chica, dónde está 0,
y 1... No hay definición, está todo en una pila))) hilarante...

 
Vizard_:

Oh, Maestro)))) Lo mismo ocurre con los modelos. Dónde está el ciervo y dónde está la chica, dónde está el 0,
y 1... no se puede decir, todo en una pila))) hilarante...

Tardé más de 10 minutos en saber cómo responder... Debí de estar preparándome, preparando capturas de pantalla, preocupándome...

lo entiendo, necesitas resurgir de un montón de mierda para hacer una aparición espectacular, entonces te sientes bien ))

bueno, bienvenido de nuevo ))))

 
Maxim Dmitrievsky:

la velocidad de aprendizaje es buena, el tiempo de respuesta al utilizar y el tiempo de descarga de la estructura son pobres, ya que los archivos forestales son grandes. He tenido hasta 300 mb.

Hay algo que no funciona en la serialización. El bosque se entrena y se guarda más rápido de lo que se carga desde el archivo.

Si dice que el bosque ahora genera órdenes de magnitud menos archivos, esto es un aumento de velocidad muy grande

Por el contrario, NS entrena durante más tiempo, pero la respuesta es instantánea. No hay diferencia en la calidad de la clasificación. Se puede utilizar cualquier cosa, pero el bosque fuera de la caja funciona, y el NS necesita ser ajustado.


Todo lo que está escrito sobre el bosque en la descripción de la actualización:
Algoritmo de construcción de bosques aleatorios mejorado, que es de 2 a 10 veces más rápido que la versión anterior y produce bosques de órdenes de magnitud más pequeños.

La versión antigua tiene la siguiente estructura de datos

//--- información del nodo:

//--- W[K+0] - número variable (-1 para el modo hoja)
//--- W[K+1] - umbral (clase/valor del nodo hoja)
//--- W[K+2] - ">=" índice de rama (ausente para el nodo hoja)

Este nuevo nodo almacena las mismas 3 variables para un nodo y 2 para una hoja.
Y el árbol se construye exactamente de la misma manera - hasta el último ejemplo con 0 error. No vi ninguna poda.
Lo único que he visto en los comentarios del código sobre la aceleración de
Tipo de división:
* 0 = dividir en la posición aleatoria, la más rápida
* 1 = división en la mitad del rango
* 2 = división fuerte en el mejor punto de la gama (por defecto)

Parece que la división aleatoria da lugar a una aceleración de 2 a 10 veces y a mejores puntos de división, lo que a su vez puede dar lugar a un árbol más compacto.

Sólo hay que añadir la selección de puntos aleatorios a la función de partición. Editar en 2-3 líneas))

 
elibrarius:

No sé muy bien el inglés.
Todo lo que dice sobre el bosque:
Algoritmo de construcción de bosques aleatorios mejorado, que es de 2 a 10 veces más rápido que la versión anterior y produce bosques de órdenes de magnitud más pequeños.

En la versión antigua la estructura de datos es así:

//--- información del nodo:

//--- W[K+0] - número variable (-1 para el modo hoja)
//--- W[K+1] - umbral (clase/valor del nodo hoja)
//--- W[K+2] - ">=" índice de rama (ausente para el nodo hoja)

Este nuevo nodo almacena las mismas 3 variables para un nodo y 2 para una hoja.
Y el árbol se construye exactamente de la misma manera - hasta el último ejemplo con 0 error. No vi ninguna poda.
Lo único que he visto en los comentarios del código sobre la aceleración de
Tipo de división:
* 0 = dividir en la posición aleatoria, la más rápida
* 1 = división en la mitad del rango
* 2 = división fuerte en el mejor punto de la gama (por defecto)

Aparentemente, la división aleatoria da lugar a un aumento de la velocidad de 2 a 10 veces y a mejores puntos de división, lo que a su vez puede dar lugar a un árbol más compacto.

es decir, ¿el método de división es ahora configurable? Pero la opción por defecto sigue siendo la más lenta

Oh, bueno, entonces puedes rehacerlo tú mismo, sí :)

 
Maxim Dmitrievsky:

es decir, ¿el método de división es ahora configurable? Pero la opción por defecto sigue siendo la más lenta

Ah, bueno, entonces puedes rehacerlo tú mismo, sí :)

Me temo que todos estos cambios se sobrescribirán cuando se actualice el terminal. Es necesario hacer una copia de la clase de bosque y guardarla como un archivo separado
 
elibrarius:
Sólo que me temo que todas las ediciones se sobrescribirán cuando se actualice el terminal. Deberíamos hacer una copia de la clase de bosque y guardarla como un archivo separado

Sí, o mantener un archivo.

Bueno, entonces, vamos a experimentar, gracias por hurgar, es útil

tal vez de la misma manera que podríamos añadir árboles bayesianos, si lo entiendes
 
elibrarius:

Así que entiendo que hay algo que tratar de cambiar aquí

//+------------------------------------------------------------------+
//| Makes split on attribute                                         |
//+------------------------------------------------------------------+
static void CDForest::DFSplitC(double &x[],int &c[],int &cntbuf[],const int n,
                               const int nc,const int flags,int &info,
                               double &threshold,double &e,double &sortrbuf[],
                               int &sortibuf[])
 
Maxim Dmitrievsky:

Así que entiendo que se puede tratar de cambiar algo aquí

Sí. Y duplicarlo en DFSplitR, para que el andamiaje de regresión tenga también la misma funcionalidad