Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 486

 
не знаю как у кого считает, у меня считает процент НЕ угаданных вариантов.
например по данному варианту было 1000 входов из них 600 отработал в плюс(угадал) 400 отработал в минус(не угадал). так вот ошибка это количество НЕ угаданных вариантов по отношению ко всем вариантам, в данном примере ошибка=400/1000=0.4

с уважением.
 
Andrey Kisselyov:
не знаю как у кого считает, у меня считает процент НЕ угаданных вариантов.
например по данному варианту было 1000 входов из них 600 отработал в плюс(угадал) 400 отработал в минус(не угадал). так вот ошибка это количество НЕ угаданных вариантов по отношению ко всем вариантам, в данном примере ошибка=400/1000=0.4

с уважением.

Здесь я так понял итоговая ошибка делится на кол-во примеров умноженное на кол-во входов зачем-то, если убрать это:

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

если перемножить обратно то будет вполне внятный результат, например  0.5578064232767638 :)


 
Maxim Dmitrievsky:

Здесь я так понял итоговая ошибка делится на кол-во примеров умноженное на кол-во входов зачем-то, если убрать это:

если перемножить обратно то будет вполне внятный результат, например  0.5578064232767638 :)


скорее всего
return(result/(npoints*df.m_nclasses));
означает _Point (пункты) типа угадано пунктов из ... или наоборот.

с уважением.
 
Andrey Kisselyov:
скорее всего
означает _Point (пункты) типа угадано пунктов из ... или наоборот.

с уважением.

нет, здесь npoints означает длину входного вектора :)

а nclasses это количество выходов, о даже как

//+------------------------------------------------------------------+
//| 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)

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

мб кому-то пригодится

Надеюсь, я ничего не перепутал и сделал правильно :) оп крайней мере значения ошибок стали внятными
 
Maxim Dmitrievsky:

нет, здесь npoints означает длину входного вектора :)

тогда нужно смотреть что такое rezult , раз делитель это входные параметры.

с уважением.
 
Andrey Kisselyov:
тогда нужно смотреть что такое rezult , раз делитель это входные параметры.

с уважением.

короче это просто усредненная ошибка по всем примерам, а нафиг она нужна.. rezult возвращает как раз общую ошибку, а затем она делится на кол-во примеров в выборке (это можно убрать)

 
Maxim Dmitrievsky:

короче это просто усредненная ошибка по всем примерам, а нафиг она нужна.. rezult возвращает как раз общую ошибку, а затем она делится на кол-во примеров в выборке

 значит ее нужно вернуть в нормальное состояние, что вы и сделали, умножив на делитель.

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



с уважением.

 
Andrey Kisselyov:

 значит ее нужно вернуть в нормальное состояние, что вы и сделали, умножив на делитель.



с уважением.


То чувство, когда что-то подкрутил и потом радуешься как ребенок :)

 
Maxim Dmitrievsky:

То чувство, когда что-то подкрутил и потом радуешься как ребенок :)

загляните в буфет и возьмите конфетку из вазочки.

с уважением.
 
Maxim Dmitrievsky:
 

По идее в случайных лесах и должна быть маленькая ошибка, потому что при их построении в деревьях решений используется все переменные и нет ограгничения на использование памяти как в нейросетях - количествово нейронов. Там можно только отдельные операции использовать для "размывания" результата, типа ограничения уровне, обрезки деревьев или бэггинга. Не знаю есть-ли в MQ реализации алглиба обрезка, бэггинг есть

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

 если эту переменную делать поменьше чем 1 ,то должна ошибка увеличиваться.