优化和样本外测试。 - 页 4

 

是的,确实如此!

此外,(也考虑到批评意见)我想指出,对于那些不大同意简单执行想法的人,有一个重要的反对意见。

"人们不应该把事物的本质复杂化,超出必要的范围!"(奥卡姆神父)。

第一次优化后再进行第二次优化(样本外)是一个简单而充分的解决方案

我们毕竟是以盈利为目的,而不是为了优化而从事优化工作。

 
Vita:


拆分可以有效地过滤信息。就数量而言。

Vita写道(a):

--> 如果你说的 "在整个样本上处理优化结果 "是指丢弃D组,那么我不同意--丢弃给出中间损失(样本内或样本外)的结果是基本任务,在整个样本的优化过程中就已经解决了,也就是说,不需要在优化后进行处理。 结果是B组,而且在样本外没有耗时的额外检查。

你是指数学意义上的优化,还是指真正的测试者?根据我的理解,现在的样本包括这两个样本。你认为在这两个样本上运行三个不必要的组,可以节省时间吗?至于实施,如果你从头开始编写自己的测试器,也许实施成本可以忽略不计。试着执行,然后我们可以回到问题上。

 
leonid553:

是的,确实如此!

此外,(也考虑到批评意见)我想指出,对于那些不大同意简单执行想法的人,有一个重要的反对意见。

"人们不应该把事物的本质复杂化,超出必要的范围!"(奥卡姆神父)。

第一次优化后再进行第二次优化(样本外)是一个简单而充分的解决方案

我们毕竟是在追求利润的目标,而不是为了优化而优化。


我也是,而且我完全同意奥卡姆的观点。你不应该做两次优化,一次就够了。

你说:"在对专家顾问进行优化 后,我们经常要唠叨,繁琐地跑完优化器建议的十几组参数,出样。

在整个人口中运行,而不分为样本-外样本,是不折不扣的充分的,甚至是更直接的解决方案。

 

断然不同意,维塔。否则,在神经网络中就不会将所有数据分为三部分,从根本上说是不同的:真正的优化--只在第一部分;第二部分只用于确定训练终止的时刻,第三部分--只用于单一测试。也就是说,真正的装修只在第一条上进行,而在第三条上,无论结果如何,都要进行装修......而选择--"奥卡姆剃刀 "或对系统失去信心--是留给系统的创造者的。

粗略地说,在A+B+C上进行优化与上述处理完全不同。

 
Mathemat,我认为他的意思是收集整批(别忘了组合学)的结果,把它分成4组,并丢弃其中的3组。
 
Mathemat:

断然不同意,维塔。此外,真正的优化只是在第一部分,第二部分只是为了确定训练终止的时刻,第三部分只是为了单一测试。


我猜想,将神经网络中的数据分成三部分,是为了学习规律(如2x2=4)而存在的,以揭示这些规律。 而且只有在有规律的情况下才会这样。否则神经网络将自行拟合曲线。

然后,在我看来,测试者的任务不是训练或检测模式,而是找到最佳参数集。这可以用简单的蛮力或遗传算法,也可能用神经网络来完成。但是,一旦为一个样本找到了一组最佳参数,你如何避免曲线拟合?原则是什么?当你测试样本外的时候,集合中的坏元素是什么?

 
lna01:
维塔


拆分可以有效地过滤信息。就数量而言。

这不是我想摒弃的东西。

Vita写道(a):

--> 如果你说的 "在整个样本上处理优化结果 "是指丢弃集合D,那么我不同意--丢弃给出中间损失(样本内或样本外)的结果是一项基本任务,在整个样本的优化过程中本身就解决了,即不需要在优化后进行处理。 结果是集合B立即。 而且在样本外没有耗时的额外检查。

你是指数学意义上的优化,还是指真正的测试者?根据我的理解,现在的样本包括这两个样本。你认为在这两个样本上运行三个不必要的组,可以节省时间吗?至于实施,如果你从头开始编写自己的测试器,也许实施成本可以忽略不计。试着执行,然后我们可以回到问题上。

