L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 3015

 
Maxim Dmitrievsky #:

Comme une feuille de bois peut parfois être plus efficace qu'une autre ?

prêt tc au minimum

Sur les nouvelles données, oui. C'est juste qu'un modèle cohérent a été trouvé et que les autres feuilles de l'arbre ne sont que du bruit. Le bruit est dû au fait que l'on a forcé l'arbre à donner des réponses à toutes les questions, c'est-à-dire à classer complètement l'échantillon.

 
Vous devez dormir la nuit.
 
Aleksey Vyazmikin #:

Sur les nouvelles données, oui. C'est simplement qu'un modèle stable a été trouvé et que le reste de l'arbre ne laisse que du bruit. Le bruit provient du fait que l'arbre a été forcé de répondre à toutes les questions, c'est-à-dire de classer l'ensemble de l'échantillon.

Je le fais (sélection des feuilles) automatiquement - en changeant le niveau d'activation des feuilles. Classiquement, 0,5 est utilisé pour la classification. Toutes les feuilles dont la probabilité est supérieure à 0,5 sont activées, les autres sont silencieuses (ce qui équivaut à les retirer de l'arbre). Cette méthode a été décrite dans plus d'un article sur ce site et ce forum.

Vous pouvez également fixer le niveau à 0,9 ou 0,95, ce qui signifie que seules les feuilles super propres avec 95 % d'exemples de la bonne classe fonctionneront. Pour la régression, il en va de même, mais le niveau n'est pas de 0 à 1, mais en valeurs abs. Les images ci-dessus montrent le même modèle, mais avec différents niveaux d'activation. La première est de 0,00020, la seconde de 0,00040pts. Le second a ignoré les intervalles de trading non rentables, et n'a travaillé que sur les intervalles les plus rentables et a montré des bénéfices, bien qu'il ait travaillé avec des pauses de 1 à 2 ans. L'activation a eu lieu dans 70000 cas sur 400000, c'est-à-dire qu'environ 17% des meilleures feuilles ont fonctionné.

Le résultat est similaire, obtenu avec une seule commande dans le code if(leaf_value>0.00040){...}. Le résultat est similaire, obtenu avec une seule commande dans le code if(leaf_value>0.00040){...}, sans toutes les manipulations que vous faites pour sélectionner les feuilles, et maintenant aussi les grappes.

Mais vous savez déjà tout cela....

 
Aleksey Vyazmikin #:

Sur les nouvelles données, oui. C'est simplement qu'un modèle cohérent a été trouvé et que le reste de l'arbre ne laisse que du bruit. Le bruit provient du fait que l'arbre a été forcé de donner des réponses à toutes les questions, c'est-à-dire de classer l'ensemble de l'échantillon.

Le problème est que l'arbre n'est pas construit en fonction de la condition de maximisation du profit, mais en fonction d'une fonction de perte pratique pour la programmation du progiciel.

Il faut donc faire un choix désagréable : soit essayer de reconfigurer un paquet complexe et sophistiqué, soit construire une bicyclette exiguë. Il est également possible de combiner "avec succès" ces deux options).

Selon moi, si vous décidez de modifier un paquet existant sur des arbres, vous devriez essayer d'utiliser l'élagage (pruning) - avec la condition de maximisation du profit à l'avance, par exemple. Il pourrait être possible d'éviter les manipulations manuelles des règles.

 
Maxim Dmitrievsky #:
Je n'ai pas beaucoup d'espoir, je ne fais que jeter un coup d'œil de temps en temps. Après tout le gpt, je prédis la stagnation et la stagnation dans ce sujet. Aucune percée n'est visible. C'est purement un hype flash, comme avec la crypto. Maintenant ils vont gagner de l'argent et se calmer.
Je suis d'accord avec vous !

Tout mon voisinage vante les mérites des réseaux neuronaux propagandés, mais quand on leur confie des tâches simples, ils n'y arrivent pas
 
Stanislav Korotky #:

L'exemple que j'ai donné est tiré de la section de l'entropie croisée catégorielle (et vous n'avez probablement pas prêté attention au fait que la somme des valeurs est de 1 dans chaque cas). Le fait que cela ne fonctionne pas comme dans Keras est un indicateur pour moi, ce qui signifie que soit l'implémentation, soit la description du CCE dans MQL5 ne correspond pas à ce qui est attendu. Une description détaillée est donc nécessaire. D'ailleurs, dans pytorch, CrossEntropyLoss inclut une softmax préliminaire. Mais en général, comme la documentation sur les matrices dans MQL5 contient l'idée que l'interface est similaire à celle de python, la coïncidence de comportement est implicite. Et s'il n'y a pas de coïncidence, cela cause des problèmes et de la perplexité.

