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

 
elibrarius

在ALGLIB早期停止训练与验证部分发现。

使用早期停止的神经网络训练(基本算法--L-BFGS与正则化)。
...
如果验证集的错误增加了很长时间,该算法就会停止。
足够的或步长足够小的(有的任务中
验证集可能永远减少)。在任何情况下,解决方案
返回的数据对应于验证集误差的最小值。


我觉得有些不对劲,因为在真正的交易中,条形图会按照自己的顺序进行,而不是与一小时前和一天前的条形图混在一起。
而如果市场的 "性质 "发生变化,就意味着必须重新学习或寻找新的NS模式。


你的网格中是否有超过500个链接?他们写道,如果神经元数量少,L-BFGS的效率就会比L-M低
 
马克西姆-德米特里耶夫斯基

你的电网中是否有超过500个连接?他们写道,如果神经元数量少,L-BFGS的效率就会比L-M低
到目前为止比较少,为了节省时间--开发阶段,当我完成后,我将紧张地寻找预测器和网络方案。
 
elibrarius:
到目前为止比较少,为了节省时间--开发阶段,当我完成后,我会努力寻找预测器和网络图的。


也许你在弄清楚之后可以写一篇文章?:)没有关于Alglibian神经网络的好文章,有一篇译文难以消化。

文章对NS的描述(因为我甚至找不到alglib的适当帮助)和学习/重新训练的例子,机器人的自动优化。嗯,这只是我,只是注意到没有足够的信息可以研究。这就像甚至是为它付出的)花你的时间不是白费的。

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


你为什么不在你弄清楚之后写一篇文章呢?:)没有关于Alglib神经元学的好文章,有一篇翻译的难以理解的文章

文章对NS的描述(因为我甚至找不到Alglib的适当帮助)和学习/重新训练的例子,机器人的自动优化。嗯,这只是我,只是注意到没有足够的信息可以研究。对于这种支付更多的)花费你的时间不会是徒劳的。

我不这么认为--我找不到时间来写文章......我找不到时间写文章,但我自己也是刚刚开始了解NS,所以我说不出什么新的/聪明的东西。

我把https://www.mql5.com/ru/articles/2279 作为基础。我在8小时内就把它放到了工作状态。我认为大多数程序员不会花更多时间。

但这已经是一个星期的返工了,增加了选项、测试等等。
Нейросеть: Самооптимизирующийся советник
Нейросеть: Самооптимизирующийся советник
  • 2016.10.03
  • Jose Miguel Soriano
  • www.mql5.com
Возможно ли создать советник, который согласно командам кода автоматически оптимизировал бы критерии открытия и закрытия позиций с определенной периодичностью? Что произойдет, если реализовать в советнике нейросеть (многослойный персептрон), которая, будучи модулем, анализировала бы историю и оценивала стратегию? Можно дать коду команду на ежемесячную (еженедельную, ежедневную или ежечасную) оптимизацию нейросети с последующим продолжением работы. Таким образом возможно создать самооптимизирующийся советник.
 
elibrarius
我不这么认为--我不会100%有时间写文章......此外,我自己也刚开始了解NS,所以我说不出什么聪明的/新的东西。

我把https://www.mql5.com/ru/articles/2279 作为基础。我在8小时内就把它放到了工作状态。我认为大多数程序员不会花更多时间。

但这已经是一个星期的返工了,增加了额外的选项和测试等等。


我还是看中了贝叶斯分类器+遗传学,结果不坏。在我的脑海中,对网格的认识有点模糊,有很多细微的差别。

是的,我指的是同一篇文章,对我来说似乎不太能接受,尽管我更像是一个交易员而不是程序员 )

 
混合结果的情况仍不清楚。

在非混合数据上进行早期停止训练。

训练中的平均误差(80%) plot =0.535 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
验证的平均误差(20%)部分=0.298 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
全图(训练+验证图)。
平均学习误差=0.497 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
测试的平均误差(20%)部分=0.132 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6

感觉有一个适合验证的情节。测试的那个是好的,但它不在训练中,没有被比较,可能只是一个巧合。
同样的fay计算合奏,而且有2/3的分割,所有东西都在两个情节之间混合,我也会试着做同样的事情......
洗牌了。