--> " 取样,按照我的理解,现在包括两个样本。" --对不起,我不是想让你这么想。忘了它吧。

我想说的是,真正的MetaTrader的测试器允许你在优化样本+非样本群体时获得与优化样本后在样本外测试相同的结果。 在测试器中,"专家属性 "按钮,然后 "测试 "和 "优化 "标签允许你摆脱任何长度和深度的损失。由于我坚持认为,优化一个样本后进行样本外测试并不能摆脱其他东西,也根本不会增加任何东西,这就是问题的解决方案。

不幸的是,正是在数学意义上,人们可以在任何特定的 曲线下实现完美的参数优化。与仿佛在样本外测试 "未来 "的诀窍是隐藏的,但仍然是对样本+样本外的整个给定 人群的微不足道的优化。对未来没有保证,没有摆脱曲线拟合。必须以另一种方式找到一套可行的参数。

 
我猜想,将神经网络中的数据分为三部分,是为了教授规律(如2x2=4),以揭示这些规律。

这是正确的,维塔,用于识别模式。而我们在这里做什么呢?我们又发明了两个数据集,以防止这种识别退化为对初始人口的琐碎 "记忆"(=curvafitting)。在NS中,它是这样工作的:在集合A(训练集)上学习,以减少目标函数(它通常是预测或分类的错误)。学习的组织方式是使A的误差单调地减少。

同时,在B组(验证组)上测试相同参数的相同错误。在那里,误差的变化是一个级联函数(首先是下降,然后是最小,然后是增长)。一旦B组的误差达到最小,训练就会停止。 在A组上继续训练,即使误差减少,也会导致曲线拟合,因为B组的误差已经开始增长。在这一点上,网络的概括能力据说会下降。这就是为什么训练被强行停止,而没有把对A的拟合带到极限(这也是该算法和元气优化器所做的拟合之间的根本区别)。

最后,在第三组C(测试组)上运行已停止学习的参数集。这是对训练质量的真正检查,因为C上的数据对之前的训练没有影响。当然,在找到的参数下,不能保证NS的稳定运行,但这种算法至少取消了95%的伪格拉尔,其中论坛上有不止一个:)。

而在单个数据片段上的简单搜索是最纯粹的曲线拟合,在训练区上是理想的,但在训练区外则毫无价值。

当然,MT4不是一个神经网络程序,一般的算法将不得不重新设计,但它仍然比琐碎的曲线拟合好,我们称之为 "优化",嘿嘿。

 
Vita:

我想说的是,真正的MetaTrader的测试器允许你在优化样本+样本外人群时获得与优化样本后进行样本外测试一样的结果。专家顾问属性 "按钮以及 "测试 "和 "优化 "选项卡允许摆脱任何长度和深度的损失。

这完全取决于任务的定义。如果我们忽略了测试时间的利润分配的均匀 程度,MT测试员的标准能力确实足够,所花的时间也会相当。忽视这一点值得吗?每个人都有自己的经验和看法。这个过程确实可以被称为拟合,但我认为近似 这个词会更准确。并非每个近似值都可以推算到未来,利润统一性的标准只是允许拒绝那些明显不适合推算的变体。当然,是IMHO。

 
Mathemat:

而单一数据的简单过冲是纯粹的曲线拟合,在训练区域内是完美的,在训练区域外则毫无价值。

--> 没错,就是这样。

但是,将一个情节分割成碎片有什么作用?在三个不同的片段上的 "伪学习 "会导致什么? 它在每个单独的情节上会导致利润吗? 这样的配合如何更好?它能保证剧情外的盈利吗? 如果你相信,那么尽可以。更重要的是,测试器让你有能力闷住曲线,以便在每个片段A、B、C......。你赚了钱。

就让我们取消神经网络吧,因为它们与这个主题根本不相干。人们为了一个可疑的优势而手动做这些麻烦事,顺便说一下,我指出了这一点,但没有听到更多的消息,在样本上优化后的结果和对样本外的测试比琐碎的运行好在哪里?你看,我们谈论的是真正的工作和结果,而不是神经网络理论。 你能不能指出任何真正的优势,如果仍然有的话,除了我指出的那一点。