通过正则化解决过拟合问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过正则化解决过拟合问题相关的知识,希望对你有一定的参考价值。
参考技术A 过拟合是机器学习中的常见问题,它是指模型在训练数据集上表现良好,但是用于未知数据时性能不佳如果一个模型出现了过拟合问题,我们也说此模型有高方差,这有可能是因为使用了相关数据中过多的参数,从而使得模型变得国于复杂。同样,模型也可能面临欠拟合(高偏差)问题。
如果我们多次重复训练一个模型,如使用训练数据集中不同的子集,方差可以用来衡量模型对特定样本实例预测的一致性。可以说模型对训练数据中的随机性是敏感的
相反,当我们在不同的训练数据集上多次重建模型时,偏差可以从总体上衡量预测值与实际值之间的差异;偏差并不是由样本的随机性导致的,它衡量的是系统误差
偏差-方差权衡就是通过正则化调整模型的复杂度。正则化是解决共线性(特征间高度相关)的一个很有用的方法,它可以过滤掉数据中的噪音,并最终防止过拟合
**由于过拟合本质是过多的特征被启用导致的,导致模型泛化性变差,所以防止过拟合要降低特征的数量,可以通过使w个数减少,问题就变成让W向量中项的个数最小化,方法就是让w变成或趋近于0,因为向量中0元素对应的x是没有任何权重的 。
L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的正则项最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,这里是有很大的区别的哦
正则化背后的概念是引入额外的信息(偏差)来对极端参数权重做出惩罚。最常用的正则化形式被称为L2正则化,有时也称作L2收缩或权重衰减
特征缩放之所以重要,其中一个原因就是正则化。为了使得正则化起作用,需要确保所有特征保持统一
使用正则化方法时,我们只需在逻辑斯蒂回归的代价函数中加入正则化项,以降低回归系数带来的副作用
通过正则化系数,保持权值较小时,我们就可以控制模型与训练数据的拟合程度
正则化解决过拟合问题
所谓正则化是在代价函数的基础上进行的
为了使costfunction尽快的取得最小值
当参数过多时,会存在过拟合现象,假如我们在损失函数中加入一项作为惩罚,如加入(1000 heta_{3}^{2}),当参数( heta_{3})过大时,会使得损失函数变大,而我们的目标是损失函数最小化,因此,会迫使参数值变小,当但数值值趋近于0时,近似于新加入的项入(1000 heta_{3}^{2})趋近于0,相当于去掉这一项,此时,模型又近似于二次函数形式。解决了过拟合问题。
感觉确实很不错的
当参数很多时,无法确定那些参数对模型影响大,哪些影响较小。无法对参数进行选择约束。因此,我们就从整体上对参数进行约束,加入上图紫色的正则项,对除 heta _{0} 以外的所有参数进行约束。lambda 为正则参数。
加入正则项之后的损失函数
(J( heta)=frac{1}{2 m}left[sum_{i=1}^{m}left(h_{ heta}left(x^{(i)}
ight)-y^{(i)}
ight)^{2}+lambda sum_{j=1}^{n} heta_{j}^{2}
ight])
当正则参数取值较大时,惩罚作用较大,会使得所有参数的取值近似于0,此时,会使得假设模型中参数项以外的项趋近于0,假设模型近似于一条直线,造成欠拟合。
应用
线性回归的正则化
(J( heta)=frac{1}{2 m}left[sum_{i=1}^{m}left(h_{ heta}left(x^{(i)} ight)-y^{(i)} ight)^{2}+lambda sum_{j=1}^{n} heta_{j}^{2} ight])
加入正则项以后,目标依旧是找到最小化损失函数对应的参数值。通常有两种方法,梯度下降与正规方程
在正则化损失函数中,梯度下降的原理与线性回归中一样,只是在迭代过程中将( heta_{0})单独分列出来,因为在正则化过程中只对( heta_{1}- heta_{n})进行惩罚。在对( heta_{1}- heta_{n})进行梯度下降时,加入正则项。化简后的梯度下降迭代公式如上图最后一个公式所示,第一项中的((1-alpha frac{lambda}{m}))是一个略小于1的数,假设为0.99,第二项与原梯度下降公式相同,因此,在进行每次迭代时,都是将原参数乘以0.99,每次迭代将参数缩小一点。
logistic回归中的正则化
(egin{aligned} h_{ heta}(x)=& gleft( heta_{0}+ heta_{1} x_{1}+ heta_{2} x_{1}^{2}
ight)_{1}^{2} &+ heta_{3} x_{1}^{2} x_{2}+ heta_{4} x_{1}^{2} x_{2}^{2} &left.+ heta_{5} x_{1}^{2} x_{2}^{3}+ldots
ight) end{aligned})
损失函数
(J( heta)=-left[frac{1}{m} sum_{i=1}^{m} y^{(i)} log h_{ heta}left(x^{(i)} ight)+left(1-y^{(i)} ight) log left(1-h_{ heta}left(x^{(i)} ight) ight) ight])
在正则化的logistic回归模型中进行梯度下降的方式与线性回归中的方式相似,上图方括号中的式子为正则化后的损失函数。但是这里对(h_{ heta } (x))的定义与线性回归中的不同,这里表示的是一个sigmoid函数。
高级优化算法
略,等我学通到补充
以上是关于通过正则化解决过拟合问题的主要内容,如果未能解决你的问题,请参考以下文章