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

 
Evgeny Dyuka:

Lo triste es que digas regularidades, regularidades, pero te preguntes qué es exactamente lo que mueve el mercado y no lo digas... porque tu comprensión de una regularidad termina con la respuesta de una red en forma de probabilidad.

Toda su solución consiste en construir cientos de redes sobre diferentes datos y analizar sus resultados en forma de probabilidad...

¿Y si entiendes el mercado y sus leyes?

Entonces una regla de registro puede describir lo que usted describe con cientos de redes...


Por ejemplo, aquí hay una regla con sólo tres elementos, y comercia tan bien como cien de sus redes.



¿Y qué pasa si encuentro 1000 de esas reglas y creo a partir de ellas una especie de Bosque Aleatorio, o conjunto de reglas? ¿mejorará la calidad? sí, ¿puedo operar?

¿Qué pasa si intentas crear un conjunto de 1000 neuronas con 100 neuronas cada una? obtienes 100k neuronas, en primer lugar no puedes encontrar un conjunto de datos único para 100k neuronas, en segundo lugar tienes que esperar años para la respuesta -....

En resumen, mi enfoque es más limpio, más rápido y más escalable + se puede explicar, su enfoque es imposible de desarrollar ((

Tristemente

 
mytarmailS:

En resumen, mi enfoque es más "limpio", más rápido y más escalable, su enfoque es imposible de desarrollar ((

Para ser sincero, tu planteamiento tampoco es muy claro, pero quizás sea sólo para mí....

 
Evgeny Dyuka:

He aquí un ejemplo vivo de cómo comprimir la información , esto no es lo que yo hago, pero me esfuerzo por este concepto

Los datos son los iris de Fisher.

iris[sample(100,100),] 
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
51           7.0         3.2          4.7         1.4 versicolor
31           4.8         3.1          1.6         0.2     setosa
79           6.0         2.9          4.5         1.5 versicolor
33           5.2         4.1          1.5         0.1     setosa
73           6.3         2.5          4.9         1.5 versicolor
80           5.7         2.6          3.5         1.0 versicolor
16           5.7         4.4          1.5         0.4     setosa
74           6.1         2.8          4.7         1.2 versicolor
30           4.7         3.2          1.6         0.2     setosa
17           5.4         3.9          1.3         0.4     setosa
25           4.8         3.4          1.9         0.2     setosa
75           6.4         2.9          4.3         1.3 versicolor
57           6.3         3.3          4.7         1.6 versicolor
65           5.6         2.9          3.6         1.3 versicolor
96           5.7         3.0          4.2         1.2 versicolor
.........
......
...
..
..


Estamos entrenando un Bosque Aleatorio para mayor claridad, pero imaginemos que es un conjunto de sus redes neuronales.

Formado....

Tenemos las reglas de predicción, hay unas 700.

condition                                              pred        
  [1,] "X[,3]<=2.45"                                          "setosa"    
  [2,] "X[,3]>2.45 & X[,3]<=4.85"                             "versicolor"
  [3,] "X[,3]>2.45 & X[,3]<=4.85 & X[,4]<=1.6"                "versicolor"
  [4,] "X[,4]>1.6"                                            "virginica" 
  [5,] "X[,3]>2.45 & X[,3]<=4.95 & X[,4]<=1.75"               "versicolor"
  [6,] "X[,3]>4.95 & X[,4]<=1.55"                             "virginica" 
  [7,] "X[,3]>4.85 & X[,3]<=5.15 & X[,4]<=1.75 & X[,4]>1.55"  "versicolor"
  [8,] "X[,4]>1.75"                                           "virginica" 
  [9,] "X[,3]>5.15"                                           "virginica" 
 [10,] "X[,3]<=2.45"                                          "setosa"    
 [11,] "X[,3]<=4.95 & X[,3]>2.45 & X[,4]<=1.65"               "versicolor"
 [12,] "X[,4]>1.65"                                           "virginica" 
 [13,] "X[,3]>4.85 & X[,4]>1.65"                              "virginica" 
 [14,] "X[,4]>1.9"                                            "virginica" 
 [15,] "X[,3]>4.95 & X[,4]<=1.65"                             "virginica" 
 [16,] "X[,3]>4.95 & X[,4]<=1.75 & X[,4]>1.65"                "versicolor"
 [17,] "X[,3]>4.95"                                           "virginica" 
 [18,] "X[,4]<=0.8"                                           "setosa"    
 [19,] "X[,3]<=4.75 & X[,4]>0.8"                              "versicolor"
 [20,] "X[,3]>4.75 & X[,3]<=5 & X[,4]<=1.7"                   "versicolor"
 [21,] "X[,3]>5 & X[,4]<=1.55"                                "virginica" 
 [22,] "X[,3]>4.75 & X[,3]<=5.45 & X[,4]<=1.7 & X[,4]>1.55"   "versicolor"
 [23,] "X[,3]>5.45"                                           "virginica" 
 [24,] "X[,4]>1.7"                                            "virginica" 
 [25,] "X[,3]<=5.05 & X[,4]>0.8 & X[,4]<=1.75"                "versicolor"
 [26,] "X[,3]>4.95"                                           "virginica" 
 [27,] "X[,2]>2.6 & X[,3]<=5.05 & X[,3]>4.95"                 "versicolor"
 [28,] "X[,4]>1.75"                                           "virginica" 
 [29,] "X[,2]>3.1 & X[,3]<=5.05 & X[,4]>0.8"                  "versicolor"
 [30,] "X[,3]>5.05 & X[,4]<=1.55"                             "virginica" 
 [31,] "X[,2]<=2.85 & X[,3]>5.05 & X[,4]<=1.7 & X[,4]>1.55"   "versicolor"
 [32,] "X[,3]>5.05"                                           "virginica" 
 [33,] "X[,3]>5.05"                                           "virginica" 
 [34,] "X[,4]<=0.75"                                          "setosa"    
 [35,] "X[,3]<=4.95 & X[,4]>0.75 & X[,4]<=1.7"                "versicolor"
 [36,] "X[,4]>1.7"                                            "virginica" 
 [37,] "X[,2]>3.1 & X[,3]<=4.95 & X[,4]>0.75"                 "versicolor"
 [38,] "X[,3]>4.95"                                           "virginica" 
 [39,] "X[,3]<=4.95 & X[,4]>0.8 & X[,4]<=1.7"                 "versicolor"
 [40,] "X[,4]>1.7"                                            "virginica" 
 [41,] "X[,3]>4.95"                                           "virginica" 
 [42,] "X[,4]<=0.7"                                           "setosa"    
 [43,] "X[,2]<=2.25 & X[,4]<=1.25"                            "versicolor"
 [44,] "X[,2]<=2.25"                                          "versicolor"
 [45,] "X[,2]>2.25 & X[,4]>0.7 & X[,4]<=1.75"                 "versicolor"
 [46,] "X[,3]>5.3"                                            "virginica" 
 [47,] "X[,4]>1.75"                                           "virginica" 
 [48,] "X[,3]>2.45 & X[,3]<=4.95 & X[,4]<=1.75"               "versicolor"
 [49,] "X[,3]>4.95 & X[,4]<=1.55"                             "virginica" 
 [50,] "X[,3]>4.95 & X[,3]<=5.45 & X[,4]<=1.75 & X[,4]>1.55"  "versicolor"
 [51,] "X[,3]>4.95"                                           "virginica" 
 [52,] "X[,4]>1.75"                                           "virginica" 
 [53,] "X[,2]>3 & X[,3]>2.45 & X[,3]<=4.85"                   "versicolor"
 [54,] "X[,4]>1.75"                                           "virginica" 
 [55,] "X[,3]<=4.85 & X[,4]>0.8 & X[,4]<=1.65"                "versicolor"
 [56,] "X[,3]<=4.65 & X[,4]>1.65"                             "virginica" 
 [57,] "X[,4]>1.65"                                           "virginica" 
 [58,] "X[,3]<=5.3 & X[,4]<=1.75"                             "versicolor"
 [59,] "X[,2]>2.6 & X[,3]>4.85 & X[,3]<=5.3 & X[,4]<=1.75"    "versicolor"
 [60,] "X[,3]>5.3"                                            "virginica" 
 [61,] "X[,4]>1.75"                                           "virginica" 
 [62,] "X[,3]<=2.5"                                           "setosa"    
 [63,] "X[,3]>2.5 & X[,3]<=4.95 & X[,4]<=1.75"                "versicolor"
 [64,] "X[,3]>4.95 & X[,3]<=5.05 & X[,4]<=1.65"               "virginica" 
 [65,] "X[,4]<=1.75"                                          "versicolor"
 [66,] "X[,3]<=4.75 & X[,4]>1.65"                             "virginica" 
 [67,] "X[,3]>4.75 & X[,4]<=1.75 & X[,4]>1.65"                "versicolor"
 [68,] "X[,3]>5.35"                                           "virginica" 
 [69,] "X[,4]>1.75"                                           "virginica" 
 [70,] "X[,3]<=4.75 & X[,4]>0.7"                              "versicolor"
 [71,] "X[,4]>1.65"                                           "virginica" 
 [72,] "X[,3]>4.75 & X[,3]<=4.95 & X[,4]<=1.7"                "versicolor"
 [73,] "X[,2]<=2.65 & X[,3]>4.95"                             "virginica" 
 [74,] "X[,2]<=2.75 & X[,2]>2.65 & X[,4]<=1.7"                "versicolor"
 [75,] "X[,3]>4.75"                                           "virginica" 
 [76,] "X[,4]>1.7"                                            "virginica" 
 [77,] "X[,2]>3.1 & X[,3]>4.75 & X[,3]<=4.85"                 "versicolor"
 [78,] "X[,4]>1.7"                                            "virginica" 
 [79,] "X[,3]>2.45 & X[,3]<=5 & X[,4]<=1.65"                  "versicolor"
 [80,] "X[,4]<=1.65"                                          "versicolor"
 [81,] "X[,3]>5"                                              "virginica" 
 [82,] "X[,4]>1.65"                                           "virginica" 
 [83,] "X[,3]>2.45 & X[,3]<=5.05 & X[,4]<=1.75"               "versicolor"
 [84,] "X[,4]>1.75"                                           "virginica" 
 [85,] "X[,2]>3.1 & X[,3]>2.45 & X[,3]<=5.05"                 "versicolor"
 [86,] "X[,3]>5.05"                                           "virginica" 
 [87,] "X[,3]<=4.95 & X[,4]>0.8 & X[,4]<=1.65"                "versicolor"
 [88,] "X[,3]>4.95 & X[,4]<=1.55"                             "virginica" 
 [89,] "X[,3]<=5.45 & X[,4]<=1.65 & X[,4]>1.55"               "versicolor"
 [90,] "X[,3]>4.95"                                           "virginica" 
 [91,] "X[,4]>1.65"                                           "virginica" 
 [92,] "X[,4]>0.75 & X[,4]<=1.65"                             "versicolor"
 [93,] "X[,4]>1.65"                                           "virginica" 
 [94,] "X[,2]>3.1 & X[,3]<=4.85 & X[,4]>0.75"                 "versicolor"
 [95,] "X[,4]>1.65"                                           "virginica" 
 [96,] "X[,3]<=4.95 & X[,4]>0.8 & X[,4]<=1.75"                "versicolor"
 [97,] "X[,3]<=4.95 & X[,4]<=1.75 & X[,4]>1.65"               "virginica" 
 [98,] "X[,3]>4.95 & X[,4]<=1.55"                             "virginica" 
 [99,] "X[,3]>4.95 & X[,3]<=5.45 & X[,4]<=1.75 & X[,4]>1.55"  "versicolor"
..........................
..............
.......
....
..

Ahora la magia es que hay un algoritmo que puede hacer 7 de esas 700 reglas, con una mínima pérdida de calidad.

learner[,-c(1:3)]
     condition                                pred        
[1,] "X[,3]<=2.45"                            "setosa"    
[2,] "X[,3]<=4.95 & X[,3]>2.45 & X[,4]<=1.65" "versicolor"
[3,] "X[,3]>4.95 & X[,4]>1.7"                 "virginica" 
[4,] "X[,2]<=3.1 & X[,3]<=4.95 & X[,4]>1.65"  "virginica" 
[5,] "X[,3]>4.95 & X[,4]<=1.55"               "virginica" 
[6,] "X[,3]<=5.3 & X[,4]<=1.75"               "versicolor"
[7,] "X[,1]==X[,1]"                           "versicolor"

Así que ese es todo nuestro bosque de 700 reglas al azar.

¿No está mal? :)

 
mytarmailS:

Lo triste es que digas regularidades, regularidades, pero te preguntes qué es exactamente lo que mueve el mercado y no lo digas... porque tu comprensión de la regularidad termina con la respuesta de la red en forma de probabilidad.

Su solución consiste en construir cientos de redes sobre diferentes datos y analizar sus resultados en forma de probabilidad...

Sí, así es, para un resultado práctico real.

¿y si entiendes el mercado y sus leyes?

¿Por qué? Tal vez ni siquiera sea posible.

Entonces, una regla de registro puede describir lo que tú estás describiendo con cientos de redes.

Todo es fantasía, volar en las nubes.

respondió arriba...

 
Evgeny Dyuka:

contestado arriba en el texto...

Usted escribe :

Evgeny Dyuka:

2. En la práctica, utilizando mi método, sólo se puede obtener una respuesta aceptable en aproximadamente el 1% de las preguntas formuladas. En pocas palabras, si usted le pregunta a la red "dónde estará el precio dentro de 5 minutos al alza o a la baja" en cada semáforo, la red le dará la respuesta sólo 1 de cada 100 veces.

¿No crees que la razón es que el 99% de tus datos es basura y el 1% es útil, no crees que este 1% puede ser descrito por 1-3 reglas de registro?

 
mytarmailS:

Usted escribe:

Evgeny Dyuka:

2. En la práctica, utilizando mi método, se puede obtener una respuesta aceptablemente precisa en sólo un 1% de las preguntas formuladas. En pocas palabras, si usted pregunta a la red "dónde estará el precio dentro de 5 minutos al alza o a la baja", obtendrá la respuesta sólo 1 de cada 100 veces.

¿No te parece que la razón es que en tus datos hay un 99% de basura y un 1% de información útil? ¿No te parece que ese 1% puede describirse con 1-3 reglas de registro?

Desgraciadamente no es el caso.

El 99% de la basura es una propiedad intrínseca del objeto que estamos estudiando. Es su naturaleza.
A todos nos gustaría esperar que tuviera armonía en su interior y unas reglas sencillas y comprensibles, que no hemos encontrado, pero que encontraremos. No existen tales reglas. Filosóficamente por supuesto que pueden existir, todo tiene una razón, pero están más allá de nuestras capacidades actuales y futuras.

El 1% tampoco se describe con reglas simples, la red se ha entrenado con 500.000 ejemplos para llegar a él: claramente no son reglas simples.

 
mytarmailS:

He aquí un ejemplo vivo de cómo comprimir la información , esto no es lo que yo hago, pero me esfuerzo por el concepto

Los datos son los iris de Fisher.


Entrenando un Bosque Aleatorio, para mayor claridad, pero pretendamos que es un conjunto de sus redes neuronales

Formado....

Tenemos las reglas de predicción, hay unas 700.

Ahora la magia es que hay un algoritmo que puede hacer 7 de esas 700 reglas, con una mínima pérdida de calidad.

Así que ese es todo nuestro bosque de 700 reglas al azar.

¿No está mal? :)

Para describir 150 filas de datos (hay 150 en los datos de Iris) como máximo necesitamos 150 reglas (si todas las filas son únicas).
¿De dónde sacaste 700?

 
elibrarius:

Para describir 150 filas de datos (los datos de Iris tienen 150 filas) se necesitan como máximo 150 reglas (si todas las filas son únicas).
¿De dónde sacaste 700?

No sé exactamente cómo funciona el paquete forrest, pero con 100 árboles genera entre 400 y 700 reglas, probablemente contando cada rama como una regla

Evgeny Dyuka:
Por desgracia, esto no es cierto.

El 99% de la basura es una propiedad intrínseca del objeto que estamos estudiando. Así es como se construye, esa es su naturaleza.
A todos nos gustaría esperar que tenga armonía en su interior y unas reglas sencillas y claras que aún no hemos encontrado, pero lo haremos. No existen tales reglas. Filosóficamente por supuesto que pueden existir, todo tiene una razón, pero están más allá de nuestras capacidades actuales y futuras.

Ese 1% tampoco está descrito por reglas simples, la red se entrena con 500.000 ejemplos para llegar a él, lo que claramente no son reglas simples.

hmmm...

 
mytarmailS:

Así que ese es todo nuestro bosque de 700 reglas al azar

¿No está mal? :)

¿Cuál es el principio de la reducción de hojas? Agrupar por similitud y seleccionar la mejor opción del grupo ?

 
mytarmailS:

No sé exactamente cómo funciona el paquete forrest, pero cuando se ajusta a 100 árboles genera 400-700 reglas, lo más probable es que cada rama cuente como una regla

No sé...

Al parecer, 700 es el total de 100 árboles.

Si construyes un árbol, obtienes las mismas 7 reglas que crees que son mágicas))

Esto es lo que me dio 1 árbol para el iris (precisión del 96% o 6 errores de 150 ejemplos)


 if(x[3]<1.800000){
  if(x[3]<1.000000){v[0]=1.000000;v[1]=0.000000;v[2]=0.000000;s=50;}
  else{
   if(x[2]<4.700000){
    if(x[2]<4.500000){v[0]=0.000000;v[1]=1.000000;v[2]=0.000000;s=29;}
    else{v[0]=0.000000;v[1]=0.909091;v[2]=0.090909;s=11;}}
   else{v[0]=0.000000;v[1]=0.714286;v[2]=0.285714;s=14;}}}
 else{
  if(x[0]<6.300000){v[0]=0.000000;v[1]=0.090909;v[2]=0.909091;s=11;}
  else{v[0]=0.000000;v[1]=0.000000;v[2]=1.000000;s=35;}}