Le fait d'avoir de nombreuses classes implique de travailler avec des matrices (lorsque nous avons un tas d'échantillons/rangs, chacun ayant des classes), donc votre exemple avec un vecteur ne répond toujours pas à la question.

J'ai compris. Les fonctions de perte fonctionnent avec les matrices comme avec les vecteurs. Ici, nous n'avons pas terminé (nous n'avons pas ajouté le paramètre d'axe).

C'est-à-dire que dans votre exemple, nous devons le résoudre ligne par ligne.

Merci de votre attention.

[Supprimé]  
Aleksey Vyazmikin #:

Sur les nouvelles données, oui. C'est simplement qu'un modèle cohérent a été trouvé et que le reste de l'arbre ne laisse que du bruit. Le bruit provient du fait que l'arbre a été forcé de donner des réponses à toutes les questions, c'est-à-dire de classer l'ensemble de l'échantillon.

Et si vous le retirez de la forêt, vous obtiendrez une moyenne des règles de tous les arbres qui s'y trouvent, en fonction du nombre d'arbres.

 
Forester #:

Je fais cela (sélection des feuilles) automatiquement en changeant le niveau d'activation des feuilles. Classiquement, 0,5 est utilisé pour la classification. Toutes les feuilles dont la probabilité est supérieure à 0,5 sont activées, les autres sont silencieuses (ce qui revient à les supprimer de l'arbre). Cette méthode a été décrite dans plus d'un article sur ce site et sur le forum.

Vous pouvez également fixer le niveau à 0,9 ou 0,95, ce qui signifie que seules les feuilles super propres avec 95 % d'exemples de la bonne classe fonctionneront. Pour la régression, de la même manière, seul le niveau n'est pas de 0 à 1, mais en valeurs abs. Les images ci-dessus montrent le même modèle, mais avec différents niveaux d'activation. La première est de 0,00020, la seconde de 0,00040pts. Le second a ignoré les intervalles de trading non rentables, et n'a travaillé que sur les intervalles les plus rentables et a montré des bénéfices, bien qu'il ait travaillé avec des pauses de 1 à 2 ans. L'activation a eu lieu dans 70000 cas sur 400000, c'est-à-dire qu'environ 17% des meilleures feuilles ont fonctionné.

Le résultat est similaire, obtenu avec une seule commande dans le code if(leaf_value>0.00040){...}. sans toutes les manipulations que vous faites pour sélectionner les feuilles et maintenant les grappes.

Mais vous savez déjà tout cela....

Vous avez une forêt, ne devez-vous pas repondérer le modèle après l'avoir construit ? Ou prenez-vous simplement la moyenne des feuilles activées ?

Lorsque je sélectionne une feuille, je tiens compte de la stabilité et de l'uniformité de la distribution des réponses au cours de l'histoire. Je crée des indicateurs bidimensionnels et je les évalue de manière globale. Ainsi, les feuilles sans réponse sont extrêmement rares pour moi.

Il me semble que vous pourriez facilement sauvegarder des feuilles, en créant des milliers d'arbres, et ne travailler qu'avec elles.

 
Aleksey Nikolayev #:

Le problème est que l'arbre n'est pas construit en fonction d'une condition de maximisation du profit, mais en fonction d'une fonction de perte pratique pour la programmation par paquets.

Vous êtes donc confronté à un choix désagréable : soit vous essayez de reconfigurer un paquet complexe et délicat, soit vous construisez une bicyclette exiguë. Il est également possible de combiner "avec succès" ces deux options.)

Selon moi, si vous décidez de modifier un paquet existant sur des arbres, vous devriez essayer d'utiliser l'élagage (pruning) - avec la condition de maximisation du profit à l'avance, par exemple. Il pourrait être possible d'éviter les manipulations manuelles des règles.

La variante que j'ai utilisée pour construire l'arbre ne construit pas d'arbres profonds - l'élagage peut être inutile dans ce cas.

Oui, presque toutes les manipulations sont automatisées, et ce qui ne l'est pas est plutôt dû à mon ignorance de R.

Je parle de bruit, car le prédicteur racine peut contenir une probabilité de prédisposition à des classes spécifiques de l'ordre de 10 % ou moins, et le reste de la probabilité est uniformément réparti, et le reste du résidu est utilisé pour couper les feuilles restantes.

 
Maxim Dmitrievsky #:

et si vous le sortez des bois, il y aura une moyenne de tous les arbres, par le nombre d'arbres

Les arbres sont construits indépendamment les uns des autres, puis pondérés par les réponses des feuilles. Je n'ai pas travaillé avec une forêt, mais avec un seul arbre. Je n'ai jamais entendu parler d'une forêt sur la génétique.