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

 
Je ne sais pas comment il compte, le mien compte le pourcentage d'options de non-guessing.
Par exemple sur cette variante il y avait 1000 entrées dont 600 travaillaient dans le plus (j'ai deviné) 400 travaillaient dans le rouge (j'ai deviné). Donc l'erreur est le nombre d'options non devinées par rapport à toutes les variantes, dans cet exemple, erreur = 400/1000 = 0.4

Respectueusement.
 
Andrey Kisselyov:
Je ne sais pas comment cela fonctionne pour quelqu'un d'autre mais pour moi, cela compte le pourcentage de variantes non chanceuses.
Par exemple, sur cette variante, il y avait 1000 entrées dont 600 fonctionnaient dans le plus (j'ai deviné) et 400 dans le rouge (je n'ai pas deviné). L'erreur est donc le nombre de variantes non devinées par rapport à toutes les variantes, dans cet exemple, l'erreur = 400/1000 = 0.4

Respectueusement.

Ici, je comprends que l'erreur finale est divisée par le nombre d'échantillons multiplié par le nombre d'entrées pour une raison quelconque, si vous le supprimez :

return(result/(npoints*df.m_nclasses));

Si vous le multipliez, vous obtenez un résultat assez intelligible, par exemple 0,5578064232767638 :)


 
Maxim Dmitrievsky:

Ici, je comprends que l'erreur finale est divisée par le nombre d'échantillons multiplié par le nombre d'entrées pour une raison quelconque, si vous le supprimez :

Si vous le multipliez alors le résultat est assez clair, par exemple 0.5578064232767638 :)


le plus probable
return(result/(npoints*df.m_nclasses));
signifie _Point(s) comme des points supposés de ... ou vice versa.

Regards.
 
Andrey Kisselyov:
le plus probable
Signifie _Point(s) comme les points devinés de ... ou vice versa.

Meilleures salutations.

Non, ici npoints signifie la longueur du vecteur d'entrée :)

Alors que nclasses est le nombre de sorties, comment

//+------------------------------------------------------------------+
//| This subroutine builds random decision forest.                   |
//| INPUT PARAMETERS:                                                |
//|     XY          -   training set                                 |
//|     NPoints     -   training set size, NPoints>=1                |
//|     NVars       -   number of independent variables, NVars>=1    |
//|     NClasses    -   task type:                                   |
//|                     * NClasses=1 - regression task with one      |
//|                                    dependent variable            |
//|                     * NClasses>1 - classification task with      |
//|                                    NClasses classes.             |
//|     NTrees      -   number of trees in a forest, NTrees>=1.      |
//|                     recommended values: 50-100.                  |
//|     R           -   percent of a training set used to build      |
//|                     individual trees. 0<R<=1.                    |
//|                     recommended values: 0.1 <= R <= 0.66.        |
//| OUTPUT PARAMETERS:                                               |
//|     Info        -   return code:                                 |
//|                     * -2, if there is a point with class number  |
//|                           outside of [0..NClasses-1].            |
//|                     * -1, if incorrect parameters was passed     |
//|                           (NPoints<1, NVars<1, NClasses<1,       |
//|                           NTrees<1, R<=0 or R>1).                |
//|                     *  1, if task has been solved                |
//|     DF          -   model built                                  |
//|     Rep         -   training report, contains error on a training|
//|                     set and out-of-bag estimates of              |
//|                     generalization error.                        |
//+------------------------------------------------------------------+
static void CDForest::DFBuildRandomDecisionForest(CMatrixDouble &xy,
                                                  const int npoints,
                                                  const int nvars,
                                                  const int nclasses,
                                                  const int ntrees,
                                                  const double r,int &info,
                                                  CDecisionForest &df,
                                                  CDFReport &rep)

Ainsi, l'erreur finale doit être multipliée par la longueur de l'échantillon d'entraînement multiplié par le nombre de sorties (si 1, alors les sorties doivent être omises).

Peut être utile pour quelqu'un

J'espère que je n'ai rien mélangé et que je l'ai fait correctement :) au moins les valeurs d'erreur sont claires.
 
Maxim Dmitrievsky:

Non, ici npoints signifie la longueur du vecteur d'entrée :)

Il faut alors regarder ce qu'est le résultat, puisque le diviseur est un paramètre d'entrée.

Avec respect.
 
Andrey Kisselyov:
Si c'est le cas, alors je dois voir ce qu'est rezult, puisque le diviseur est le paramètre d'entrée.

Avec respect.

En bref, c'est juste une erreur moyenne sur tous les échantillons, et nous n'en avons pas besoin... rezult renvoie juste l'erreur totale, puis elle est divisée par le nombre d'exemples dans l'échantillon (ceci peut être supprimé).

 
Maxim Dmitrievsky:

En bref, il s'agit juste d'une erreur moyenne sur tous les échantillons, et vous n'en avez pas besoin... rezult renvoie uniquement l'erreur totale, qui est ensuite divisée par le nombre d'exemples de l'échantillon.

Vous devez donc le ramener à la normale, ce que vous avez fait en le multipliant par le diviseur.

Т.е. итоговую ошибку нужно домножить на длину обучающей выборки умноженную на кол-во выходов (если 1 то выходы опускаем)



Avec respect.

 
Andrey Kisselyov:

Il faut donc la ramener à la normale, ce que vous avez fait en la multipliant par le diviseur.



Avec respect.


C'est le sentiment de peaufiner quelque chose et de se réjouir ensuite comme un enfant :)

 
Maxim Dmitrievsky:

Le sentiment quand vous peaufinez quelque chose et que vous vous réjouissez comme un enfant :)

Regardez dans un placard et prenez un bonbon dans un vase.

Sincèrement.
 
Maxim Dmitrievsky:

En théorie, il devrait y avoir peu d'erreurs dans lesforêts aléatoires, car toutes les variables sont utilisées dans les arbres de décision et il n'y a pas de restriction sur l'utilisation de la mémoire comme dans les réseaux neuronaux - le nombre de neurones. Là, vous ne pouvez utiliser que des opérations distinctes pour "brouiller" le résultat, comme la restriction de niveau, l'élagage des arbres ou le backgammon. Je ne sais pas s'il y a un élagage dans l'implémentation MQ d'alglib, il y a un étiquetage...

//      R           -   percent of a training set used to build      |
//|                     individual trees. 0<R<=1.                    |
//|                     recommended values: 0.1 <= R <= 0.66.  

Si cette variable est inférieure à 1, l'erreur devrait augmenter.