交易中的机器学习:理论、模型、实践和算法交易 - 页 486

 
我不知道它是怎么算的,我的是算非猜测选项的百分比。
例如,在这个变体上有1000个输入,其中600个在加号中工作(我猜的),400个在红号中工作(我猜的)。所以误差是与所有变体有关的未猜测的选项数量,在这个例子中,误差=400/1000=0.4

恭敬地说。
 
安德烈-基塞廖夫
我不知道它对别人是如何工作的,但对我来说,它计算的是非幸运变体的百分比。
例如,在这个变体上有1000个条目,其中600个在加号中工作(我猜的),400个在红号中工作(我没猜)。 所以误差是与所有变体有关的非猜测选项的数量,在这个例子中,误差=400/1000=0.4

恭敬地说。

在这里,我理解最终的误差是除以样本数乘以输入数的某种原因,如果你把它删除。

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

如果你把它乘回去,你会得到一个相当明白的结果,例如0.5578064232767638 :)


 
马克西姆-德米特里耶夫斯基

在这里,我理解最终的误差是除以样本数乘以输入数的某种原因,如果你把它删除。

如果你把它乘回来,那么结果就很清楚了,例如0.5578064232767638 :)


最有可能的是
return(result/(npoints*df.m_nclasses));
指_点(点)像猜测的点,从...。或反之亦然。

注意到。
 
安德烈-基塞廖夫
最有可能的是
意味着_点(点)像猜测的点,从......。或反之亦然。

最好的问候。

不,这里的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,那么输出应该被省略)。

可能对某人有用

我希望我没有混淆任何东西,并且做得很好:)至少错误值是清楚的。
 
马克西姆-德米特里耶夫斯基

不,这里的npoints是指输入矢量的长度 :)

那么你需要看看什么是结果,因为除数是输入参数。

恕我直言。
 
安德烈-基塞廖夫
如果是这样的话,那么我需要看看rezult是什么,因为除数是输入参数。

恕我直言。

简而言之,这只是所有样本的平均误差,我们不需要它...rezult只返回总误差,然后将其除以样本中的例子数量(可以删除)。

 
马克西姆-德米特里耶夫斯基

简而言之,这只是所有样本的平均误差,你不需要它...rezult只返回总误差,然后将其除以样本中的例子数量。

所以,你需要把它恢复到正常状态,你通过乘以除数来做到这一点。

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



恕我直言。

 
安德烈-基塞廖夫

所以需要把它恢复到正常状态,你已经通过乘以除数完成了这一工作。



恕我直言。


这是一种调整东西,然后像孩子一样欢欣鼓舞的感觉 :)

 
马克西姆-德米特里耶夫斯基

当你调整了一些东西,然后像孩子一样欢呼雀跃的感觉 :)

在橱柜中寻找,并从花瓶中取出一个甜食。

真诚的。
 
Maxim Dmitrievsky:

从理论上讲,随机森林 应该没有什么错误,因为所有的变量都用在决策树中,而且不像神经网络那样对内存的使用有限制--神经元的数量。在那里,你只能使用单独的操作来 "模糊 "结果,例如等级限制、修剪树木或双陆棋。我不知道在MQ的alglib实现中是否有修剪,有标签的存在

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

如果这个变量小于1,误差应该增加。