本文介绍了正则化。包括正则化假设空间,权重衰减正则化,正则化与VC Dimension以及常用的两种正则化:L1和L2正则化。



14. Regularization

上一节课程中,讲到了抑制过拟合的五种措施中的两种,本节课介绍第三种:正则化(Regularization)。

14.1 Regularized Hypothesis Set

正则化的核心思想:将假设函数从高阶多项式降为低阶多项式,如同开车时的踩刹车,将速度降低,效果图如下图所示:
机器学习基石14:正则化(Regularization)
上图中,蓝色线表示目标函数(期望输出),红色线表示假设函数(预测输出)。回顾上节课所学,右图是过拟合的情况,所有样本点都落在假设函数曲线上(红色线),虽然这样 Ein0E_{in} \approx 0,但是 EoutE_{out} 却异常大,往往是 EinE_{in} 的数倍不止,不是一个数量级,这就导致了模型泛化能力很差(表现:在新样本上不能准确地预测)。

为缓解过拟合,引入正则化的思想,将原假设函数的高阶(10阶)退化为低阶(2阶);这时候,再拟合,便得到了右图。可以看到假设函数曲线(红色线)与目标函数(蓝色线)非常接近, 即 EoutEin0E_{out} - E_{in} \approx 0 。此时,极大地缓解了过拟合风险,泛化能力也便提升了。这就是正则化拟合(regularized fit)。

高阶假设函数集合与低阶假设函数集合的关系如下图所示。本节内容是使用高阶假设函数过拟合时,通过降低假设函数的阶次来缓解过拟合。即通过增加限制条件把 高阶假设集合 H10H_{10} 近似为低阶假设函数 H2H_{2}
机器学习基石14:正则化(Regularization)
这种函数近似曾被称之为不适定问题(ill­posed problem)的函数逼近,即在函数逼近中出现多个解,如何选择解的问题。这也是正则化名称来源。


那么,应该增加哪些限制条件将10阶假设函数降为2阶呢?

下面举一个简单的例子帮助理解正则化的思想,如下图所示:

机器学习基石14:正则化(Regularization)
通过增加限制条件 w3=w4=...=w10=0w_3= w_4= . . . = w_{10}= 0 使得 H10H_{10} 退化为 H2H_{2},亦即对于高阶的假设函数而言,通过将高阶部分的权重限制为0,来降低过拟合风险。这里有一点要注意:
机器学习基石14:正则化(Regularization)
即“退化”就是“限制”,这也是正则化的核心思想。那么为什么不直接使用 H2H_{2} 呢?其实这只是一种情况,将 H10H_{10} 的高阶部分的权重限制为0,条件过于苛刻。接下来看更一般的情况:令任意10个权重中的任意8个权重为0。这样也就把苛刻的限制条件变为宽松的限制条件,如下图所示:
机器学习基石14:正则化(Regularization)
这种假设称为稀疏假设(sparse hypothesis),于是有如下关系:

