首页 > 手机 > 配件 > 过度拟合,深度学习技术复现LeCun

过度拟合,深度学习技术复现LeCun

来源:整理 时间:2022-04-07 22:00:31 编辑:华为40 手机版

随机森林为什么不会过度拟合?

过度拟合,深度学习技术复现LeCun

过拟合、高方差的问题发生在机器学习算法被允许无用地探究非常复杂的假设空间,将抽样误差也进行拟合,最终得出带有误导性的复杂答案。过拟合发生的原因通常有:· 相对于训练数据行数来说过多的自由参数· Boosting的次数过多· 神经网络层数过多· 树的深度过大· 在SGD类型的算法中迭代次数过多事实上所有高度复杂的机器学习模型都有过拟合的倾向,但是题主的问题可以理解为为什么在树的数量增加时随机森林不会过拟合。

随机森林相比于单个决策树不容易过拟合。过拟合的主要原因是模型学习了过多样本中的随机误差,但是随机森林随机选择样本和特征,并且将很多的随机树进行平均,从而将随机误差也进行了平均。总的来说,集成方法可以大幅度地减小预测方差到近乎零从而提高整体的准确率。如果我们将单个随机模型的期望泛化错误的方差定义为下图:因此,一个整体的期望泛化错误的方差可以写为:公式中的p(x)是基于来自两个独立的种子(seeds)的相同数据训练出的随机模型预测值的皮尔逊相关系数。

在期货交易中,如何避免交易系统的过度拟合?

过度拟合,深度学习技术复现LeCun

在期货交易中,什么叫“过度拟合”?举个量化的例子。你建立了一套期货交易系统,你需要进行历史测试。你的交易系统中,有一个参数。什么叫参数?比如,海龟交易法则里的突破20日的最高点开仓。这个20,就是参数。你为什么选20?你为什么不选21,34,15或者28?这就叫参数的选择。所谓的过度拟合,就是你用这套策略,经过历史回测之后发现,如果我把参数变成24的话,那么我的系统,在过去的这段走势中,收益是最高的。

所以,我就采用24。我交易系统中,所有的参数,都要选历史表现最好的那个。这就是过度拟合。这样做的坏处是什么?因为它的效果是历史走势中最好的,但是历史走势最好,不代表未来依然会更好。可能你过了一年之后回来测试,发现现在最好的参数是32了。因为未来这一年的走势融入了历史中,改变了历史。而如果你过度的拟合出了一个历史测试结果,比如,你发现你用100万交易螺纹钢期货的历史走势,你的最大回撤仅为10万,你的最大连亏次数仅为5次。

于是,你基于这个优化过的数据来设计了你自己的仓位。结果呢?未来的行情走势,这个参数忽然就不如想象中的那么好,节奏变了,导致你直接亏损到清盘线。这就是过度优化的危害。实际上,能走到优化参数的这一步的期货交易者,一般而言,不会爆仓,最大的风险是亏损超过预期,进而导致的一系列信心的挫败,意志的动摇而已。很多期货交易者都会对系统进行参数的优化,但是他们往往不知道,优化到什么程度算没有过度拟合。

实际上,我也不知道。过度这个词,很明显,是一个没有范围的词。什么样叫做过度,这不是我能够说的算的。那么,我采用了什么方式去避免过度拟合?我采用的是,强行拔高,站在另一个维度来看待这个问题。拟合,参数优化,说白了,都是些小细节。不同参数的背后,代表的是不同的盈亏比。比如,20日均线和50日均线,你承担的单次亏损额度,和在一波行情中的收入肯定都是有大小之分的。

但是,行情走势是不确定的。这一点很重要。既然我们都不知道未来行情会走成什么样子,那么,我们在这里纠结我选择哪个数字,有意义吗?你选21,你选15,你选45,这是不是拟合,这有没有过度拟合,是由未来的行情告诉我们的,我们没有办法走到未来,纠结这个就没有什么意义。所谓期货交易大道至简的原因就在于,有些时候,你的想法必须要简单,简单到别人觉得太特么的粗暴了。

我站的维度,是直接看系统。20日均线,和50日均线有区别。突破10日的高点,和突破20日高点也有区别,前者信号更多,止损次数更多,但是前者的入场位置可能某些时候有优势。所谓的大参数,小参数,应该关注的重点在于,其背后所带来的交易系统的特点你能够接受,你更适合交易哪个参数。你喜欢做短一点的趋势,你接受不了大的利润回吐,那么你就选择小参数。

