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

 
elibrarius:
Une activation rare sur Exam signifie plutôt que le marché a changé et que ce qui arrivait souvent sur le trayn a cessé de se produire. Et cela ne signifie pas nécessairement qu'il n'y a pas eu beaucoup d'activations de la feuille là-bas non plus.

Oui, je suis d'accord pour dire qu'il y a aussi un effet de changement de marché.

Examinons le cas de Train.

La situation est légèrement meilleure, mais il y a aussi des feuilles avec un nombre rare d'activations.

Remarquez comment l'apprentissage se produit - un arbre avec un grand poids est construit - succès conditionnel, et ensuite un ensemble avec de petits poids, puis à nouveau un grand - une telle tarte, et si vous retirez les veines avec de petits poids, alors vous obtenez un changement dans la probabilité.

 
Aleksey Vyazmikin:

Oui, je suis d'accord pour dire qu'il y a aussi un effet de changement de marché.

Examinons le cas de Train.

La situation est légèrement meilleure, mais il en est de même pour les feuilles avec un nombre d'activations clairsemé.

Remarquez comment l'apprentissage se produit - un arbre avec de grands poids est construit - succès conditionnel, et puis un ensemble avec de petits poids, et puis grand à nouveau - une telle tarte, et si vous retirez les veines avec de petits poids, et vous obtenez un changement dans la probabilité.

Je me demande ce qui se passera si vous formez un nouveau modèle sur ce diagramme ?

En général, l'idée est d'entraîner le second modèle sur les "entrailles" du premier.

 
Maxim Dmitrievsky:

Pourquoi tu tripotes le carburateur ? Tu n'améliores rien avec ça.

Si vous comprenez quel est le problème, vous pouvez chercher une solution. Ces arbres ont évidemment des inconvénients.

Mais je suis d'accord pour dire que je n'arrive pas à comprendre le code de CatBoost pour y apporter des modifications, hélas.

Cependant, il est possible d'influencer le modèle, peut-être qu'en mettant à zéro les exemples rares dans les feuilles, on obtiendra un effet positif, mais il est alors souhaitable de recalculer les coefficients des feuilles - ce qui est plus compliqué, mais globalement soluble.

Maxim Dmitrievsky:

Prenons un réseau neuronal simple sans feuilles. Il fonctionnera sur les nouvelles données aussi bien que sur le boosting. Qu'est-ce que cela vous dit ?

Je suis d'accord pour dire qu'il y aura là aussi des effets de surentraînement, mais de nature différente. La question est de savoir lequel de ces effets peut être détecté et évalué avec le plus de précision et lequel est le plus facile à gérer.

Maxim Dmitrievsky:

Il existe un excellent outil SHAP pour la sélection et l'interprétation des caractéristiques, mais il est en python. Tout a été fait pour vous depuis longtemps).

En fait, la grande majorité de ces méthodes ne font que parler de l'utilisation de prédicteurs dans les modèles, sans les évaluer. Vous avez besoin d'estimations de prédicteurs indépendants du modèle - j'y travaille, il y a des résultats positifs modestes.

Bien sûr, j'ai envie de jouer avec des solutions toutes faites en python ou en R, mais je doute de pouvoir gérer une nouvelle syntaxe.

 
mytarmailS:

Je me demande ce qui se passe si vous formez un nouveau modèle sur ce diagramme ?

En fait, l'idée est d'entraîner un second modèle sur les "entrailles" du premier modèle.

Ce modèle dans l'exemple provient de dépôts anciens, maintenant j'ai 60k feuilles dans les modèles, ce qui bien sûr est beaucoup pour former un échantillon. Essayez peut-être de réduire considérablement le nombre d'arbres. Cependant, je note que j'ai évalué les feuilles de CatBoost et qu'elles sont très faibles dans leurs caractéristiques individuelles par rapport aux feuilles d'un arbre génétique.

Sur les feuilles (des milliers de feuilles) de l'arbre génétique que j'ai formé - la performance métrique peut être améliorée.

 
Aleksey Vyazmikin:

Si vous comprenez quel est le problème, vous pouvez chercher une solution. De tels arbres présentent évidemment des inconvénients.

