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

 

Mihail Marchukajtes:

Maximka s'est empêtré dans les bois et ne trouve toujours pas la sortie ? Entreprise ....

J'admets que je ne suis pas venu ici depuis longtemps, tout en affaires et en soucis..... Mais j'ai décidé de venir ici. Enregistrez-vous, pour ainsi dire :-) Au fait, ....

Il y a une place pour rien. Autrefois Maximka la défoncée, aujourd'hui Maximka l'idiote))).


 
Vizard_:

Il y a une place pour rien. Autrefois Maximka la défoncée, aujourd'hui Maximka l'idiote).


eh bien, vous êtes juste un bon jour dans la vie, et vous ne changez pas votre statut

Secret Girl
 
Maxim Dmitrievsky:

eh bien tu es juste un bon jour pour la vie et tu ne changes pas de statut

fille secrète

Oh, Professeur))) C'est la même chose avec les "modèles". Où est le cerf et où est la fille, où est 0,
et 1... Pas de définition, tout est dans une seule pile))) hilarant...

 
Vizard_:

Oh, Professeur)))) C'est la même chose avec les modèles. Où est le cerf et où est la fille, où est le zéro,
et 1... on ne peut pas dire, c'est tout dans une seule pile))) hilarant...

Il m'a fallu plus de 10 minutes pour trouver comment répondre... Je devais être en train de me préparer, de faire des captures d'écran, de m'inquiéter...

j'ai compris, tu as besoin de renaître d'un tas de merde pour faire une apparition spectaculaire, ensuite tu te sens bien dans ta peau ;))

Eh bien, bienvenue à nouveau ))))

 
Maxim Dmitrievsky:

la vitesse d'apprentissage est bonne, le temps de réponse lors de l'utilisation et le temps de téléchargement de la structure sont mauvais, car les fichiers de la forêt sont volumineux. J'ai eu jusqu'à 300 mb.

Il y a un problème avec la sérialisation. La forêt est formée et sauvegardée plus rapidement qu'elle n'est rechargée à partir du fichier.

S'il est indiqué que la forêt génère maintenant des ordres de grandeur de fichiers en moins, il s'agit d'une très grande accélération.

Au contraire, le NS s'entraîne plus longtemps, mais la réponse est instantanée. Il n'y a pas de différence dans la qualité de la classification. Vous pouvez utiliser n'importe quoi, mais la forêt qui sort de la boîte fonctionne, et le NS doit être ajusté.


Tout ce qui est écrit sur la forêt dans la description de la mise à niveau :
algorithme de construction de forêts aléatoires amélioré, qui est de 2x à 10x plus rapide que la version précédente et produit des forêts de taille plus réduite.

L'ancienne version a la structure de données suivante

//--- info sur le noeud :

//--- W[K+0] - numéro de variable (-1 pour le mode feuille)
//--- W[K+1] - seuil (classe/valeur pour le nœud feuille)
//--- W[K+2] - indice de branche ">=" (absent pour le nœud feuille)

Ce nouveau nœud stocke les mêmes 3 variables pour un nœud et 2 pour une feuille.
Et l'arbre est construit exactement de la même manière - jusqu'au dernier exemple avec 0 erreur. Je n'ai pas vu d'élagage.
La seule chose que j'ai vue dans les commentaires du code à propos d'accélérer
SplitStrength- type de division :
* 0 = diviser à la position aléatoire, la plus rapide
* 1 = division au milieu de la fourchette
* 2 = forte division au meilleur point de la gamme (par défaut)

Il semble que le fractionnement aléatoire permette une accélération de 2 à 10 fois et de meilleurs points de fractionnement, ce qui peut donner lieu à un arbre plus compact.

Vous pouvez simplement ajouter la sélection aléatoire de points à la fonction de partitionnement. Modifier en 2-3 lignes))

 
elibrarius:

Je ne connais pas très bien l'anglais.
Tout ce que ça dit sur la forêt :
algorithme de construction de forêts aléatoires amélioré, qui est de 2x à 10x plus rapide que la version précédente et produit des forêts de taille plus réduite.

Dans l'ancienne version, la structure des données était la suivante :

//--- info sur le noeud :

//--- W[K+0] - numéro de variable (-1 pour le mode feuille)
//--- W[K+1] - seuil (classe/valeur pour le nœud feuille)
//--- W[K+2] - indice de branche ">=" (absent pour le nœud feuille)

Ce nouveau nœud stocke les mêmes 3 variables pour un nœud et 2 pour une feuille.
Et l'arbre est construit exactement de la même manière - jusqu'au dernier exemple avec 0 erreur. Je n'ai pas vu d'élagage.
La seule chose que j'ai vue dans les commentaires du code à propos d'accélérer
SplitStrength- type de fractionnement :
* 0 = diviser à la position aléatoire, le plus rapide
* 1 = division au milieu de la fourchette
* 2 = forte division au meilleur point de la gamme (par défaut)

Apparemment, le fractionnement aléatoire permet d'obtenir une vitesse de 2 à 10 fois supérieure et de meilleurs points de fractionnement, ce qui peut donner lieu à un arbre plus compact.

c'est-à-dire que la méthode de fractionnement est maintenant configurable ? Mais le défaut est toujours le plus lent

Oh bien, vous pouvez le refaire vous-même alors, oui :)

 
Maxim Dmitrievsky:

c'est-à-dire que la méthode de fractionnement est maintenant configurable ? Mais le défaut est toujours le plus lent

oh bien, vous pouvez le refaire vous-même alors, oui :)

Je crains que toutes ces modifications ne soient écrasées lors de la mise à jour du terminal. Il est nécessaire de faire une copie de la classe forestière et de la conserver dans un fichier séparé.
 
elibrarius:
Seulement, j'ai peur que toutes les modifications soient écrasées lorsque le terminal sera mis à jour. Nous devrions faire une copie de la classe forestière et la conserver dans un fichier séparé.

Oui, ou garder une archive.

Bon, alors, faisons l'expérience, merci de fouiller, c'est utile.

peut-être de la même manière que nous pourrions ajouter des arbres bayésiens, si vous comprenez bien.
 
elibrarius:

Je comprends donc qu'il y a quelque chose à essayer de changer ici.

//+------------------------------------------------------------------+
//| Makes split on attribute                                         |
//+------------------------------------------------------------------+
static void CDForest::DFSplitC(double &x[],int &c[],int &cntbuf[],const int n,
                               const int nc,const int flags,int &info,
                               double &threshold,double &e,double &sortrbuf[],
                               int &sortibuf[])
 
Maxim Dmitrievsky:

Donc je comprends que vous pouvez essayer de changer quelque chose ici.

oui. Et le dupliquer dans DFSplitR, pour que l'échafaudage de régression ait aussi la même fonctionnalité.