你不喜欢经常出信号,你想要拿超大的趋势,那么你就选择大参数。至于小参数中,是20更好,还是18,21?纠结这些,完全没有意义。除此之外,仓位的设计,也不应该参考所谓的历史。有些人对策略仓位的设立,是非常的依赖其历史测试的。包括,历史最大回撤,历史最大连亏,平均亏损等等。可以不可以?可以。但是,如果处于绝对的安全角度,最好打个对折,再配合上赢冲输缩。

在期货交易中,因为走势的不确定性,仓位的管理,实际上也没有完美的方式。可能你按照策略历史回测的仓位来设计,根本一点事都没有,而且还有点偏低。但是也可能,你保守到只开一半的仓位,这个策略依然给你干清盘了。走势的不确定性,它让一切都有可能。一套策略,它被清盘了。它是本身有问题?那可不一定,有可能仅是因为这段时间的行情神挡杀神,佛挡杀佛,你之所以被清盘,不是逻辑的问题,是资金管理的问题。

资金管理的方式,是一个很长的话题。如果你基于对一套策略负责的角度,最好是安全垫 保守仓位 赢冲输缩。所谓的过度拟合,其实本质就是让一个期货交易者,过分的自信了。他觉得他的策略很好,他觉得他的参数好,他觉得他的仓位好。结果行情忽然变了节奏,把他打懵了之后走的极度流畅。这种事情说白了,根本就不可能100%解决。

因为啥?因为走势是不确定的。你做趋势,就是不来趋势。你做震荡,趋势一直不见停止,你做日内,无数杂波…因此,我们如何尽人事?做好资金管理规则。账户没有收益之前,尽量保守,如果保守依然还在亏,那就继续缩仓。如果你缩仓到了只开一手,依然是停不住亏损,那么,你就只能停止开敞口,或者,只能清盘。你确保了自己的交易逻辑没问题,你的资金管理做到了极限依然止不住亏损,那么只能说,你的运气简直背到了买了10次彩票全是一等奖……市场让我死,我不得不死。

最后,总结一下。过度拟合这件事情,没有什么标准,也没有什么好的方法。它也根本就无法彻底解决。我建议,忘记这件事情。你要从自己执行,自己的偏好的角度来设计交易系统。如果20这个参数对于你来说很合理。那么21和18,根本就没有区别,因为你不知道未来。如果你怕过度拟合了。那么你就把资金管理规则给设计完善了。

为什么感觉一些期货投机者把模型搞得很复杂,回测结果很优秀,大多数结果却是不赚钱?

过度拟合,深度学习技术复现LeCun

首先,回测结果,都是基于历史数据的。历史数据的特点是什么?确定。历史数据是一堆数据放在那里的,明确的,不会变化的。而基于这对确定性的数据,我们就用一万种办法给计算出来一套最完美的模型。比如,下图:这是原油期货最近的走势。我可以写一套模型,从523的高点一直拿到最低点附近,我也可以写一套策略,半路出一次,然后在次高点再空一次。

我还可以写出一套模型,在最低点开多,然后在反弹的高点反手再空……历史就在这里放着,你想要怎么编写就怎么编写。而以此方式生成的模型,可能就会非常臃肿,废话连篇,也就是题主说的复杂的根本来源。那这种模型为什么很难赚到钱?因为这套策略开发出来想要交易,去需要面对未来的走势的。未来的走势是不确定的,它不会按照剧本去运行,你根本就不知道它会怎么走,你基于这堆历史数据强行优化出来的方法在未来面前根本就是不堪一击的……真正好的交易策略,它一定是简单高效的,它基于的逻辑一定是处理各种各样不确定的走势的,绝非对着历史K线在那里意淫。

历史数据显示某个时间段内股票有一定概率会大跌,在策略里加入对它的处理是过度拟合吗?

首先,谢谢邀请我来回答这个问题.这个问题可以理解为: 通过看该股票的历史数据认为在某个时间段里有所下跌,操作过程中会依据这个吗?这个东西还真不一定,因为前一段儿,可能是因为庄家主力的原因或大盘等外力因素等等一些原因,会在一定程度上改变该支股票的运行规律.比如换庄, 换主力, 该股票所在的公司自身的一些问题(重组,增减持,增发,除权)等等,外围大跌等好多种因素这是无法提前所预知的, 所以后期绝对会对该股票产生一定的影响, 所以我们小散一般不要全仓一支股票,这种策略来应对,以防万一的个例.谢谢.。

文章TAG:LeCun复现拟合深度过度

最近更新