(通俗理解)机器学习中 L1 和 L2 正则化的直观解释

机器学习中,如果参数过多,造成模型过于复杂,容易造成过拟合(overfiting),即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,即不具有很强的泛化能力。为了避免过拟合,最常用的一种方法是使用正则化,例如 L1 和 L2 正则化,分别对应于回归分析中的Lasso回归和Ridge回归。但是,正则化项如何得来?其背后的数学原理是什么?L1 正则化和 L2 正则化之间有何区别?本人在经过一些书籍和资料的阅读之后,在这里给出直观的解释。

(一)L2 正则化的直观解释

L2 正则化公式非常简单,直接在原来的损失函数(Ein)的基础上加上权重参数的平方和:



其中,Ein 是未包含正则化项的训练样本误差,λ 是正则化参数,超参数可调。但是正则化项是如何推导的?

众所周知,正则化的目的是限制参数过多或者过大,避免模型变得复杂。例如,多项式回归的模型中,如果使用 10 阶多项式,曲线会变得过于曲折,模型过于复杂,容易发生过拟合。因此,为了防止过拟合,我们可以将其高阶部分的权重 w 限制为 0,这样,就相当于从高阶的形式转换为低阶。同理在特征工程方面,也可以通过引入正则化项完成特征选择和维度缩减。

为了达到降阶这一目的,最直观的方法就是限制w的个数,一般的做法是寻找更宽松的限定条件:



上式是对 w 的平方和做数值上界限定,即所有w 的平方和不超过参数 C。这时我们优化的目标就转换为:最小化训练样本误差 Ein,同时要遵循 w 平方和小于C的条件。

下面,我用一张图来说明如何在限定条件下,对 Ein 进行最小化的优化。


(通俗理解)机器学习中 L1 和 L2 正则化的直观解释_第1张图片


图中,蓝色椭圆区域是最小化 Ein 区域,红色圆圈是 w 的限定条件区域。在没有限定条件的情况下,一般使用梯度下降算法,在蓝色椭圆区域内会一直沿着 w 负梯度前进,直到找到全局最优值 wlin。例如空间中有一点 w(图中紫色点),此时 w 会沿着 -∇Ein 的方向移动,如图中蓝色箭头所示。但是,由于存在限定条件,w 不能离开红色圆形区域,最多只能位于圆上边缘位置,沿着切线方向,即w的方向如图中红色箭头所示。

存在限定条件,w 最终会在什么位置取得最优解呢?也就是说在满足限定条件的基础上,尽量让 Ein 最小。


我们来看,w是沿着圆的切线方向运动,如上图绿色箭头所示。运动方向与 w 的方向(红色箭头方向)垂直。运动过程中,根据向量知识,只要-∇Ein与运行方向有夹角,不垂直,即-∇Ein会在w切线方向上产生分量,这样w就会继续运动,寻找下一步最优解。只有当 -∇Ein与w的切线方向垂直时,-∇Ein在 w 的切线方向才没有分量,这时w才会停止更新,到达最接近 wlin 的位置,且同时满足限定条件。


(通俗理解)机器学习中 L1 和 L2 正则化的直观解释_第2张图片


-∇Ein与w的切线方向垂直,即-∇Ein与w的方向平行,从几何的角度上讲,即两个向量存在一个常数的差异。如上图所示,蓝色箭头和红色箭头互相平行。这样,根据平行关系得到:




这样,我们就把优化目标和限定条件整合在一个式子中了。也就是说只要在优化 Ein 的过程中满足上式,就能实现正则化目标。

接下来,根据最优化算法的思想:梯度为0时函数取得最优值。已知∇Ein是Ein的梯度,观察上式,λw 是否也能看成是某个表达式的梯度呢?当然可以,λw 可以看成是 1/2λw*w 的梯度,即:


这样,根据平行关系求得的公式,构造一个新的损失函数:


之所以这样定义,是因为对 Eaug 求导,正好得到上面所求的平行关系式。上式中等式右边第二项就是 L2 正则化项。

这样, 我们从图像化的角度,分析了L2正则化的物理意义,解释了带L2正则化项的损失函数是如何推导而来的。


(二)L1 正则化的直观解释


L1 正则化公式也很简单,直接在原来的损失函数基础上加上权重参数的绝对值加和:

用一张图来说明如何在 L1 正则化下,对 Ein 进行最小化的优化。


(通俗理解)机器学习中 L1 和 L2 正则化的直观解释_第3张图片


Ein优化算法不变,L1正则化限定了w的有效区域是一个正方形,且满足|w|空间中的点w沿着-∇Ein的方向移动。同样地,w 不能离开红色正方形区域,最多只能位于正方形边缘位置,沿着正方形边缘移动。其推导过程与L2类似,此处不再赘述。


(三)L1与L2解的稀疏性

介绍完 L1 和 L2 正则化的物理解释和数学推导之后,我们再来看看它们解的分布性。


(通俗理解)机器学习中 L1 和 L2 正则化的直观解释_第4张图片

以二维情况讨论,上图左边是L2正则化,右边是L1正则化。从另一个方面看,满足正则化条件,就是求解蓝色区域与黄色区域的相切点,即同时满足限定条件和Ein最小化。对于L2来说,限定区域是圆,这样,得到的解w1或w2为0的概率很小,很大概率是非零的。

然而,对于L1来说,限定区域是正方形,方形与蓝色区域相交的交点是顶点的概率很大,这从视觉和常识上来看是很容易理解的。也就是说,方形的凸点会更接近Ein最优解对应的wlin位置,而凸点处必有w1或w2为0。这样,得到的解w1或w2为零的概率就很大了。所以,L1 正则化的解具有稀疏性,从这个层面上讲,可以在特征工程中实现降维。

扩展到高维,同样的道理,L2 的限定区域是平滑的,与中心点等距;而 L1 的限定区域是包含凸点的,尖锐的。这些凸点更接近 Ein 的最优解位置,而在这些凸点上,很多 wj 为 0。


关于 L1 更容易得到稀疏解的原因,有一个很好的解释,请见下面的链接:

https://www.zhihu.com/question/37096933/answer/70507353


(四)正则化参数 λ


正则化是结构风险最小化策略的一种实现,能够有效降低过拟合。损失函数实际上包含了两个方面:一个是训练样本误差。一个是正则化项。其中,参数 λ 起到了权衡的作用。


(通俗理解)机器学习中 L1 和 L2 正则化的直观解释_第5张图片


以 L2 为例,若 λ 很小,对应上文中的 C 值就很大。这时候,圆形区域很大,能够让 w 更接近 Ein 最优解的位置。若 λ 近似为 0,相当于圆形区域覆盖了最优解位置,这时候,正则化失效,容易造成过拟合。

相反,若 λ 很大,对应上文中的 C 值就很小。这时候,圆形区域很小,w 离 Ein 最优解的位置较远。w 被限制在一个很小的区域内变化,w 普遍较小且接近 0,起到了正则化的效果。但是,λ 过大容易造成欠拟合。

欠拟合和过拟合是两种对立的状态,选取合适的λ来进行正则化,以学习到一个不仅要很好地拟合训练样本,同时具有很强泛化能力,同时模型还要相对简单的模型。




你可能感兴趣的:(机器学习,特征工程,机器学习与人工智能)