训练的平均误差(60%)面积=0.477 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
验证的平均误差(40%)部分=0.472 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
全图(训练+验证图)。
平均学习误差=0.475 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
测试的平均误差(20%)部分=0.279 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6

通过混合,在训练和验证部分的误差被均衡化。
而在测试的时候,情况变得更糟。

把数据混在一起,然后分成训练和验证两部分,似乎有些不妥,因为在真正的交易中,条形图将遵循自己的顺序,而不是与一小时、一天或一周前的条形图混在一起。同样,对于交叉验证算法,验证部分在开始,然后在中间,然后在结束。
而如果市场的 "性质 "发生变化,就意味着我们需要重新学习或寻找新的NS模式。

而如果你不在最后一节进行混合和验证,你如何避免适应那一节?
 
埃利布留斯
4个地块是否有效果?训练/验证/测试1/测试2 ?

你需要做多少个培训/验证周期?我没有在任何地方看到关于它的信息....。总共1个周期?- 之后,我们要么批准要么改变预测器组或网络方案中的某些内容?更确切地说,在N个训练周期中,我们将看到一个最好的结果。


测试部分2是一个判决:不匹配,那么我们就重新开始,最好有一组预测器


PS。

顺便说一句,还有一个测试员,即TS的最终裁决。

 
elibrarius
混合结果的情况仍不清楚。

对非间歇性数据的早期停止学习。

训练(80%)样本的平均误差=0.535 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
验证的平均误差(20%)部分=0.298 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
全图(训练+验证图)。
平均学习误差=0.497 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6
测试的平均误差(20%)部分=0.132 nLearns=200 NGrad=142782 NHess=0 NCholesky=0 codResp=6

感觉有一个适合验证的情节。测试的那个是好的,但它不在训练中,没有被比较,可能只是一个巧合。
同样的fay计算合奏,而且有2/3的分割,所有东西都在两个情节之间混合,我也会试着做同样的事情......
洗牌了。

训练的平均误差(60%)面积=0.477 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
验证的平均误差(40%)部分=0.472 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
全图(训练+验证图)。
平均学习误差=0.475 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6
测试的平均误差(20%)部分=0.279 nLearns=10 NGrad=10814 NHess=0 NCholesky=0 codResp=6

由于混合的原因,在训练和验证部分的误差是相等的。
而在测试的时候,情况变得更糟。

将数据混在一起,然后将其分为训练和验证部分,这似乎是错误的,因为在真正的交易中,条形图将遵循自己的顺序,而不是与一小时、一天或一周前的条形图混在一起。同样,对于交叉验证算法,验证部分在开始,然后在中间,然后在结束。
而如果市场的 "性质 "发生变化,就意味着我们需要重新学习或寻找新的NS模式。

而如果你不在最后一节混合和验证,那么你如何避免适应这一节?


1.我的理解是,你根本没有训练任何东西--只是在与目标变量无关的预测器上得到一个随机结果。


2.搅动。

不知道NS。

但在其他非常多的MO算法中,学习恰恰是在一条线上完成的。每个预测器取一个值,并将目标变量映射到它。因此,洗牌是无关紧要的。有一些MO算法将邻居考虑在内。

但无论如何,我们的观点是一致的,最初我总是在test2上做测试,不洗牌。


PS。

再一次。

如果两个不同的样本上的错误与你的不同 - 这意味着你的系统没有希望,只能被扔掉。

 

在被称为互联网的无底洞里闲逛时,我看到了这张纸。

Artificial Neural Networks architectures for stock price prediction:comparisons and applications

换句话说--股票预测的NS架构--比较和应用

附加的文件:
 
elibrarius:
混合结果的情况仍然不清楚。


在我看来,把数据混在一起然后分为训练和验证是不对的,因为在真正的交易中,条形图会按照自己的顺序进行,而不是与一小时、一天或一周前的条形图混在一起。同样,对于交叉验证算法,验证部分在开始,然后在中间,然后在结束。
而如果市场的 "性质 "发生变化,就意味着我们需要重新学习或寻找新的NS模式。

而如果你不在最后一节进行混合和验证,你如何避免适应那一节?

分成火车/test/valid后,对火车进行洗牌。不要混合其余的集合。
这对神经网络的分类有效。此外,在训练深度神经网络 时,在给神经网络喂食之前,要混合每一个minibatch。

祝好运