交易中的机器学习:理论、模型、实践和算法交易 - 页 412 1...405406407408409410411412413414415416417418419...3399 新评论 Vladimir Perervenko 2017.06.13 14:59 #4111 阿列克谢-特伦特夫。 我的解决方案最初是基于OpenNN(C++)。 现在我学到了很多东西,并转到了Keras(Python)。 我主要是处理分类问题预测的深度学习。所以我们正在处理MO的同一领域。Keras是一个很好的包,尤其是它被移植到了R上。只是我不明白的是,什么问题?祝好运 Aleksey Terentev 2017.06.13 15:04 #4112 弗拉基米尔-佩雷文科。所以我们正在处理MO的同一个领域。Keras是一个很好的包,尤其是它被移植到了R。只是我不明白的是,什么问题?祝好运 我只是决定加入讨论。=) Forester 2017.06.13 15:25 #4113 Maxim Dmitrievsky: 现在这很有趣......这意味着必须做更多的测试,也许这个RN并不像以前认为的那样有意义。唯一的优势是在优化器中与其他系统参数同时选择权重我目前正试图找出它在已知数据范围内的计算效果。例如,乘法表。更新。改变专家顾问后的其他实验显示,与普通MLP 3-5-1相比,结果如下。测试时使用了不同的配方。//double func(double d1,double d2,double d3 ){return d1*d2;} //误差为0-2%,因为乘法是公式中固有的。2%,因为遗传优化器并不总是停在理想的解决方案上。但也有一个绝对精确的解决方案,误差=0。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}//错误0-2%的乘法是在公式中,在MLP上是1%//double func(double d1,double d2,double d3 ){returnMathSin(d1);}//误差2-6%,在MLP上为0,1%//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3)。}//误差2%,对MLP 1%//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}//误差3-4%,对MLP 1%//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2, 。33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2, .33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%。 结论是,通常的MLP比Reshetov的RNP的误差小2-3倍。也许有些错误是由于MT5终端的遗传优化器并没有停在理想的解决方案上。 Machine learning in trading: 问吧! 神经网络,如何掌握它们,从哪里开始? Maxim Dmitrievsky 2017.06.14 02:44 #4114 elibrarius。我目前正试图找出它在已知数据范围内的计数情况。例如,一个乘法表。更新。与正常的MLP 3-5-1相比,改变EA后的额外实验显示了以下结果。测试时使用了不同的配方。//double func(double d1,double d2,double d3 ){return d1*d2;} //误差为0-2%,因为乘法是公式中固有的。2%,因为遗传优化器并不总是停在理想的解决方案上。但也有一个绝对精确的解决方案,误差=0。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}//错误 0-2%的乘法是公式中固有的,在MLP 1%时//double func(double d1,double d2,double d3 ){return MathSin(d1);}//误差2-6%,在MLP 0.1%。//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3);}//误差2%,在MLP 1%。//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}//3-4%的误差,在MLP 1%时//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%。//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,.33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%。 综上所述,我们可以得出结论,普通MLP的误差比Reshetov的RNN小2-3倍。也许有些错误是由于MT5终端的遗传优化器并没有停在理想的解决方案上。 是的,有趣的结果,也许全面列举会更准确 Forester 2017.06.14 07:03 #4115 马克西姆-德米特里耶夫斯基。 是的,有趣的结果,也许完全过冲会更准确。 会更准确,但在几周或几个月后...8个拟合系数,1%步长1008=1000000000000次迭代,终端本身切换到遗传学,有这个数字。 Maxim Dmitrievsky 2017.06.14 12:17 #4116 elibrarius。 会的,但几周或几个月后...8个可选择的系数,1%的步长1008=10000000000000次迭代,终端本身切换到遗传学,有这么多。 你能告诉我,从alglib分类MLP,我知道需要至少2个输出,如何处理这个问题?) Forester 2017.06.14 12:46 #4117 马克西姆-德米特里耶夫斯基。 请问,从alglib中分类MLP我了解到,至少需要2个输出,如何操作呢?)是2,从帮助http://alglib.sources.ru/dataanalysis/neuralnetworks.php一个特例是具有线性输出层和输出SOFTMAX归一化的神经网络。它们用于分类问题,其中网络的输出必须是非负的,而且它们的总和必须严格等于1,这就允许将它们作为将输入向量分配到某个类别的概率(在极限情况下,训练后的网络输出会收敛到这些概率)。这样一个网络的输出数量应始终不少于两个(由基本逻辑规定的限制)。 还没有处理过,还在试验线性。 Maxim Dmitrievsky 2017.06.14 12:51 #4118 elibrarius。是的,从http://alglib.sources.ru/dataanalysis/neuralnetworks.php 参考一个特例是具有线性输出层和输出SOFTMAX归一化的神经网络。它们用于分类问题,其中网络的输出必须是非负的,而且它们的总和必须严格等于1,这就允许将它们作为将输入向量分配到某个类别的概率(在极限情况下,训练后的网络输出会收敛到这些概率)。这样一个网络的输出数量总是至少有两个(由基本逻辑决定的限制)。 啊,好吧,也就是说,我们提供一个或另一个结果的概率,例如买入的概率为0.9,那么卖出的概率为0.1,一个数组将作为买入概率的缓冲区,另一个数组为卖出概率,我们用这些值填充它们,训练后它们将被用来分别倾倒买入和卖出的概率,我明白了,对吗? Forester 2017.06.14 12:52 #4119 马克西姆-德米特里耶夫斯基。 好吧,换句话说,我们提供一个或另一个结果的概率,例如买入的概率是0.9,卖出的概率是0.1。一个数组将作为买入概率的缓冲区,另一个是卖出概率的缓冲区,在对它们进行训练后,将分别丢弃概率,我想这是正确的?而从我所读到的内容来看--我也有同样的看法。虽然我不知道它的优势是什么......有了1个出口,我们也得到了概率--大约0(或-1)个买,和大约1个卖。(或反之亦然,取决于你的训练方式)。如果有3个或更多的输出,它能起到作用吗?毕竟,1的输出将很难使用....为3或4个任务(尽管你也可以用0、0.5和1作为买入、等待、卖出的类别)。 Maxim Dmitrievsky 2017.06.14 12:59 #4120 elibrarius。而从我所读到的内容来看--我也有同样的看法。我不知道它的优势是什么......有一个出口,我们也得到了概率--大约0(或-1)买入,和大约1卖出。(或反之亦然,取决于你的训练方式)。如果有3个或更多的输出,它是否会有用?那么1个输出就很难使用....为3或4个任务(尽管你也可以用0、0.5和1作为买入、等待、卖出的类别)。 是的,他们可能是为了让它有可能有2个以上的类......那么它可能会有更多的聚类,你可以使用其他方法,如k-means :) 1...405406407408409410411412413414415416417418419...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我的解决方案最初是基于OpenNN(C++)。
现在我学到了很多东西,并转到了Keras(Python)。
我主要是处理分类问题预测的深度学习。
所以我们正在处理MO的同一领域。Keras是一个很好的包,尤其是它被移植到了R上。
只是我不明白的是,什么问题?
祝好运
所以我们正在处理MO的同一个领域。Keras是一个很好的包,尤其是它被移植到了R。
只是我不明白的是,什么问题?
祝好运
现在这很有趣......这意味着必须做更多的测试,也许这个RN并不像以前认为的那样有意义。
唯一的优势是在优化器中与其他系统参数同时选择权重
我目前正试图找出它在已知数据范围内的计算效果。例如,乘法表。
更新。
改变专家顾问后的其他实验显示,与普通MLP 3-5-1相比,结果如下。
测试时使用了不同的配方。
//double func(double d1,double d2,double d3 ){return d1*d2;} //误差为0-2%,因为乘法是公式中固有的。2%,因为遗传优化器并不总是停在理想的解决方案上。但也有一个绝对精确的解决方案,误差=0。
结论是,通常的MLP比Reshetov的RNP的误差小2-3倍。也许有些错误是由于MT5终端的遗传优化器并没有停在理想的解决方案上。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}//错误0-2%的乘法是在公式中,在MLP上是1%
//double func(double d1,double d2,double d3 ){returnMathSin(d1);}//误差2-6%,在MLP上为0,1%
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3)。}//误差2%,对MLP 1%
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}//误差3-4%,对MLP 1%
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2, 。33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%
//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2, .33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%。
我目前正试图找出它在已知数据范围内的计数情况。例如,一个乘法表。
更新。
与正常的MLP 3-5-1相比,改变EA后的额外实验显示了以下结果。
测试时使用了不同的配方。
//double func(double d1,double d2,double d3 ){return d1*d2;} //误差为0-2%,因为乘法是公式中固有的。2%,因为遗传优化器并不总是停在理想的解决方案上。但也有一个绝对精确的解决方案,误差=0。
综上所述,我们可以得出结论,普通MLP的误差比Reshetov的RNN小2-3倍。也许有些错误是由于MT5终端的遗传优化器并没有停在理想的解决方案上。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}//错误 0-2%的乘法是公式中固有的,在MLP 1%时
//double func(double d1,double d2,double d3 ){return MathSin(d1);}//误差2-6%,在MLP 0.1%。
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3);}//误差2%,在MLP 1%。
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}//3-4%的误差,在MLP 1%时
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%。
//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,.33)*MathSqrt(d3);}//误差8-4%,在MLP 1.5%。
是的,有趣的结果,也许全面列举会更准确
是的,有趣的结果,也许完全过冲会更准确。
会的,但几周或几个月后...8个可选择的系数,1%的步长1008=10000000000000次迭代,终端本身切换到遗传学,有这么多。
你能告诉我,从alglib分类MLP,我知道需要至少2个输出,如何处理这个问题?)
请问,从alglib中分类MLP我了解到,至少需要2个输出,如何操作呢?)
是2,从帮助http://alglib.sources.ru/dataanalysis/neuralnetworks.php
一个特例是具有线性输出层和输出SOFTMAX归一化的神经网络。它们用于分类问题,其中网络的输出必须是非负的,而且它们的总和必须严格等于1,这就允许将它们作为将输入向量分配到某个类别的概率(在极限情况下,训练后的网络输出会收敛到这些概率)。这样一个网络的输出数量应始终不少于两个(由基本逻辑规定的限制)。
是的,从http://alglib.sources.ru/dataanalysis/neuralnetworks.php 参考
一个特例是具有线性输出层和输出SOFTMAX归一化的神经网络。它们用于分类问题,其中网络的输出必须是非负的,而且它们的总和必须严格等于1,这就允许将它们作为将输入向量分配到某个类别的概率(在极限情况下,训练后的网络输出会收敛到这些概率)。这样一个网络的输出数量总是至少有两个(由基本逻辑决定的限制)。
啊,好吧,也就是说,我们提供一个或另一个结果的概率,例如买入的概率为0.9,那么卖出的概率为0.1,一个数组将作为买入概率的缓冲区,另一个数组为卖出概率,我们用这些值填充它们,训练后它们将被用来分别倾倒买入和卖出的概率,我明白了,对吗?
好吧,换句话说,我们提供一个或另一个结果的概率,例如买入的概率是0.9,卖出的概率是0.1。一个数组将作为买入概率的缓冲区,另一个是卖出概率的缓冲区,在对它们进行训练后,将分别丢弃概率,我想这是正确的?
而从我所读到的内容来看--我也有同样的看法。
虽然我不知道它的优势是什么......有了1个出口,我们也得到了概率--大约0(或-1)个买,和大约1个卖。(或反之亦然,取决于你的训练方式)。
如果有3个或更多的输出,它能起到作用吗?毕竟,1的输出将很难使用....为3或4个任务(尽管你也可以用0、0.5和1作为买入、等待、卖出的类别)。
而从我所读到的内容来看--我也有同样的看法。
我不知道它的优势是什么......有一个出口,我们也得到了概率--大约0(或-1)买入,和大约1卖出。(或反之亦然,取决于你的训练方式)。
如果有3个或更多的输出,它是否会有用?那么1个输出就很难使用....为3或4个任务(尽管你也可以用0、0.5和1作为买入、等待、卖出的类别)。
是的,他们可能是为了让它有可能有2个以上的类......那么它可能会有更多的聚类,你可以使用其他方法,如k-means :)