H2H2H10H_2⊂ H^{'}_2 ⊂ H_{10}

但是新的问题出现了:稀疏假设存在 NP-hard 问题,即求解非常困难。

思路是:寻找更加宽松的限制条件,使得易于求解。即:
机器学习基石14:正则化(Regularization)
其中,C是常数,也就是说,所有的权重w的平方和的大小不超过C,我们把这种假设集合(Hypothesis set)记为 H(C)H(C)

这里有两点需要注意:

  • H2H^{'}_2H(C)H(C) 的关系:有交集,但并非完全包含的关系;也不一定相等。
  • H(C)H(C) 中,CC 越大,限制的范围越大,即限制条件越宽松:H(0)H(1126)...H()=H10H(0) ⊂ H(1126) ⊂ . . . ⊂ H(∞) = H_{10}

H(C)H(C) 称为正则假设集合(regularized hypothesis set),其最优解为正则化假设 WREGW_{REG}。下一小节介绍如何求这个最优解。


习题1:
机器学习基石14:正则化(Regularization)


14.2 Weight Decay Regularization

将上一小节提到的假设集合 H(C)H(C) 转化为下式:
机器学习基石14:正则化(Regularization)
这其实是一个最优化问题,即求解权重向量 ww 使得 Ein(w)E_{in}(w) 最小。

限制条件 w2C||w^2|| \le C 的含义是:从几何角度上将,权重向量 ww 被限制在半径为 C\sqrt{C} 的圆内,而球外的 ww 都不符合要求。将上文提到的限制条件的求和形式转化为矩阵形式表示:
机器学习基石14:正则化(Regularization)
通常情况下,求解带有限制条件的最优化问题都会引用拉格朗日函数(拉格朗日乘子),下面用一张图解释在限定条件下, Ein(w)E_{in}(w) 最小化的过程:
机器学习基石14:正则化(Regularization)
上图中,蓝色圆圈表示有限制的 Ein(w)E_{in}(w) ,红色圆圈为限制条件 wTw=Cw^Tw=C

在没有限制条件的情况下,权重向量 ww 最终会取得最小值 wlinw_{lin},即“谷底”的位置。加上限制条件之后,权重向量 ww 被限制在半径为 C\sqrt{C} 的圆内,ww 到原点的距离不能超过圆的半径;这种情况下,ww 不能取得最小值 wlinw_{lin},最优解位于圆(红色圆)上,并且只能沿着切线方向(绿色线)变化。红色线(箭头)与绿色线(箭头)垂直,为圆(红色圆)的法向量,即 ww 的方向,ww 不能沿该方向变化。随着迭代的不断进行,只要 Ein− \nabla E_{in} 不与绿色线(切向量)垂直,则Ein− \nabla E_{in} 一定在绿色线上有分量,即 ww 点还会继续变化。只有当 Ein− \nabla E_{in} 与绿色线垂直,即与红色线(法向量) 平行 时,此时的 ww 即为最优解。由此得到最优解满足的条件:

机器学习基石14:正则化(Regularization)
公式中,λ\lambda 称为拉格朗日乘子(Lagrange multiplier),是用来求解有条件约束最优化问题的常用工具。2N\frac{2}{N} 系数是为了方便公式推导,称这个公式为平行公式。此时目标函数变为求解满足上式的 wREGw_{REG}

线性回归 EinE_{in} 的表达式为:

Ein=1Nn=1N(xnTwyn)2E_{in} = \frac{1}{N} \sum^{N}_{n=1}(x^T_nw-y_n)^2

由该式计算梯度,并代入上文中的公式可得:
机器学习基石14:正则化(Regularization)
最后得到 wREGw_{REG} 的计算公式。上式中,ZTZZ^TZ 是半正定的,因此只要保证 λ>0\lambda > 0,则 ZTZ+λIZ^TZ + λI 一定为正定矩阵(设 MM 是 n 阶方阵,如果对任何非零向量 zz,都有 zTMz>0z^TMz> 0,其中 zTz^T 表示 zz 的转置,就称M为正定矩阵。),因此一定可逆。统计学上,ZTZ+λIZ^TZ + λI 称为 岭回归(ridge regression)

对于更一般的情况, Ein(wREG)\nabla E_{in}(w_{REG}) 不是线性的,代入平行公式求解 wREGw_{REG} 是比较困难的。下面换个角度使用约束条件:

机器学习基石14:正则化(Regularization)
因为 Ein(wREG)\nabla E_{in}(w_{REG})EinE_{in}wREGw_{REG} 的偏导数,则 2λNwREG\frac {2 \lambda}{N}w_{REG} 也可以看成是函数的导数,则由平行公式可知,左边两项的导数和等于零,即这个公式为求函数的最小值条件,此时我们做一步转化(相当于对平行公式积一次分),将问题转化为最小化该函数:

Eaug(w)=Ein(w)+λNwTwE_{aug}(w) = E_{in}(w) + \frac{\lambda}{N}w^Tw

通过该变换,将有约束的最小化Ein(w)E_{in}(w) 问题转换为有效的无约束的最小化 Eaug(w)E_{aug}(w) 函数的问题。该函数中,augaug 是增广误差(Augmented Error)的缩写,称函数 Eaug(w)E_{aug}(w) 为增广误差函数;第二项为限制条件(regularizer),也称为权重衰减正则化(weight-decay regularization)。

如果使用正则化,只需要设置拉格朗日乘子 λ>0\lambda > 0 即可;如果不使用正则化,将 λ\lambda 置零,相当于没加任何约束条件,问题就又变为最初的最小化 Ein(w)E_{in}(w) 的问题。

下图展示了不同的拉格朗日乘子的正则化对模型拟合能力的影响:
机器学习基石14:正则化(Regularization)
从图中可以看出,对于过拟合的情况,通过引入不同取值的拉格朗日乘子,模型逐渐欠拟合。可以把拉格朗日乘子 λ\lambda 看做惩罚项,λ\lambda 越大,权重向量 ww 就越小,对应于约束范围 CC 值就越小,即对假设模型中的高次项惩罚力度大,高阶项被削弱,模型不能表达高维空间的特征,从而导致欠拟合。在实际应用过程中,λ\lambda 一般取0.5作为初始化的值,最终取多少合适,还要根据自己的业务需求进行调整。
机器学习基石14:正则化(Regularization)
以上讨论的多项式是最一般的情形 Φ(x)=(1,x,x2,...,xQ)Φ(x) =(1,x,x^2,. . . ,x^Q),若 x 的范围在 [­1,+1][­-1,+1] 之间,则可能导致 xnqx^q_n 相对于低阶项要小得多,则其对应的系数、亦即权重矩阵 wqw_q 非常大,相当于要给高阶项设置很大的惩罚。为了避免出现这种数据大小差别很大的情况,可以使用 勒让德多项式(Legendre Polynomials) 代替这种形式,勒让德多项式各项之间是正交的,多项式拟合效果更好。勒让德多项式的前5项如下图所示:
机器学习基石14:正则化(Regularization)


习题2:
机器学习基石14:正则化(Regularization)


14.3 Regularization and VC Theory

该小节从VC理论的角度说明正则化效果好的原因(第一小节从过拟合的角度介绍正则化好的原因)。

最小化 EinE_{in} 正则化:

minwEin(w) s.t. wTwCmin_w E_{in}(w) \ s.t. \ w^Tw ≤ C

最小化增广误差(Augmented Error)正则化:

Eaug(w)=Ein(w)+λNwTwE_{aug}(w) = E_{in}(w) + \frac{\lambda}{N}w^Tw

最小化 EinE_{in} 的 VC Bound 表达式:

Eout(w)Ein(w)+(H(C))E_{out}(w) ≤ E_{in}(w) + Ω(H(C))

以上三式中的参数说明:

  • wTww^Tw :单个假设函数的复杂度,记为 (w)Ω(w)
  • (H(C))Ω(H(C)):假设空间的复杂度;

由上式可知,(w)Ω(w) 包含于 (H(C))Ω(H(C)),因此,Eaug(w)E_{aug}(w)Ein(w)E_{in}(w) 更接近 Eout(w)E_{out}(w) ,即能更好的代表 Eout(w)E_{out}(w)
机器学习基石14:正则化(Regularization)
回顾本课程第七章的内容,根据 VC-Dimention理论,整个假设空间的 dvc=d˘+1d_{vc} = \breve{d} + 1,这是因为,在求解最小化的过程中,所有假设函数 {w}\{w \}都考虑了。也就是说 dVC(H)d_{VC}(H) 比较大,因为代表了整个假设空间。但是由于参数 C (或者说拉格朗日乘子 λ\lambda)的限制(正则化影响),限定了权重向量 ww 支取一小部分,有许多高阶项都被丢弃了,实际被考虑的只有 H(C)H(C)。因此,有效的 VC-Dimention dEFF(H,A)d_{EFF}(H,A) 比较小,其中 AA 表示正则化算法。当 λ>0\lambda > 0时,有:

dEFF(H,A)dvcd_{EFF}(H,A) \le d_{vc}

这些与实际情况相符,比如对高阶多项式拟合模型,当 λ=0\lambda = 0 时,所有的权重向量 ww 都要考虑,相应的 dvcd_{vc} 很大,容易发生过拟合。当引入正则化,即 λ>0\lambda > 0 且逐渐增大时,越来越多的高阶项的权重向量 ww 被丢弃,dEFF(H,A)d_{EFF}(H,A) 减小,容易发生欠拟合。dEFF(H,A)d_{EFF}(H,A) 很小意味着模型复杂度很低。


习题3:
机器学习基石14:正则化(Regularization)


14.4 General Regularizers

本章的前几节介绍的正则化项是 权重衰减的正则化项(weight-decay (L2) regularizer),或称 L2正则化项,标量形式为 wq2\sum w^2_q ,向量形式为 wTww^Tw。那么,更一般的正则化项(General Regularizers) (w)Ω(w) 应遵循什么设计规则呢?一般地,会朝着目标函数的方向进行选取。有如下三种方式:

  • 依据目标函数(target-dependent)设计:即根据目标函数的性质设计正则化项,如某目标函数是对称函数,因此权值向量的所有奇数分量应被抑制,可以设计成 [[qisodd]]wq2\sum [[q is odd]]w^2_q 的形式,在奇数是增加惩罚项;
  • 依据可行的方法(plausible)设计:正则化项应尽可能地平滑(smooth)或简单(simpler),因为不论是随机性噪音还是确定性噪音都不是平滑的。平滑表示可微,如L2正则化项。简单表示容易求解,如L1(sparsity,稀疏)正则化项。
  • 依据常用的方法(friendly)设计:正则化应该易于最优化求解,如L2。

其实正则化项设计不好也没有关系,因为正则化受拉格朗日乘子 λ\lambda 控制,当 λ=0\lambda = 0 时,正则化项不起作用。
机器学习基石14:正则化(Regularization)
误差衡量(error measure)也有类似的设计规则。正则化与误差衡量是机器学习模型设计中需要着重考虑的部分。接下来介绍两种正则化方法:L1正则化(稀疏)和L2正则化(权重衰减):
机器学习基石14:正则化(Regularization)
由以上对比可知:

  • L2正则化计算的是 ww 的平方和;并且是处处可微(平滑)的凹函数(convex是凸的意思,与我们高数所学的定义相反,此处我更正过来了,这一点之前也提到过。凹就是函数图像有最低点,优化过程就是求解最小值的过程),适用范围广,并且容易优化求解;
  • L1正则化计算是 ww 的绝对值和,即长度和;也是凹函数,但并不是处处可微的函数(正方形的四个顶点不可微分),根据之前介绍的平行等式推导过程,这种正方形的解大都位于四个顶点处。因为正方形边界处的 ww 绝对值都不为零,若 Ein(w)-\nabla E_{in}(w) 与其不平行,则 ww 会向顶点处移动,顶点处的许多 ww 分量为零,所以,L1 正则化的解是稀疏的(sparsity)。优点是计算速度快。

下面看一下随机噪声(高斯噪声)强度 σ2\sigma^2 和确定性噪声强度 QfQ_f 的不同取值下, 拉格朗日乘子 λ\lambda 应如何取值。
机器学习基石14:正则化(Regularization)
从以上图中可以看出,两类噪声强度越大, λ\lambda 就越大。

以上两种有噪声的情况下,都是噪声越大,相应的 λ\lambda 也就越大。如果用开车来比喻,路况越不好,即噪声越多,那么就越会踩刹车,这里踩刹车指的就是正则化。但是大多数情况下,噪声是不可知的,这种情况下如何选择 ?这部分内容,下节课介绍(Validation)。


习题4:
机器学习基石14:正则化(Regularization)


Summary

本节课介绍了正则化。首先,通过添加一些限制条件,将原来的假设空间变为正则化假设空间,把问题转化为最小化问题,即把 ww 的平方加进去。此过程,实际上是在降低VC Dimension。最介绍了正则化的设计准则以及两种常用的正则化方法。下节课将介绍如何选取合适的 λ\lambda 来建立最佳拟合模型。
机器学习基石14:正则化(Regularization)


参考:
https://www.cnblogs.com/ymingjingr/p/4306666.html
https://github.com/RedstoneWill/HsuanTienLin_MachineLearning

相关文章: