[机器学习算法]机器学习技术是怎么防止过拟合?

2020-07-19 各种利率表 阅读:

    机器学习用来防止过拟合的方法比较多,我尽量用通俗的话解释各种减少过拟合的方法。当然如果有更好的可以在评论区提出来,互相探讨学习。       获得更多额外的训练数据       这是解决过拟合的最有效方法,过拟合本质上就是模型对样本空间过度拟合后才出现的想象,那我们就给模型更多“意料之外”(样本空间外)的数据,这样模型的最优值就更接近整体样本空间的最优值,只要局部值不断逼近整体最优值,过拟合的问题就自然而然消失了。       使用恰当的模型       一般而言,过拟合主要是因为数据太少,或者模型太复杂造成的,我们可以通过获得更多的数据(上面有提及)或者找合适的模型结构来防止过拟合问题,让模型能够拟合真正的规则,同时又不至于拟合太多的随机噪声。       减少神经络层数、神经元个数都可以限制络的拟合能力,这个跟树模型的原理一样;       适当减少模型的训练时间,因为对于每个神经元而言,其激活函数在不同区间的性能是不同的,当网络权值较小时,神经元的激活函数工作在线性区域,那么该神经元的拟合能力较弱,一般我们初始化网络时权值较小,训练时间越长,部分网络权值越接近非线性区甚至梯度消失区,此时就会产生过拟合;       正则化,跟上面一样,都是限制权值,这种方法是将权值大小加入Cost中,因为训练要降低Cost,所以这种方法即降低Cost也降低权值,是最经常使用的方法之一;       在输入中加噪声,可能有人会有点不解,不是要降低噪声么?这么说,因为噪声会随着网络扩散,按照权值的平方放大,像Hinton的PPT中用高斯噪声,在输出中生成干扰项,训练时会对干扰项进行惩罚,达到减小权值的平方的目的(也是换种思路变向降低权值)       集成学习,Bagging、Boosting相信很多人都很熟悉,Bagging就是将很多弱小的模型集合在一起,提高模型的学习能力,如随机森林就是很多棵决策树形成的模型。而Boosting是将弱模型的误差传递下去,通过下一层模型来稀释误差,从而降低总误差。       Dropout,这是一种很有效的方法,在训练时随机忽略隐藏层的某些节点,这样每次训练时网络会有不同,最后得到的误差会比用全部节点训练要好得多,这种做法有点类似bagging。       如果是树模型的话,那么减少剪枝是一种很有效的方法,通常利用限制最大深度,最大叶节点数来达到该目的(目的就是不想让模型对每个随机变量拟合,毕竟这个变量也可能是白噪声);

[机器学习算法]机器学习技术是怎么防止过拟合?

http://m.jpmy1688.com/ll/62109.html

推荐访问:

各种利率表推荐文章

推荐内容

上一篇:[室内花有那些]那些关于室内木制品搭配的二三四规则 下一篇:【kijiji租房选哪个】KIJIJI上骗术层出不穷 新年买便宜货谨防上当