交易中的机器学习:理论、模型、实践和算法交易 - 页 1266 1...125912601261126212631264126512661267126812691270127112721273...3399 新评论 Ivan Negreshniy 2019.01.22 08:14 #12651 安德烈-哈蒂姆连斯基。在这个主题中,有一篇客串文章。只是来分享一篇文章 努默莱为卡尔-马克思提出的 "各国无产者联合起来!"的口号所倾倒,由杰弗里-辛顿解释:) Yuriy Asaulenko 2019.01.22 10:24 #12652 马克西姆-德米特里耶夫斯基。顺便说一下,这一点是准确的。 考虑到论坛上白痴的数量(包括你最喜欢的魔术师mudo...),我认为没有必要再支持这个话题,因为我自己几乎没有得到任何好处马克西姆,你错了!对你来说有一个好处,在任务的制定和表述上有一个好处。然而,我并不是要劝说你。 Maxim Dmitrievsky 2019.01.22 10:30 #12653 尤里-阿索连科。马克西姆,你错了!对你有好处,在任务的措辞和表述上有好处。然而,我没有说服力。你可以看到这里住着一些临床上的白痴,这些不是论坛上的面具,而是真实的案例,你告诉他们一个词,他们就会在每个帖子后告诉你两个词。 Ivan Negreshniy 2019.01.22 11:01 #12654 elibrarius。我在Alglib森林中发现了一个不起眼的代码。来自dataanalysis.mqh的交叉熵计算功能的完整代码。 //+------------------------------------------------------------------+//| Average cross-entropy (in bits per element) on the test set |//| INPUT PARAMETERS: |//| DF - decision forest model |//| XY - test set |//| NPoints - test set size |//| RESULT: |//| CrossEntropy/(NPoints*LN(2)). |//| Zero if model solves regression task. |//+------------------------------------------------------------------+ static double CDForest::DFAvgCE(CDecisionForest &df,CMatrixDouble &xy, const int npoints) {//--- create variables double result=0; int i=0; int j=0; int k=0; int tmpi=0; int i_=0;//--- creating arrays double x[]; double y[];//--- allocation ArrayResizeAL(x,df.m_nvars); ArrayResizeAL(y,df.m_nclasses);//--- initialization result=0; for(i=0;i<=npoints-1;i++) { for(i_=0;i_<=df.m_nvars-1;i_++) x[i_]=xy[i][i_]; //--- function call DFProcess(df,x,y); //--- check if(df.m_nclasses>1) { //--- classification-specific code k=(int)MathRound(xy[i][df.m_nvars]); tmpi=0; for(j=1;j<=df.m_nclasses-1;j++) { //--- check if(y[j]>(double)(y[tmpi])) tmpi=j; } //--- check if(y[k]!=0.0) result=result-MathLog(y[k]); else result=result-MathLog(CMath::m_minrealnumber); } }//--- return result return(result/npoints); } 红色标记的代码片段考虑了一些不被使用的东西(tmpi)。那为什么会包括它呢? 要么是遗漏了什么,要么是代码没有完全清理干净。 一般来说,我开始接触这个函数是因为我想搜索1棵树。而当我设置森林中的树木数量=1时,我看到所有的错误都在0到1之间,而这个从100到300+的错误发生了。 是否有人理解交叉熵--代码甚至是正确的,或者说有些东西被撤销了? 根据维基百科 ,它应该是 在计算logloss时,如果预测正确的类的概率为零,则该值一般可能达到无穷大,因为该公式包括了除它之外的所有其他类的零系数,似乎有一些尝试来解决这个故障--在tmpi中循环寻找样本中概率值最高的类,也许想加到公式中,但可能没有想清楚:) Forester 2019.01.22 11:13 #12655 伊万-内格雷什尼。 一般来说,对无穷大的价值可能是在计算logloss时,如果预测正确的类的概率为零,因为该公式包括所有其他类,除了它的系数为零,似乎有试图以某种方式解决这个故障--在tmpi中循环查找在给定样本中概率值最高的类,也许想添加到公式中,但显然没有想清楚:) 在5个错误函数中,只有1个用到了临时工。显然,它被用作其他功能的假人,但在其他功能中,他们忘记了移除它。 总共有1个tmpi存在并正在使用,还有2个存在但没有使用。 总的来说,这并不影响操作。 Ivan Negreshniy 2019.01.22 11:20 #12656 elibrarius: tmpi只用于5个错误函数中的一个。显然,它被用作其他功能的假人,但在其他功能中忘记了删除它。 总的来说,有1个临时电话正在使用,还有2个正在使用,但没有使用。 一般来说,它不影响操作。我的意思是,一个好的错误计算公式可以考虑到所有类别的概率分布,而不是只有一个正确的类别。 也就是说,如果其中一个样本的正确类别概率为零,那么一切都会飞向无穷大。 显然,这就是为什么我喜欢用二次误差进行回归的原因:) Forester 2019.01.22 11:26 #12657 伊万-内格雷什尼。 我基本上是说,一个好的错误计算公式可以考虑到所有类别的概率分布,而不仅仅是一个正确的类别。 那么,有5个错误函数。这个有点奇怪,但其他4个,因为他们应该从0到1的变化。所以有一个选择) Alexander_K2 2019.01.22 15:00 #12658 现在让凯沙(桑桑尼茨的孙子)和被投资者杀害的阿廖沙来管理这个分支机构。这将是公平的。 Yuriy Asaulenko 2019.01.22 15:23 #12659 亚历山大_K2。 现在让凯沙(SanSanYch的孙子)和被投资者惩罚的阿廖沙领导这个话题。这将是公平的。放弃这个话题,开始一个新的、更充分的、有其他相关主题的话题,更有意义。 顺便说一下,我在价格方面发现了一个正态分布。我已经在《提示》中写道,所有的异常都来自于 "不正确的 "数据处理--我们自己做的)。 我将在这几天或更早的时候把它贴在Python的主题里。 Alexander_K2 2019.01.22 15:49 #12660 尤里-阿索连科。放弃这个话题,开始一个新的、更充分的、有其他相关主题的话题,更有意义。 顺便说一下,我在价格方面发现了一个正态分布。我已经在《提示》中写道,所有的异常都来自于 "不正确的 "数据处理--我们自己做的)。 我将在这几天或更早的时候把它贴到Python主题中。唉,鉴于论坛上缺乏像Matemat、Northwind和Prival这样水平的人,所有这些话题都没有前途。IMHO。 1...125912601261126212631264126512661267126812691270127112721273...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在这个主题中,有一篇客串文章。只是来分享一篇文章
顺便说一下,这一点是准确的。
考虑到论坛上白痴的数量(包括你最喜欢的魔术师mudo...),我认为没有必要再支持这个话题,因为我自己几乎没有得到任何好处
马克西姆,你错了!对你来说有一个好处,在任务的制定和表述上有一个好处。然而,我并不是要劝说你。
马克西姆,你错了!对你有好处,在任务的措辞和表述上有好处。然而,我没有说服力。
你可以看到这里住着一些临床上的白痴,这些不是论坛上的面具,而是真实的案例,你告诉他们一个词,他们就会在每个帖子后告诉你两个词。
我在Alglib森林中发现了一个不起眼的代码。来自dataanalysis.mqh的交叉熵计算功能的完整代码。
//+------------------------------------------------------------------+
//| Average cross-entropy (in bits per element) on the test set |
//| INPUT PARAMETERS: |
//| DF - decision forest model |
//| XY - test set |
//| NPoints - test set size |
//| RESULT: |
//| CrossEntropy/(NPoints*LN(2)). |
//| Zero if model solves regression task. |
//+------------------------------------------------------------------+
static double CDForest::DFAvgCE(CDecisionForest &df,CMatrixDouble &xy,
const int npoints)
{
//--- create variables
double result=0;
int i=0;
int j=0;
int k=0;
int tmpi=0;
int i_=0;
//--- creating arrays
double x[];
double y[];
//--- allocation
ArrayResizeAL(x,df.m_nvars);
ArrayResizeAL(y,df.m_nclasses);
//--- initialization
result=0;
for(i=0;i<=npoints-1;i++)
{
for(i_=0;i_<=df.m_nvars-1;i_++)
x[i_]=xy[i][i_];
//--- function call
DFProcess(df,x,y);
//--- check
if(df.m_nclasses>1)
{
//--- classification-specific code
k=(int)MathRound(xy[i][df.m_nvars]);
tmpi=0;
for(j=1;j<=df.m_nclasses-1;j++)
{
//--- check
if(y[j]>(double)(y[tmpi]))
tmpi=j;
}
//--- check
if(y[k]!=0.0)
result=result-MathLog(y[k]);
else
result=result-MathLog(CMath::m_minrealnumber);
}
}
//--- return result
return(result/npoints);
}
红色标记的代码片段考虑了一些不被使用的东西(tmpi)。那为什么会包括它呢?
根据维基百科 ,它应该是要么是遗漏了什么,要么是代码没有完全清理干净。
一般来说,我开始接触这个函数是因为我想搜索1棵树。而当我设置森林中的树木数量=1时,我看到所有的错误都在0到1之间,而这个从100到300+的错误发生了。
是否有人理解交叉熵--代码甚至是正确的,或者说有些东西被撤销了?
一般来说,对无穷大的价值可能是在计算logloss时,如果预测正确的类的概率为零,因为该公式包括所有其他类,除了它的系数为零,似乎有试图以某种方式解决这个故障--在tmpi中循环查找在给定样本中概率值最高的类,也许想添加到公式中,但显然没有想清楚:)
总共有1个tmpi存在并正在使用,还有2个存在但没有使用。
总的来说,这并不影响操作。
tmpi只用于5个错误函数中的一个。显然,它被用作其他功能的假人,但在其他功能中忘记了删除它。
总的来说,有1个临时电话正在使用,还有2个正在使用,但没有使用。
一般来说,它不影响操作。
我的意思是,一个好的错误计算公式可以考虑到所有类别的概率分布,而不是只有一个正确的类别。
也就是说,如果其中一个样本的正确类别概率为零,那么一切都会飞向无穷大。
显然,这就是为什么我喜欢用二次误差进行回归的原因:)
我基本上是说,一个好的错误计算公式可以考虑到所有类别的概率分布,而不仅仅是一个正确的类别。
现在让凯沙(SanSanYch的孙子)和被投资者惩罚的阿廖沙领导这个话题。这将是公平的。
放弃这个话题,开始一个新的、更充分的、有其他相关主题的话题,更有意义。
顺便说一下,我在价格方面发现了一个正态分布。我已经在《提示》中写道,所有的异常都来自于 "不正确的 "数据处理--我们自己做的)。
我将在这几天或更早的时候把它贴在Python的主题里。
放弃这个话题,开始一个新的、更充分的、有其他相关主题的话题,更有意义。
顺便说一下,我在价格方面发现了一个正态分布。我已经在《提示》中写道,所有的异常都来自于 "不正确的 "数据处理--我们自己做的)。
我将在这几天或更早的时候把它贴到Python主题中。
唉,鉴于论坛上缺乏像Matemat、Northwind和Prival这样水平的人,所有这些话题都没有前途。IMHO。