文章目录

什么是正则化

模型选择的典型方法是正则化(regularization),正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是关于模型复杂度的单调递增函数,模型越复杂,正则化之就越大。比如,正则化项可以是模型参数向量的范数。(机器学习模型关于训练数据集的平均损失称为经验风险,用来度量平均意义下模型预测效果的好坏;结构风险是在经验风险的基础上加上表示模型复杂度的正则项)

正则化一般具有如下形式:

$$min_{f\in F}\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))+\lambda J(f)$$

其中,第一项是经验风向,第二项是正则化项,$\lambda \ge 0$为调整二者之间关系的系数。

如无必要,勿增实体—奥卡姆剃刀(Occam’s razor)原理

正则化符合奥卡姆剃刀原理,奥卡姆剃刀原理应用于模型选择时认为:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计嘚角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。

Lp范数的一般性质

首先介绍向量的$L_p$范数的一般性质。$L_p$范数可以写成下列形式:$$L_p(x)=\sqrt[n]{\sum_{i=1}^n|x_i|^p}$$

其中,$p$可以取$(0,+\infty)$。

无需对所有的$L_p$范数都靠查一遍,只需要对较为感兴趣的几种进行考察即可。这几种分别是$L_0$范数、$L_1$范数、$L_2$范数、$L_{\infty}$范数。

$L_0$范数

首先是$L_0$范数,严格来说,$L_0$范数并不是真正意义上的“范数”,因为它不满足齐次性的要求。另外,$p=0$不在$p$的取值范围内,但是考虑到$p=0$时,向量的所有非零元素的0次幂都是1,零元素的0次幂不存在,所以求和结果就是非零元素的个数。人们将$L_0$范数定义为下:$$L_0(x)=\sum_{i=1,x_i \ne 0}^n|x_i|^0\qquad x=(x_1,x_2,\cdots,x_n)$$

可以看出,$L_0$范数就是所有维度中不为0的元素的个数。其与元素的具体值无关,只关心非零元素的个数。所以,$L_0$范数实际上表征了一个向量的稀疏程度(Sparsity)。$L_0$范数越大,说明非零元素越多,也就意味这稀疏程度越小;反之,$L_0$范数越小,说明非零元素越少,向量就越稀疏。

稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0。通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系

$L_1$范数

下面介绍$L_1$范数,把$p=1$代入,得式:$$L_1(x)=\sqrt[1]{\sum_{i=1}^n|x_i|^1}=\sum_{i=1}^n|x_i|\qquad x=(x_1,x_2,\cdots,x_n)$$

$L_1$范数表示向量所有维度的绝对值之和的大小。$L_1$范数的一个重要性质为,它是$p$取值最小的凸函数。也就是说,对于$0\le p <lt 1$区间的所有$p$,$L_p$范数都是非凸函数;直到$p=1$,它才变成了一个凸函数;对于$p\gt 1$,$L_p$范数也都是凸函数。

$L_2$范数

$L_2$范数如下式所示:$$L_2(x)=\sqrt[2]{\sum_{i=1}^n|x_i|^2}=\sqrt{\sum_{i=1}^nx_i^2}\qquad x=(x_1,x_2,\cdots,x_n)$$

$L_2$范数即高维空间的点到远点的欧几里得距离。

$L_p$范数

最后$L_p$范数。考虑到幂次$p$达到一定程度之后,在每个元素的幂的求和中,最大的那个元素的幕相较于其他元素的幕会占据绝对优势,再开$p$次方后,基本只有最大值元素了。将$p$延伸至正无穷,就可以得到向量的$L_{\infty}$范数公式,即$$L_{\infty}(x) = \sqrt[\infty]{\sum_{i=1}^n|x_i|^{\infty}}=max\{|x_1|,|x_2|,\cdots,|x_n|\}\qquad x=(x_1,x_2,\cdots,x_n)$$

也就是去所有维度的绝对值的最大值作为范数。

一般性质

为了更直观地了解$L_p$范数的一些公共性质,画出$p$从无穷到0变化时,三维空间中到原点的距离(范数)为1的点构成的图形的变化情况,如下图所示:

从图中可以直观的看出,以$p=1$为界限,$p\lt 1$时物体形状是凹陷的,因此是一个非凸几何;而$p\gt 1$时都是凸出的,因此时凸几何;$p=1$时每个面都是平面,因此也是凸几何,且为$p$最小的凸几何。用较为形象的语言来表述,从$p=0$开始,随着$p$的增加,几何从表面深凹处逐渐“膨胀”,并最终以每个面与坐标轴垂直的立方体为界限,限定在这个立方体中。

