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

 
Aleksey Vyazmikin #:

Non, il s'agira de la même place relative - le nombre de diviseurs (splits) - fixe pour tous.

Vous avez beaucoup de prédicteurs binaires avec 0 et 1. Ils ne se diviseront pas en 32. Mais si vous les normalisez, vous pourriez obtenir quelque chose avec une quantification uniforme. Si les quanta ne sont pas uniformes, toutes les distances seront faussées par les nombres ; il faut donc absoudre les valeurs après la normalisation.

Aleksey Vyazmikin #: Il peut y avoir de nombreuses méthodes différentes. Je suis intéressé par la variante du traitement avant la construction du modèle - il me semble qu'elle donne moins de variantes de combinaisons de construction, ce qui réduit l'erreur dans la conclusion finale - que le modèle final ait été formé avec succès ou non, en général.

L'erreur se situera au niveau de la prédiction si vous ne pouvez pas vous débarrasser du bruit comme lors de la formation.

Aleksey Vyazmikin #:

L'analyse est encore plus amusante ici - des feuilles incertaines dans la somme peuvent déplacer la probabilité dans une direction ou une autre - je continue à vouloir faire un graphique pour montrer comment les poids sont distribués en fonction du déplacement de la probabilité, mais je continue à remettre cela à plus tard. Pendant trois jours, l'ordinateur prend en compte la similarité des feuilles du modèle - je pense à optimiser l'algorithme - trop long....

Peu importe qu'il s'agisse d'un arbre, d'une forêt ou d'un buisson. Si la prédiction du modèle est de 50 %, il y aura 50 % de 0 et 50 % de 1 dans la prédiction.

 
Le problème se pose donc aux deux extrémités à la fois. D'un côté, vous ne connaissez pas votre fonction cible, de l'autre, vous ne savez pas quelles sont les erreurs d'approximation par un modèle particulier. Vous devez trouver le f- et les erreurs. Avec seulement un sous-échantillon, souvent biaisé.

Et vous pouvez faire tout cela sans tests multiples. Mais il n'y a pas d'inhibition au sein du sous-échantillon.
 
Forester #:

Vous disposez de nombreux prédicteurs binaires avec 0 et 1. Ils ne se diviseront pas par 32. Mais si vous les normalisez, vous pouvez obtenir quelque chose avec une quantification uniforme. Si les quanta ne sont pas uniformes, toutes les distances seront faussées par les nombres, il faut absoudre les valeurs après la normalisation.


Oui, avec des nombres binaires, c'est plus compliqué. Mais je ne comprends pas en quoi la normalisation peut être utile ici.

En général, je suppose qu'il est nécessaire de réduire la dimensionnalité. Mais ce n'est pas exactement ce que les auteurs voulaient. Jusqu'à présent, je suis loin d'avoir compris.

Forestier #:

Il y aura une erreur de prédiction si vous ne pouvez pas vous débarrasser du bruit comme dans l'entraînement.

Il s'agit d'un concept différent - les données sont divisées en deux parties - comme "peut prédire" et "ne peut pas prédire" - un modèle est responsable de cela. Et lorsque de nouvelles données arrivent, elles sont évaluées pour déterminer s'il faut faire une prédiction ou non. Ainsi, les prédictions ne sont faites que sur des données qui étaient "facilement" séparables et étroitement regroupées pendant la formation, c'est-à-dire qui présentaient un signe de validité.

Forestier #:
Peu importe qu'il s'agisse d'un arbre, d'une forêt ou d'un buisson. Si la prédiction du modèle est de 50 %, cela signifie qu'il y aura 50 % de 0 et 50 % de 1 dans la prédiction.

Ce n'est pas du tout la question. Forest et bousting ont une construction d'arbre forcée, c'est-à-dire qu'il n'y a pas d'algorithme pour se débarrasser de l'arbre s'il est mauvais. Dans les deux cas, l'arbre se voit attribuer des poids. Il peut être mauvais en raison d'un caractère aléatoire excessif dans l'algorithme, tant lors de la sélection des caractéristiques que lors de la sélection des exemples (sous-échantillons).

 
Maxim Dmitrievsky #:
Non, je ne l'ai pas fait. Je verrai ce qu'il en est ce soir.
Ces méthodes dépendent du modèle. Les données elles-mêmes ne sont pas divisées ou séparées. Je ne sais pas comment l'expliquer. J'ai essayé une fois et j'ai encore eu des problèmes avec les optimiseurs. C'est dans les livres.
Si vous allez à gauche, vous perdez un cheval. Si vous allez à droite, vous perdez le dragon à deux têtes.

C'est vrai, c'est un moyen d'isoler les exemples qui nuisent à l'apprentissage - c'est la théorie.

L'idée est d'entraîner 100 modèles et de voir quels exemples en moyenne "empêchent" une classification fiable, puis d'essayer de les détecter avec un autre modèle.

 

J'ai donc pris le modèle et j'ai regardé le nombre de feuilles. Le modèle est déséquilibré avec seulement 12,2% d'unités. 17k feuilles.

J'ai fait un marquage des feuilles en classes - si l'échantillon de réponses avec la cible "1" était supérieur à la valeur initiale - 12,2%, alors la classe est "1", sinon c'est "0". L'idée de classe est ici de disposer d'informations utiles pour améliorer la classification.

Dans l'histogramme, nous voyons les valeurs dans les feuilles du modèle (X) et leur % dans le modèle (Y) - sans les classer.

0

Et ici, c'est la même chose, mais la classe n'est que "0".


La classe n'est que "1".

