文章 "强化学习中的随机决策森林" - 页 10

 
VANDER:

要使它不是二进制,而是每个节点都有任意数量的后代,就像这样:


我认为从一个节点分出两个以上的分支是没有意义的,就像你的图片中那样。

毕竟,如果我们将多个分部分为 2 个分支,得到的结果是一样的。只是树的深度会更大(不是你图中的 3 个,而是 7-10 个)。

标准算法可以快速计算出多达 100500 个节点。

一般来说,我读到过这样的算法,一个节点有多个分支。也许你可以在 R 或 Python 中找到它们。

 
啊,那只是一些关于图上算法的教科书,也许是通过列表或哈希算法。
 

算法有问题吗?

我在 "dataanalysis.mqh "上经常出现除数为零的错误!


我自己做了一个多符号 版本...但这个错误让我很头疼!

如能得到帮助,将不胜感激。

谢谢。

附加的文件:
 

我认为文章中的 EA 效果很好

但在真实账户 和真实资金上,这个 EA 有什么问题需要解决?

或者这个 EA 的弱点是什么?

有谁可以提供建议吗?

谢谢

 

感谢您让我了解了 Alglib 库,我并没有意识到最新版本的 Metatrader 5....。

我发现自己在重新发明轮子!

 

嘿,这篇文章太吸引人了。然而,当我尝试编译随机决策森林回归模型 时,却出现了 93 个错误。

第一个错误是未声明标识符错误。试图调用的变量是 RDF 的 m_buffsize 属性。

调用来自 OnTester 事件处理程序。我附上了代码摘要。


double OnTester()
  {
   if(clear_model) return 0;

   if(MQLInfoInteger(MQL_OPTIMIZATION)==true)
     {
      if(numberOfsamples>0)
        {
         CDForest::DFBuildRandomDecisionForest(RDFpolicyMatrix,numberOfsamples,3,1,number_of_trees,regularization,RDFinfo,RDF,RDF_report);
        }
      
      FileDelete("RDFBufsize"+_Symbol+(string)_Period+".txt",FILE_COMMON);
      FileDelete("RDFNclasses"+_Symbol+(string)_Period+".txt",FILE_COMMON);
      FileDelete("RDFNvars"+_Symbol+(string)_Period+".txt",FILE_COMMON);
      FileDelete("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_COMMON);
      
      int filehnd=FileOpen("RDFBufsize"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      FileWrite(filehnd,RDF.m_bufsize);
      FileClose(filehnd);

      filehnd=FileOpen("RDFNclasses"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      FileWrite(filehnd,RDF.m_nclasses); //THIS IS WHERE THE ERROR IS BEING THROWN.

如何才能最好地解决这个问题?

编译时出错

图 1:编译时抛出的几个错误。