$L_1$范数与$L_2$范数的区别

$L_1$范数更容易得到稀疏解

$L_1$范数是$p$最小的凸函数,即它是所有凸函数中$L_p$范数最接近$L_0$范数的一个。我们知道,一个优化问题如果以凸函数为目标,且定义在凸集上,那么它可以用通用方法解决(如梯度下降法)。

由于$L_0$范数可以得到稀疏解,因此与$L_0$范数最接近的$L_1$范数相对于其他的$L_p$范数来说,也能获得相对稀疏的解。一般来说,$L_1$范数通常被用来作为$L_0$范数的一个凸松弛,即如果问题中如果有$L_0$范数的约束,可以用$L_1$范数来代替,把它变成易于求解的凸函数,但仍会保持一些$L_0$范数的稀疏性。

$L_0$范数约束的稀疏性很容易理解,因为$L_0$范数本身就是一个稀疏性度量。那么$L_1$范数为何还能保持一部分稀疏性呢?这里通过对比$L_1$正则化和$L_2$正则化的过程进行解释。

首先$L_1$正则化的线性回归,即lasso回归的基本形式可以写为$$\min_w||y-Xw||^2+\lambda ||w||_1$$

该是可以改写成$$\min_w||y-Xw||^2$$$$s.t.\quad ||w||_1\le C_1$$

其中,$C_1$为lasso回归的最优解$L_1$范数。

同理,$L_2$正则化的岭回归也可以用上式的形式表示:$$\min_w||y-Xw||^2$$$$s.t.\quad ||w||_2^2\le C_2^2$$

为了便于作图,将维度设置为2,即$w$是二维的,这样就可以在平面中将这两个优化问题的求解过程展示出来,如下图所示:

其中,左为lasso回归、右为岭回归。可以看到,由于线性拟合项是以$L_2$范数为目标函数的,因此其是一个椭圆形,这些椭圆形也就是线性拟合项$L_2$范数拟合损失的各个取值的等值线,而原点附近的形状分别是$L_1$范数和$L_2$范数为$C_1$和$C_2$的等值线。可以看到,可行域被范数正则项约束在了原点这一块区域。那么最优解就是椭圆形的等值线第一次进入可行域的临界点,如上图中的红曲线所示。从图中可以看到,由于$L_1$范数和$L_2$范数形状的差异,该临界点对$L_1$范数的可行域很容易交到坐标轴上的点,而$L_2$范数则容易落在象限以内。因为坐标轴的点是稀疏的,所以$L_1$范数更容易得到稀疏解。

继续以上图为例,考虑$L_0$范数,实际上$L_0$范数等于1的等值线就是坐标轴(等于0则为原点,等于2则为除去坐标轴和原点后的整个平面),那么一次为可行域,交点必然在轴上,所以肯定是稀疏的。进一步来说,该可行域的性质越接近坐标轴,即$L_p$范数的$p$越小,解越偏向稀疏。但是由于$p\le 1$的稀疏都是非凸函数,不便于求解,因此$L_1$范数的重要性就体现出来了。

$L_2$范数可以得到较小的参数值

以线性回归中的梯度下降法为例。假设要求的参数为$\theta$,$h_{\theta}(x)$是我们的假设函数,那么线性回归的代价函数如下:$$J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2$$

那么在梯度下降法中,最终用于迭代计算参数$\theta$的迭代式为: $$\theta_j:=\theta_j-\alpha \frac{1}{m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})x_j^{(i)}$$

其中$\alpha$是learning rate。上式是没有添加$L_2$正则化项的迭代公式,如果在原始代价函数之后添加$L_2$正则化,则迭代公式会变成下面的样子:$$\theta_j:=\theta_j(1-\alpha \frac{1}{m})-\alpha \frac{1}{m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})x_j^{(i)}$$

其中$\lambda$就是正则化参数。从上式可以看到,与未添加$L_2$正则化的迭代公式相比,每一次迭代,$\theta_j$都要先乘以一个小于1的因子,从而使得$\theta_j$不断减小,因此总得来看,$\theta$是不断减小的。

二维平面下$L_2$正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此$J_0$与$L$相交时使得$w1$或$w2$等于零的机率小了许多,这就是为什么$L_2$正则化不具有稀疏性的原因。

拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』。

$L_1$与$L_1$的总结

L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择

L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合