Ces coefficients dans les feuilles sont additionnés et transformés via logit, ce qui signifie qu'un signe "+" augmente la probabilité de la classe "1" et un signe "-" la diminue. Dans l'ensemble, la répartition par classe semble valable, mais le modèle est biaisé.

Nous pouvons maintenant examiner la distribution des pourcentages (en termes de précision de la classification) - séparément pour les feuilles avec "1" et avec "0".


L'histogramme pour "0" présente un grand nombre de feuilles avec une précision proche de "100 %".


Il y a ici un groupe plus important près de la valeur de séparation initiale, c'est-à-dire qu'il y a beaucoup de feuilles peu informatives, mais en même temps il y a aussi celles qui sont proches de 100 %.

En regardant le rappel, il devient clair que ces feuilles sont toutes des feuilles avec un petit nombre d'activations - moins de 5% de leur classe.


Rappel pour la classe "0"


Rappel pour la classe "1".

Nous pouvons ensuite examiner la dépendance du poids de la feuille par rapport à la précision de sa classification, également séparément pour chaque classe.

00

Pour la cible "0"


Pour la cible "1".

La présence d'une linéarité, bien qu'avec une gamme aussi large, est remarquable. Mais la "colonne" avec une probabilité de 100 n'est pas logique, car elle s'étend très largement sur la plage de la valeur de la feuille.

Peut-être faudrait-il supprimer cette laideur ?

Par ailleurs, si l'on regarde la valeur des feuilles en fonction de l'indicateur de rappel, on constate un faible poids dans les feuilles (proche de 0), qui a parfois une très grande valeur de réponses. Cette situation indique que la feuille n'est pas bonne, mais que le poids y est attaché. Ces feuilles peuvent-elles donc également être considérées comme du bruit et être éliminées ?

000

Pour la cible "0".


Pour l'objectif "1".

Je me demande quel pourcentage de feuilles du nouvel échantillon (pas du train) va "changer" de classe ?

 

En outre, un classique - l'interdépendance de l'exhaustivité et de l'exactitude.

0

Classe 0.


Classe 1.

Quoi qu'il en soit, je réfléchis à la manière de peser cela....

 

Voici à quoi ressemble le modèle en termes de probabilités.

train

Sur l'échantillon de train, nous commençons à réaliser un bénéfice de 35 %, comme dans un conte de fées !


Sur l'échantillon de test - sur la plage de 0,2 à 0,25, nous perdons une grande partie des bénéfices - les points des maximums de classe sont mélangés.


Sur l'échantillon de l'examen - on gagne encore, mais cela corrode déjà le modèle.

 
Aleksey Vyazmikin #:

Je me demande quel est le pourcentage de feuilles d'un nouvel échantillon (et non d'un train) qui "changent" de classe ?

Oui, je me le demande....

________________________

En fait, j'ai trouvé un moyen de trouver de telles caractéristiques qui ne se déplacent pas par rapport à la cible ni sur le train ni sur le test... Mais le problème est que ces caractéristiques sont catastrophiquement peu nombreuses et que la méthode de sélection elle-même est extrêmement coûteuse en termes de puissance et, en général, la méthode elle-même est mise en œuvre par l'entraînement sans professeur, et c'est seulement de cette façon que nous avons réussi à éviter l'ajustement.


 
Et quel rôle a joué la quantification dans ce contexte ? Sur une échelle de 10.
J'ai traversé le champ des étoiles et c'est comme si la singularité avait commencé. Je suis entré dans un multivers et j'ai rencontré une copie de moi-même. Maintenant, je me promène dans différentes versions d'univers. Et il n'y a aucun moyen de s'en sortir. Je dois maintenant trouver de nouvelles significations.

Lorsque le cerveau ou le réseau neuronal atteint les limites du raisonnable, la singularité commence.
 
Aleksey Vyazmikin #:

C'est vrai, c'est un moyen de mettre en évidence les exemples qui nuisent à l'apprentissage - c'est la théorie.

L'idée est de former 100 modèles et de voir quels exemples en moyenne "interfèrent" avec une classification fiable, puis d'essayer de les détecter avec un modèle différent.

Diviser la piste principale en 5 à 10 sous-trains, chacun d'entre eux étant divisé en une piste et un arbre. Sur chacun d'eux, entraînez le type de cv, puis prédisez sur l'ensemble de la voie principale. Vous comparez les étiquettes originales de tous les modèles avec les étiquettes prédites. Ceux qui n'ont pas deviné sont placés sur la liste noire. Ensuite, vous supprimez tous les mauvais exemples lors de l'apprentissage du modèle final en calculant l'aspiration moyenne pour chaque échantillon. Optionnellement, vous pouvez apprendre au second modèle à séparer les échantillons blancs des échantillons noirs, soit via la 3e classe.

3 lignes de code, des résultats au niveau de... eh bien, je n'ai pas grand chose à comparer à... eh bien, à un certain niveau.

Le kozol ici est en cv, ce qui signifie que vous déterminez statistiquement quels exemples sont mauvais et quels exemples sont bons, en utilisant des modèles multiples, chacun formé sur différents éléments de l'histoire. C'est ce qu'on appelle le score de propension, c'est-à-dire la propension de chaque échantillon à jouer un rôle dans la formation.

Bien sûr, les étiquettes peuvent être très mauvaises, et cette approche peut éliminer presque tout. C'est pourquoi j'ai utilisé un échantillonnage aléatoire de transactions dès le début pour ajouter différentes variantes de marquage. Étant donné que nous ne voulons pas ou ne savons pas comment réfléchir à la manière de baliser un graphique.

Voici à quoi devrait ressembler une AMO avec des éléments kozol qui recherche des CT de manière autonome.