Mais je suis d'accord pour dire que je n'arrive pas à comprendre le code de CatBoost pour y apporter des modifications, hélas.

Cependant, il est possible d'influencer le modèle, peut-être qu'éliminer les exemples rares dans les feuilles aura un effet positif, mais il est souhaitable de repondérer les coefficients des feuilles - ceci est plus difficile, mais globalement soluble.

Je suis d'accord pour dire qu'il y aura là aussi des effets de surentraînement, mais de nature différente. La question est de savoir lequel de ces effets peut être identifié et évalué avec le plus de précision et lequel est le plus facile à gérer.

En fait, la grande majorité de ces méthodes ne parlent que de l'utilisation de prédicteurs dans les modèles, mais ne font aucune évaluation de ces derniers. Nous avons besoin d'estimations des prédicteurs indépendantes du modèle - je travaille sur ce point, il y a des résultats positifs modestes.

Bien sûr, je veux filer des solutions toutes faites en python ou en R, mais je doute de pouvoir gérer la nouvelle syntaxe.

C'est l'effet des caractéristiques sur le comportement d'un modèle particulier qui est évalué ici.

 
Aleksey Vyazmikin:

Si vous comprenez quel est le problème, vous pouvez chercher une solution. De tels arbres présentent évidemment des inconvénients.

Mais je suis d'accord pour dire que je n'arrive pas à comprendre le code de CatBoost pour y apporter des modifications, hélas.

Cependant, il est possible d'influencer le modèle, peut-être qu'éliminer les exemples rares dans les feuilles aura un effet positif, mais il est souhaitable de repondérer les coefficients des feuilles - ceci est plus difficile, mais globalement soluble.

Je suis d'accord pour dire qu'il y aura là aussi des effets de surentraînement, mais de nature différente. La question est de savoir lequel de ces effets peut être identifié et évalué avec le plus de précision et lequel est le plus facile à gérer.

En fait, la grande majorité de ces méthodes ne parlent que de l'utilisation de prédicteurs dans les modèles, mais ne font aucune évaluation de ces derniers. J'ai besoin d'estimations de prédicteurs indépendants du modèle - j'y travaille, il y a des résultats positifs modestes.

Bien sûr, je veux filer des solutions toutes faites en python ou en R, mais je doute de pouvoir gérer la nouvelle syntaxe.

J'en suis venu à la conclusion qu'ajouter 1 à la fois (ou enlever 1 à la fois) est la meilleure solution. Voici mes recherches. Je suppose que vous l'avez déjà vu.

Сравнение разных методов оценки важности предикторов.
Сравнение разных методов оценки важности предикторов.
  • www.mql5.com
Провел сравнение разных методов оценки важности предикторов. Тесты проводил на данных титаника (36 фичей и 891 строки) при помощи случайного леса из 100 деревьев. Распечатка с результатами ниже. За
 
Maxim Dmitrievsky:

C'est l'impact des caractéristiques sur le comportement d'un modèle particulier qui est évalué.

C'est ce que je dis, l'évaluation passe par le modèle résultant.

 
elibrarius:

On en conclut que le mieux est d'en ajouter 1 à la fois (ou d'en supprimer 1 à la fois). Voici mes recherches. Vous l'avez probablement déjà vu.

Je ne l'avais jamais vu auparavant - j'ai vérifié - en général, je suis d'accord pour dire que l'effet réel peut être obtenu par la suppression. CatBoost dispose d'une méthode permettant de supprimer le prédicteur et de repondérer le modèle sans lui, mais je n'y ai pas eu recours. Jusqu'à présent, je me suis limité à ajouter et supprimer des prédicteurs, mais pas seulement un, mais par groupes.

 
Aleksey Vyazmikin:

C'est ce que je dis, l'évaluation passe par le modèle résultant.

et c'est bien

vous pouvez voir quelles caractéristiques sont défectueuses dans les nouvelles données

 

Je ne sais pas... peut-être que c'est mon expérience ou peut-être que c'est ma consommation d'alcool...)

...mais je pense que vous souffrez de...)

Raison: