从零开始机器学习-13 正则化
本文由 沈庆阳 所有,转载请与作者取得联系!
前言
正则化是确保机器学习效果的一个重要因素。
正则化(Regularization)指的是降低模型的复杂度来减少过拟合,其实质是让机器学习程序不要过于依赖和信赖样本。
对于过拟合,用以下的例子来解释最为贴切。假设你跟一个英国人学英语,起初你的进行还不错,很快掌握了英语的一些语法与单词。但因为你只跟这一个人学习英语,最后你会将他的口音,方言都学会,从而产生了过拟合。
通过正则化来处理过拟合有几种策略。
其中一种正则化的策略是早停法。早停法是在训练效果实际开始收敛前就停止训练,尽量接近损失曲线的最底端。虽然早停法很常用,但是实际操作起来却比较困难。
另一种正则化的策略就是增加一个模型复杂度的惩罚项,使用公式来量化模型的复杂度。定义模型复杂度的方法之一是选择较小的权重,使参数变得十分地小的同时仍然可以获取正确的训练样本。
L²参数正则化
L²参数范数惩罚又被称为权重衰减。L²正则化的策略是通过向目标函数添加一个正则项(该正则项为所有权重的平方和):
1.png
增加该正则项会使权重更加接近原点。因此L²正则化也被成为岭回归。
那么我们为何使用该参数来衡量模型的复杂度呢?
首先,在机器学习中的训练优化算法由两个内容组成的函数:一个是用于衡量模型与样本拟合度的损失项;另一个是衡量模型复杂度的正则化项。因此,在机器学习中,我们的目标是最小化损失并且最小化复杂度(结构风险最小化)。而非仅以最小化损失为目标(经验风险最小化)。
使用权重的函数来衡量模型复杂度的特点就是,特征权重的绝对值越高,则权重对模型复杂度的贡献就越大。在L²正则化项中,接近于0的权重对L²正则化项的影响越小,而离群的权重会对L²正则化项产生很大的影响。
正则化中的λ
为了达到结构风险最小化,我们使用如下公式来衡量机器学习模型:
min(Loss(Data|Model) + complexity(Model))
其中,损失和复杂度对衡量模型均有贡献。但我们仍可以通过对复杂度乘以正则化率(lambda—λ)来调整正则化项对模型整体的影响。即:
min(Loss(Data|Model) + λ complexity(Model))
lambda值越小,则正则化的贡献越小。lambda的值越大,则正则化效果越大。
对于lambda的值得选择应以简单化和训练数据拟合之间达到平衡。
过高的lambda将会使模型过于简单,从而产生欠拟合的风险。模型将无法得到有用的预测。
过低的lambda将会使模型过于复杂,从而产生过拟合的更显。模型将无法泛化得到新的数据。
觉得写的不错的朋友可以点一个 喜欢♥ ~
谢谢你的支持!