L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 1830

 
Evgeny Dyuka:

Ce qui est triste, c'est que vous dites des régularités, des régularités, mais demandez vous ce qui anime exactement le marché et vous ne le direz pas... parce que votre compréhension d'une régularité s'arrête à la réponse d'un réseau sous forme de probabilité.

Votre solution consiste à construire des centaines de réseaux sur différentes données et à analyser leurs résultats sous forme de probabilité...

Et si vous compreniez le marché et ses lois ?

Alors une seule règle d'enregistrement peut décrire ce que vous décrivez avec des centaines de réseaux...


Par exemple, voici une règle avec seulement trois éléments, et elle s'échange tout aussi bien qu'une centaine de vos filets.



Que se passe-t-il si je trouve 1000 de ces règles et que je crée à partir d'elles une sorte de forêt aléatoire ou un ensemble de règles ? La qualité s'améliorera-t-elle ? Oui, puis-je négocier ?

Et si vous essayez de créer un ensemble de 1000 neurones avec 100 neurones chacun ? vous obtenez 100k neurones , premièrement vous ne pouvez pas trouver un ensemble de données unique pour 100k neurones , deuxièmement vous devez attendre des lustres pour la réponse -....

En résumé, mon approche est plus "propre", plus rapide et plus évolutive et peut être expliquée, alors que votre approche est impossible à développer ((

Malheureusement,

 
mytarmailS:

En résumé, mon approche est plus "propre", plus rapide et plus évolutive, votre approche est impossible à développer ((

Pour être honnête, votre approche n'est pas très claire non plus, mais peut-être que c'est juste pour moi.....

 
Evgeny Dyuka:

Voici un exemple vivant de la façon dont on compresse l'information, ce n'est pas ce que je fais, mais je m'efforce d'appliquer ce concept.

Les données sont les 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
.........
......
...
..
..


Pour plus de clarté, nous formons une forêt aléatoire, mais faisons comme s'il s'agissait d'un ensemble de vos réseaux neuronaux.

Formé....

On a les règles prédictives, il y en a environ 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"
..........................
..............
.......
....
..

La magie, c'est qu'il existe un algorithme capable de créer 7 de ces 700 règles, avec une perte de qualité minimale.

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"

Donc c'est notre forêt aléatoire entière de 700 règles.

pas mal ? :)

 
mytarmailS:

Ce qui est triste, c'est que vous dites régularités, régularités, mais demandez vous ce qui anime exactement le marché et vous ne le direz pas... parce que votre compréhension de la régularité s'arrête à la réponse du réseau sous forme de probabilité.

Toute votre solution consiste à construire des centaines de réseaux sur différentes données et à analyser leurs résultats sous forme de probabilité...

Oui, c'est ça, pour un résultat vraiment pratique.

Et si vous compreniez le marché et ses lois ?

Pourquoi ? Peut-être que ce n'est même pas possible.

Ainsi, une seule règle d'enregistrement peut décrire ce que vous décrivez avec des centaines de filets.

C'est de la fantaisie, on vole dans les nuages.

répondu ci-dessus...

 
Evgeny Dyuka:

répondu ci-dessus dans le texte...

Vous écrivez :

Evgeny Dyuka:

2. En pratique, en utilisant ma méthode, vous ne pouvez obtenir une réponse acceptable que dans environ 1% des questions posées. En d'autres termes, si vous demandez au réseau "où sera le prix dans 5 minutes à la hausse ou à la baisse" à chaque feu rouge, le réseau ne vous donnera la réponse qu'une fois sur 100.

Ne pensez-vous pas que la raison est que 99% de vos données sont des déchets et 1% sont utiles, ne pensez-vous pas que ce 1% peut être décrit par 1-3 règles d'enregistrement ?

 
mytarmailS:

Vous écrivez :

Evgeny Dyuka:

2. En pratique, en utilisant ma méthode, vous ne pouvez obtenir une réponse suffisamment précise que dans environ 1% des questions posées. En d'autres termes, si vous demandez au réseau "où le prix sera dans 5 minutes à la hausse ou à la baisse", vous n'obtiendrez la réponse qu'une fois sur 100.

Ne pensez-vous pas que la raison en est que vos données contiennent 99% de déchets et 1% d'informations utiles ? Ne pensez-vous pas que ce 1% peut être décrit par 1-3 règles d'enregistrement ?

Malheureusement, ce n'est pas le cas.

99% des déchets sont une propriété intrinsèque de l'objet que l'on étudie. C'est sa nature.
Nous aimerions tous espérer qu'il y a de l'harmonie à l'intérieur et des règles simples et compréhensibles, ce que nous n'avons pas encore trouvé, mais que nous trouverons sûrement. Il n'y a pas de telles règles. D'un point de vue philosophique, ils peuvent bien sûr exister, tout a une raison, mais ils sont au-delà de nos capacités actuelles et futures.

Le 1% n'est pas non plus décrit par des règles simples, le réseau est entraîné sur 500 000 exemples pour l'atteindre - ce ne sont clairement pas des règles simples.

 
mytarmailS:

Voici un exemple vivant de la façon de comprimer l'information, ce n'est pas ce que je fais, mais j'aspire à ce concept.

Les données sont les iris de Fisher.


Formation d'une forêt aléatoire, pour plus de clarté, mais faisons comme s'il s'agissait d'un ensemble de vos réseaux neuronaux.

Formé....

On a les règles prédictives, il y en a environ 700.

La magie, c'est qu'il existe un algorithme capable de créer 7 de ces 700 règles, avec une perte de qualité minimale.

Donc c'est notre forêt aléatoire entière de 700 règles.

pas mal ? :)

Pour décrire 150 lignes de données (il y en a 150 dans les données d'Iris), il faut au maximum 150 règles (si toutes les lignes sont uniques).
Où avez-vous trouvé 700 ?

 
elibrarius:

Pour décrire 150 lignes de données (les données d'Iris ont 150 lignes), il faut au maximum 150 règles (si toutes les lignes sont uniques).
Où avez-vous trouvé 700 ?

Je ne sais pas exactement comment fonctionne le paquet forrest, mais avec 100 arbres, il génère 400-700 règles, en comptant probablement chaque branche comme une règle

Evgeny Dyuka:
Malheureusement, ce n'est pas vrai.

99% des déchets sont une propriété intrinsèque de l'objet que l'on étudie. C'est comme ça qu'il est construit, c'est sa nature.
Nous aimerions tous espérer qu'il y ait une harmonie à l'intérieur et des règles simples et claires que nous n'avons pas encore trouvées, mais que nous trouverons. Il n'y a pas de telles règles. D'un point de vue philosophique, ils peuvent bien sûr exister, tout a une raison, mais ils sont au-delà de nos capacités actuelles et futures.

Ce pourcentage de 1 % n'est pas non plus décrit par des règles simples. Le réseau a été entraîné sur 500 000 exemples pour arriver à ce résultat - il ne s'agit clairement pas de règles simples.

hmmm...

 
mytarmailS:

Donc c'est toute notre forêt aléatoire de 700 règles.

pas mal ? :)

Quel est le principe de la réduction des feuilles ? Regroupement par similarité et sélection de la meilleure option du groupe ?

 
mytarmailS:

Je ne sais pas exactement comment fonctionne le paquet Forrest, mais lorsqu'il est réglé sur 100 arbres, il génère 400 à 700 règles, chaque branche comptant probablement comme une règle.

Je ne sais pas...

Apparemment, 700 est le total pour 100 arbres.

Si vous construisez un arbre, vous obtenez les mêmes 7 règles que vous pensez être magiques)).

Voici ce qu'un arbre m'a donné pour les iris (Précision 96% ou 6 erreurs sur 150 exemples)


 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;}}