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

 
Aleksey Vyazmikin #:

C'est bien que vous ayez compris - je n'avais pas réalisé tout de suite, merci pour la clarification.

Mais il s'avère que l'algorithme doit, à la première étape, trouver des paires de prédicteurs qui se sépareront mieux en boîtes, puis leur appliquer le "pelage".

Non, cela fonctionne pour n'importe quel nombre de prédicteurs. À chaque étape, on choisit le prédicteur et la tranche (gauche ou droite) qu'il est optimal de couper. Les arbres de décision conventionnels font la même chose : à chaque étape, le prédicteur et son point de coupe sont choisis pour être optimaux afin de produire deux nouvelles boîtes. La seule différence avec PRIM est qu'une petite tranche limitée est coupée à chaque étape, ce qui entraîne un processus graduel, d'où le mot "patient" dans le nom.

Personnellement, je trouve intéressante une autre modification de l'approche standard, où chaque boîte est découpée non pas en deux mais en trois nouvelles boîtes. J'y réfléchirai un jour.

 
Aleksey Nikolayev #:

Je ferai part de mes réflexions à ce sujet un jour ou l'autre.

Il est peut-être préférable de réaliser et de tester.
 
Aleksey Nikolayev #:

Non, cela fonctionne pour n'importe quel nombre de prédicteurs. À chaque étape, on choisit le prédicteur et la tranche (gauche ou droite) optimale à découper. Les arbres de décision conventionnels font la même chose : à chaque étape, le prédicteur et son point de coupe sont choisis pour être optimaux afin de produire deux nouvelles boîtes. La seule différence avec PRIM est qu'à chaque étape, une petite tranche est coupée, ce qui donne un processus graduel, d'où le mot "patient" dans le nom.

Personnellement, je trouve intéressante une autre modification de l'approche standard, où chaque boîte est découpée non pas en deux mais en trois nouvelles boîtes. Je vous ferai part de mes réflexions à ce sujet un jour.

https://xgboost.readthedocs.io/en/stable/tutorials/feature_interaction_constraint.html
 
Aleksey Nikolayev #:

Non, cela fonctionne pour n'importe quel nombre de prédicteurs. À chaque étape, on choisit le prédicteur et la tranche (gauche ou droite) optimale à couper. Les arbres de décision conventionnels procèdent de la même manière : à chaque étape, le prédicteur et son point de coupe sont choisis pour être optimaux afin de produire deux nouvelles boîtes.

Je n'ai donc pas prétendu le contraire - cela fonctionne - c'est juste une question de mise en œuvre - si vous prenez deux prédicteurs avec de bonnes limites de manière arbitraire, la boîte ne sortira pas - c'est le but ! C'est pourquoi j'ai supposé que la recherche par paire se fait en une seule fois.

Aleksey Nikolayev #:

PRIM diffère uniquement par le fait qu'à chaque étape, un petit morceau est coupé, ce qui conduit à un processus graduel, d'où le mot "patient" dans le nom.

Couper - qu'est-ce que cela signifie - un petit résidu après une division conditionnellement proche de la racine de l'arbre ?

Aleksey Nikolayev #:

Personnellement, je trouve intéressante une autre modification de l'approche standard, lorsque chaque boîte est coupée non pas en deux, mais en trois. J'y réfléchirai un jour.

Pourquoi pas 5 ? :) Je suis pour l'expérimentation !

 
mytarmailS #:
Peut-être qu'une prise de conscience et un test seraient préférables

Je ne pense pas que cela se produira. Jusqu'à présent, il n'y a qu'une hypothèse décousue.

Supposons que nous sachions avec certitude que la règle importante est A<x1<B, mais que pour l'instant il existe une règle a<x1<b, où a<A et B<b. Une bonne règle sera obtenue en au moins deux étapes, par exemple 1) a<x1<B et 2) A<x1<B. Dans la pratique, cela peut signifier qu'une étape de partitionnement sur un prédicteur différent s'intercalera accidentellement entre ces deux étapes et que cette règle importante n'apparaîtra tout simplement pas à la fin. Par conséquent, le nombre de morceaux de partitionnement à chaque étape peut ne pas être fixé, mais déterminé à partir de considérations d'optimalité. Dans certains cas particuliers (comme pour le sinus en temps de guerre), leur nombre peut être égal à cinq.

 
Aleksey Vyazmikin #:

Couper - qu'est-ce que cela veut dire - un petit reste après une fente conventionnelle près de la racine de l'arbre ?

Il n'y a probablement aucune idée de construire un bel arbre - ils veulent juste couper un "bon morceau") Je suis proche de l'idée que l'on devrait plutôt couper des morceaux adaptés au commerce, plutôt que de prétendre être un carreleur qui doit paver tout l'espace sans trous) Ceci est tout à fait conforme à la vieille citation "n'essayez pas d'être sur le marché tout le temps". Les cas où les prédicteurs ne tombent pas dans les "bons morceaux" sont simplement ignorés, de sorte que les arbres finissent par ne plus être d'une grande utilité.

Il est vrai que l'abandon de l'arbre nous oblige à nous pencher sur d'éventuelles intersections de boîtes, mais si l'on veut que cela fonctionne, les arbres ne sont pas pitoyables).

 
Maxim Dmitrievsky #:
h ttps:// xgboost.readthedocs.io/en/stable/tutorials/feature_interaction_constraint.html

Il semble qu'il s'agisse de quelque chose de plus sérieux que mes petites expériences). Il s'agit en quelque sorte de prendre en compte la structure de dépendance entre les prédicteurs, qui est connue àl'avance.

 
Aleksey Nikolayev #:

Je ne pense pas que ça va marcher. Jusqu'à présent, ce n'est qu'une hypothèse décousue.

Supposons que nous sachions avec certitude que la règle importante est A<x1<B, mais que pour l'instant il existe une règle a<x1<b, où a<A et B<b. Une bonne règle sera obtenue en au moins deux étapes, par exemple 1) a<x1<B et 2) A<x1<B. Dans la pratique, cela peut signifier qu'une étape de partitionnement sur un prédicteur différent s'intercalera accidentellement entre ces deux étapes et que cette règle importante n'apparaîtra tout simplement pas à la fin. Par conséquent, le nombre de morceaux de partitionnement à chaque étape peut ne pas être fixé, mais déterminé à partir de considérations d'optimalité. Dans certains cas particuliers (comme pour le sinus en temps de guerre), leur nombre peut être égal à cinq.

Utilisez la régression symbolique, concevez exactement ce que vous voulez, pas ce que les autres algorithmes offrent.

Vous connaissez Rku, il y a un package, il y a des exemples, tout a été fait avant et pour nous.

 
Aleksey Nikolayev #:

Il semble que ce soit quelque chose de plus sérieux que mes petites expériences). C'est en quelque sorte lié à la prise en compte de la structure de dépendance entre les prédicteurs, qui est connue à l'avance.

Si seuls 1 et 2 peuvent interagir. Ou 3,4,5. Alors, après la première division, par exemple sur 3, toutes les divisions en aval se feront uniquement à partir de l'ensemble 3,4,5.
Je suppose qu'il suffit de construire 2 arbres à partir des ensembles 1,2 et 3,4,5. S'il y a 10 ensembles, alors il y a 10 arbres. Etc.
 
Mais c'est du bousting. Ensuite, le premier arbre sur un plateau. Le deuxième arbre d'affinage sur n'importe quel autre ensemble et ainsi de suite.