正则化是为了避免过拟合现象的出现而出现的,本质是对模型训练误差和泛化误差的一个平衡(过拟合下的泛化能力是比较弱的)。正则化是机器学习中的一种叫法,其他领域叫法各不相同:
机器学习把L_1 和L_2 叫 正则化,统计学领域叫 惩罚项,数学领域叫 范数
不加入正则化项,我们的目标是最小化损失函数,即经验风险最小化。 加入正则化项,目标变成了最小化损失和复杂度之和,这个称为结构风险最小化。
结构风险最小化时在往往会在正则化项前加一个系数,一般称为正则化系数或者是惩罚系数,这个系数来平衡模型的泛化能力和预测能力的权重。
正则化项一般形式是:
在实际运用过程中,比较常用的是L_1 和L_2 范数(对于凸优化问题,这两类表现出的效果是最好的),接下来以多元线性回归为例对这两种范数的区别进行一个说明。
LASSO & RIDGE
回归模型中,我们把带有L_1 正则化项的叫 LASSO 回归,带有L_2正则化项的叫做 RIDGE 回归。两种回归下的参数求解为:
正是因为二者正则化项的差异,所以导致二者在求得的解中也会有所差异。 以岭回归为例,原结构风险函数可以转为下边的问题:
t 越小,代表相当于原来函数中的lambda 越大,对于两个参数的回归模型(最小二乘回归),其本身的解相当于一个’漏斗’,而对应的约束条件相当于一个圆柱:
减小 t,圆柱体会向内缩,交点会向上移动,参数的值在减小,相当于增大了模型复杂度所占的权重。类似的,LASSO 回归则相当于一个长方体与漏斗的切点。
L_1 和 L_2 正则化的异同
有偏估计
我们将前面的三维立体图形映射成二维(从上往下看),可以清晰地看到:求解的交点不再是最小二乘的最小值(红点),而变成了与正则项的交点(黄点)。这说明了 LASSO 回归和岭回归都是一种有偏估计,而最小二乘是一种无偏估计。
能否使参数矩阵稀疏
两种正则化方式对模型参数的调节方式不完全一致(数量和大小) 前面我们说正则化是通过调整模型参数(数量和大小)来降低模型复杂度的,其实,这里说的数量和大小是和 L1 和 L2 正则化分别有着对应关系的。
- L1 正则化:通过稀疏化(减少参数数量)来降低模型复杂度的,即可以将参数值减小到 0。
- L2 正则化:通过减少参数值大小来降低模型复杂的,即只能将参数值不断减小但永远不会减小到 0。 这个区别可以从二维图中更好地观察出来:岭回归中两个图形(没有棱角)的交点永远不会落在两个轴上,而 LASSO 回归中,正则化的几何图形是有棱角的,可以很好的让交点落在某一个轴上。
这种稀疏化的不同也导致了 LASSO 回归可以用于特征选择(让特征权重变为 0 从而筛选掉特征),而岭回归却不行。但是两种回归的效果还需要根据实际情况来选择,以及如何选择惩罚系数。关于稀疏化很有多内容,这里不进行展开。
下降速度不同
两种回归的不同也可以反映在下降速度上,蓝色为岭回归的最小化下降曲线,红色为 LASSO 回归的下降曲线。 可以发现:最开始的时候岭回归下降的非常快,但是随着值越来越小,岭回归下降速度也越来越慢,当快接近 0 的时候,速度会非常慢,即很难减小到 0。相反,LASSO 回归是以恒定的速度下降的,相比于岭回归更稳定,下降值越接近近 0 时,下降速度越快,最后可以减小到 0。
参考文章
【机器学习笔记】:解读正则化,LASSO 回归,岭回归