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

 
mytarmailS #:
Alors, montrez-moi votre métier.
Qu'est-ce que c'est que ces grands discours ?

Et voyons comment fonctionne votre TS selon une théorie centenaire qui fonctionne comme une horloge...
Allons, allons.

Ce genre de questions donne le tournis à tout le monde.

C'est comme à l'école.

Il faut partir de loin et poser des questions simples.

Sur quelle paire travaillez-vous ?

Et montrez la dernière transaction, entrée sortie avec tous les paramètres.

Ensuite, combien de transactions faites-vous par jour et à cet endroit il y a une pause.

P.Z.

Vous ne devriez pas poser plus de deux questions.

Vous risquez d'offenser les maîtres. Et si vous commencez à le faire ?

P.Z.

Je soutiens le Spartak.

 
Forester #:

Vous ne comprenez pas le poêle. Il semble que vous n'ayez jamais regardé le code de construction d'arbre.... Il n'y a pas du tout d'opérations à l'intérieur d'une seule ligne !!!, seulement avec des ensembles (complets ou par lots).

En bref :
Un ensemble aléatoire/complet de lignes transmis à la formation est trié un par un pour chaque prédicteur/colonne. Différentes répartitions sont vérifiées (moyenne/percentile/aléatoire), les statistiques de chacune sont comptées et la meilleure répartition est sélectionnée pour l'ensemble des lignes, et non pour une/chaque ligne comme vous l'avez suggéré.
En fonction de la meilleure division, l'ensemble des chaînes est divisé en deux ensembles, puis chaque ensemble est à nouveau trié et la meilleure division est sélectionnée pour chacune des parties, etc. jusqu'à ce que la règle d'arrêt soit atteinte (par la profondeur, le nombre d'exemples par ligne, etc.)

Vous pouvez voir plus de détails dans l'éditeur, vous avez le fichier :
\MQL5\Include\Math\Alglib\dataanalysis.mqh
La fonction ClassifierSplit() et celle à partir de laquelle elle est appelée.
Vous le comprendrez en quelques heures et vous n'aurez pas à parler de la recherche de prédicteurs par une ligne.
Ce sera plus clair ici, le code est plus concis et comporte des commentaires https://habr.com/ru/companies/vk/articles/438560/.

1. Classe RegressionTree()

Пишем XGBoost с нуля — часть 1: деревья решений
Пишем XGBoost с нуля — часть 1: деревья решений
  • 2019.02.06
  • habr.com
Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что-то новое почерпну), я решил сделать своё собственное руководство, каким...
 
Forester #:

Vous ne comprenez pas le poêle. Il semble que vous n'ayez jamais regardé le code de construction d'arbre.... Il n'y a pas du tout d'opérations à l'intérieur d'une seule ligne !!!, seulement avec des ensembles (complets ou par lots).

En bref :
Un ensemble aléatoire/complet de lignes transmis à la formation est trié un par un pour chaque prédicteur/colonne. Différentes répartitions sont vérifiées (moyenne/percentile/aléatoire), les statistiques de chacune sont comptées et la meilleure répartition est sélectionnée pour l'ensemble des lignes, et non pour une/chaque ligne comme vous l'avez suggéré.
En fonction de la meilleure division, l'ensemble des chaînes est divisé en deux ensembles, puis chaque ensemble est à nouveau trié et la meilleure division est sélectionnée pour chacune des parties, etc. jusqu'à ce que la règle d'arrêt soit atteinte (par la profondeur, le nombre d'exemples par ligne, etc.)

Vous pouvez voir plus de détails dans l'éditeur, vous avez le fichier :
\MQL5\Include\Math\Alglib\dataanalysis.mqh
La fonction ClassifierSplit() et celle à partir de laquelle elle est appelée.
Vous le comprendrez en quelques heures et vous n'aurez plus à parler de la recherche de prédicteurs par une ligne.

Vous avez raison à propos de plusieurs lignes.

Revenons au début : qu'est-ce qu'un modèle dans une forêt aléatoire ?

C'est un arbre unique. Voici un exemple d'un tel arbre tiré de la FR :

    left daughter right daughter split var split point status prediction
1               2              3         2  0.34154125      1          0
2               4              5         2  0.28238475      1          0
3               6              7         4  0.37505155      1          0
4               0              0         0  0.00000000     -1          2
5               8              9         5  0.64235664      1          0
6               0              0         0  0.00000000     -1          2
7              10             11         1  0.45438075      1          0
8              12             13         1  0.46271469      1          0
9              14             15         3  0.25803691      1          0
10             16             17         2  0.51942328      1          0
11             18             19         1  0.48839881      1          0
12             20             21         3  0.45243581      1          0
13              0              0         0  0.00000000     -1          2
14              0              0         0  0.00000000     -1          2
15             22             23         6  0.62789488      1          0
16             24             25         2  0.34224983      1          0
17             26             27         4  0.53845361      1          0
18             28             29         3  0.39207978      1          0
19             30             31         3  0.03596312      1          0
20             32             33         7  0.49380156      1          0
21              0              0         0  0.00000000     -1          2
22              0              0         0  0.00000000     -1          2
23             34             35         6  0.76472904      1          0
24              0              0         0  0.00000000     -1          1
25              0              0         0  0.00000000     -1          2
26             36             37         5  0.87588550      1          0
27             38             39         1  0.31089209      1          0
28             40             41         2  0.39193398      1          0
29             42             43         1  0.47068628      1          0
30             44             45         7  0.76420940      1          0
31             46             47         2  0.38380954      1          0

 [ reached getOption("max.print") -- omitted 185 rows ]

Total des lignes = 166+185 ! Toutes ne correspondent pas

Il y a 150 arbres de ce type dans mon modèle

split var - это номер переменной, всего их в модели 8
split point - лучшее значение конкретной переменной, которое использовалось для разделения.
 
СанСаныч Фоменко #:

Vous avez raison en ce qui concerne les nombreuses lignes.

Revenons au début : qu'est-ce qu'un modèle dans une forêt aléatoire ?

C'est un arbre unique. Voici un exemple d'un tel arbre tiré de RF :

Total des lignes = 166+185 ! Aucune d'entre elles ne correspond

Il y a 150 arbres de ce type dans mon modèle

Considérons à nouveau le chemin formant la feuille. Dans mon exemple ci-dessus, il y a 5 divisions. Ne s'agit-il pas d'une description du modèle de 2 sommets avec un creux ? Description.
7 divisions peuvent décrire la tête, les épaules, etc.
Chaque feuille d'un arbre décrit un modèle différent.

La forêt est l'opinion de la foule (derviews).
Le 1er arbre dit : cette chaîne tombe dans mon 18ème modèle/feuille et la réponse = 1
2ème : la même chaîne tombe dans mon 215ème modèle/feuille et donne la réponse=0
3ème : = 1

...

Nous faisons la moyenne et obtenons l'opinion moyenne de 150 arbres. Par exemple = 0,78. Chacun d'entre eux avait une feuille/motif activé(e) différent(e).

 
Forester #:

Reprenons l'exemple de la feuille de formation de chemin. Dans mon exemple ci-dessus, il y a 5 divisions. Ne s'agit-il pas d'une description de la configuration de 2 sommets et d'un creux ? Description.
7 fentes peuvent décrire la tête, les épaules, etc.
Chaque feuille d'un arbre décrit un motif différent.

Une forêt est l'opinion d'une foule de derviches.
Le 1er arbre dit : cette ligne tombe dans mon 18ème modèle/feuille et la réponse = 1
2ème : la même ligne tombe dans mon 215ème modèle/feuille et donne la réponse=0
3ème : = 1

...

Nous faisons la moyenne et obtenons l'opinion moyenne de 150 arbres. Chacun d'entre eux avait une feuille/un motif activé(e) différent(e).

Nous ne savons pas combien de feuilles.

Le nombre d'arbres est un paramètre qui peut être modifié pour obtenir la taille minimale de l'échantillon pour l'entraînement.

Nous constatons que 50 arbres suffisent, il est donc pratique de considérer un arbre comme un motif.

 
СанСаныч Фоменко #:

Le nombre de feuilles est inconnu.

Le nombre d'arbres est un paramètre qui peut être modifié pour obtenir la taille minimale de l'échantillon pour la formation.

Nous constatons que 50 arbres suffisent, il est donc pratique de considérer un arbre comme un motif.

L'arbre répond à chaque situation/rangée par une feuille/motif. Dans d'autres situations, la réponse proviendra d'autres feuilles/motifs.
 
Forester #:
L'arbre répond à chaque situation/ligne par une feuille/un motif. Dans d'autres situations, la réponse sera apportée par d'autres feuilles/motifs.

Il semble que non seulement la feuille, mais aussi l'arbre ne résolvent rien.

J'ai trouvé ici la formule du classificateur final




  • N - nombre d'arbres ;
  • i - compteur d'arbres
  • b - l' arbre décisif ;
  • x - l'échantillon que nous avons généré à partir des données.

Il convient également de noter que pour la tâche de classification, nous choisissons la solution par vote majoritaire, tandis que pour la tâche de régression, nous choisissons la solution par la moyenne.

 
СанСаныч Фоменко #:

Il semble que non seulement la feuille, mais aussi l'arbre ne résolvent rien.

Voici la formule du classificateur final

Il convient également de noter que pour la tâche de classification, nous choisissons la solution par vote majoritaire, tandis que pour la tâche de régression, nous choisissons la solution par moyenne.

Pourquoi ne résout-il pas ? Elle contribue (1/150) à la réponse finale.

Pour chaque arbre, une des feuilles/motifs activés participe au vote (moyenne).

La réponse de la forêt est la moyenne des réponses de tous les arbres (ou feuilles/motifs activés) - cette formule la comptabilise. La majorité pour la classification binaire sera si la moyenne est >0.5, alors 1, sinon 0.
Mais la limite de 0.5 n'est probablement pas la meilleure option, si le paquet donne accès à la valeur de la moyenne, vous pouvez expérimenter avec différentes limites.

 
Forester #:
L'arbre répond à chaque situation/ligne par une feuille/un motif. Dans d'autres situations, la réponse viendra d'autres feuilles/motifs.
SanSanych Fomenko #:

Il semble que non seulement la feuille, mais aussi l'arbre ne résolvent rien.

Il n'y a pas qu'une seule feuille, mais tous les arbres sont responsables de chaque situation, mais ils ne sont pas tous activés, et la somme des prévisions de ceux qui sont activés est la prévision du modèle.....


De quoi parlez-vous, experts en modèles d'arbres ?

 
mytarmailS #:

Ce n'est pas une feuille, mais tous les arbres qui sont responsables de chaque situation, mais ils ne sont pas tous activés. La somme des prévisions de ceux qui sont activés est la prévision du modèle.


De quoi parlez-vous, experts en modèles d'arbres ?

Avez-vous dit quelque chose de nouveau ? Si ce n'est pas le cas, alors d'après vous, c'est aussi de la foutaise.