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

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


是的,我明白了......你复制了代码吗?

然后,我们将讨论...

 
Maxim Dmitrievsky:

是的,你可以删除

请阅读代码注释部分的前几行,然后转到代码部分 ...我希望你能理解...

接下来,我们需要改变的是增加一个动态数组,在其中学习RDF,并将其传递给 "CalculateNeuron (double a, int b) "函数,比如。

CalculateNeuron ( double a, int b, double & best_features [])

类似这样的事情。

然后,通过ArrayCopy()将 best_features[]数组复制到 inputs[]数组...

其余的应该很简单:))))。

因此,基于基础函数组件的动态值,该函数将返回转换后的特征,并再次重新训练RDF,再次调用该函数,如此反复.....。

[删除]  
Vizard_
不是RDF,是RF。

不,RDF http://www.alglib.net/dataanalysis/decisionforest.php

RDF算法是由Leo Breiman和Adele Cutler设计的原始随机森林算法的修改。在这个算法中,有两个想法是相互结合的:它们是使用决策树委员会通过投票获得结果,以及训练过程随机化的想法。
Decision forest - ALGLIB, C++ and C# library
  • www.alglib.net
This page contains a brief description of the RDF classification and regression algorithm. Prior to reading this page, it is necessary that you look through the paper on the general principles of data analysis methods. It contains important information which, to avoid duplication (as it is of great significance for each algorithm in this...
 
马克西姆-德米特里耶夫斯基

是的...但代码中的 "case "太大,我认为可以实现得更短......所以请等待一下,当我完成我的代码时,如果它是坏的,那么继续你的代码^)

是的,这正是GMDH的最佳基础功能,根据维基百科,你可以查看:)))......经过大量的研究,我也没能找到更好的方法,到现在还在尝试.................。

但每一步只执行一个条件,因此,其余的代码在中断语句后不会被执行。

所以我想训练可能会很慢......我不知道......如果是这样,那么我们可以通过使用另一个输入变量来限制组件的最大值为3或4,这样它就会最大限度地将特征分成3或4个组件,而不会超过这个范围。

正如我所说,GMDH本身就是一个神经网络,因此,我们现在使用的是双神经网络,一个是GMDH,一个是RDF:))

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

他决定开个玩笑,把机器学习简化为学习如何写代码,看样子--对他来说是个好兆头,看来你那个非常活跃的朋友也可以接受一些教育......)

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

我甚至没有进入你的P网,顺便问一下它和PNN有什么不同吗?

我一直在阅读PNN,它是一个该死的圣杯。

不记得是哪个PNN了,但搜索到PNN-Soft的B2B商业编程服务,但我认为我们的P-net肯定是不同的。

基本上是一个非常简单的想法,但却是一个原创的想法))

 
Maxim Dmitrievsky:

对,但我们不需要两个NN,我们只需要一个好的功能选择器,所以它一定不是一个完整的gmdh。

所以我的实施更接近于它

正是如此......我们并不强制要求使用精确的公式或GMDH或RDF或RF等方法......我们所追求的是最终结果:)))))))))

我所寻找的是。

1.用过去的数据进行快速训练

2.在实时交易中快速选择特征,以便快速执行交易

3.通过重复训练,算法向解决方案收敛

4.交易过程中的高准确性和低缩水

现在,在MQL5中,满足所有要点 通常很难实现,但你目前的实现似乎满足了大部分要点......但需要通过对算法的微调来适当平衡所有4个标准......。

例如,如果我们将特征的数量增加到高,我看到结果有一些改善,但训练时间也明显增加......

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

概率NN,它用MGUA型多项式建立特征树,并使用这些多项式而不是sigmoids

https://en.wikipedia.org/wiki/Probabilistic_neural_network

还有一些贝叶斯的东西......也比MLP快很多。

there's also Pulsedneural networks, PNN)https://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C
 
Maxim Dmitrievsky:

是的,我仍然对这一举动感到困惑。我想到了一个多项式NA

我认为我们可以在你的代码中一起使用PNN、RDF和GMDH:))))

PNN的逻辑似乎很好!......PNN似乎像人脑的神经元一样......我的意思是快速决策过程......所以如果你在我的逻辑的每个for循环中使用break语句,它可能会像PNN一样工作。

我的意思是,我们不会在每个for循环中都走到最后......但它会使用TickCount()函数 检查延迟时间,如果它超过2至5毫秒,就会打破循环,继续进行下一个RDF决策......

我刚刚研究了PNN......所以不要让我再写PNN的代码:))))))))))))))))))))))))))))。

 
Maxim Dmitrievsky:

也需要实现不同的基数转换功能--代数、三角、正交多项式

我想我们可以用PNN进入我目前的GMDH逻辑来快速推进决策过程......我不确定......但只是研究了一下逻辑,所以不要告诉我现在要写PNN的代码:)))。