正则化知识点

245 阅读8分钟

1. 正则原理

  • L0范数是指向量中非0的元素的个数。(L0范数很难优化求解)

  • L1范数是指向量中各个元素绝对值之和

  • L2范数是指向量各元素的平方和然后求平方根

L1在江湖上人称Lasso(稀疏规则算子),L2人称Ridge(岭回归)。L0可以实现稀疏,但一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。所以我们一般用L1。

2. 为什么要稀疏?参数稀疏有什么好处呢?

2.1 特征选择(Feature Selection):

稀疏规则化关键原因在于它能实现特征的自动选择。一般来说,xix_i的大部分元素(特征)都是和最终的输出yiy_i没有关系或者不提供任何信息的,在最小化目标函数的时候考虑xix_i这些额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑,从而干扰了对正确yiy_i的预测。稀疏规则化算子的引入就是为了完成特征自动选择的使命,它会学习去掉这些没有信息的特征,把这些特征对应的权重置为0。

2.2 可解释性(Interpretability):

另一个好处是参数变少可以使整个模型获得更好的可解释性。

例如患某种病的概率是y,然后我们收集到的数据x是1000维的,也就是我们需要寻找这1000种因素到底是怎么影响患上这种病的概率的。假设我们这个是个回归模型:y=w1x1+w2x2++w1000x1000+by=w_1*x_1+w_2*x_2+…+w_{1000}*x_{1000}+b(当然了,为了让y限定在[0,1]的范围,一般还得加个Logistic函数)。通过学习,如果最后学习到的wiw_i就只有很少的非零元素,例如只有5个非零的wiw_i,那么我们就有理由相信,这些对应的特征在患病分析上面提供的信息是巨大的,决策性的。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了

3.为什么L2正则可以防止过拟合

L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项W2||W||^2最小,可以使得W的每个元素都很小,都接近于0,但 与L1范数不同,它不会让它等于0,而是接近于0。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。

为什么越小的参数说明模型越简单?奥卡姆剃刀(Occam's razor)原理

限制了参数很小,实际上就限制了多项式某些分量的影响很小。

所以为什么参数越小,说明模型越简单呢?这是因为越复杂的模型,越是会尝试对所有的样本进行拟合,甚至包括一些异常样本点,这就容易造成在较小的区间里预测值产生较大的波动,这种较大的波动也反映了在这个区间里的导数很大,而只有较大的参数值才能产生较大的导数。因此复杂的模型,其参数值会比较大。

拟合函数求导后,不同feature的求导后参数就对应着这个feature的波动大小,而在此feature上只有取值变化剧烈才会有很大的波动,所以就会产生过拟合。L1正则同理。

4. 如何解决L1正则化不可导的问题

4.1 坐标轴下降

由于lasso回归的损失函数在0处是不可导的,所以梯度下降算法将不再有效,下面利用坐标轴下降法进行求解。坐标轴下降法和梯度下降法具有同样的思想,都是沿着某个方向不断迭代,但是梯度下降法是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向。

  1. 坐标轴下降法进行参数更新时,每次总是固定另外m-1个值,求另外一个的局部最优值,这样也避免了Lasso回归的损失函数不可导的问题。
  2. 坐标轴下降法每轮迭代都需要O(mn)的计算。(和梯度下降算法相同)

坐标轴下降法的数学依据为:对于一个可微凸函数f(θ)f(\theta),其中θ\theta为n*1的向量,如果对于一个解θ=(θ1,θ2,θ3...θn)\theta=(\theta_1,\theta_2,\theta_3...\theta_n),使得f(θ)f(\theta)在某个坐标轴上θi(i=1,2...n)\theta_i(i=1,2...n)都能达到最小值,则θ=(θ1,θ2,θ3...θn)\theta=(\theta_1,\theta_2,\theta_3...\theta_n)就是f(θ)f(\theta)的全局的最小值点。

4.2 Proximal Algorithms 近端梯度下降

假设目标函数为 minxf(x)+h(x)\min _{x} f(x)+h(x) 其中 f(x)f(x) 可导, 而 h(x)h(x) 不可导。

则每步迭代更新为 xk+1=Proxh,η(xkηf(xk))x^{k+1}=\operatorname{Prox}_{h, \eta}\left(x^{k}-\eta \nabla f\left(x^{k}\right)\right)

其中, Proxh,η(x)=argminy12ηyx2+h(y)\operatorname{Prox}_{h, \eta}(x)=\operatorname{argmin}_{y} \frac{1}{2 \eta}\|y-x\|^{2}+h(y)

如果 h(x)=x1h(x)=\|x\|_{1}, 也就是题目中要求的L1范数正则化, 则对应的

Proxh,η(x)=argminy12ηyx2+y1=y^\operatorname{Prox}_{h, \eta}(x)=\arg \min _{y} \frac{1}{2 \eta}\|y-x\|^{2}+\|y\|_{1}=\hat{y}​
y^i={xiη if xiη>0xi+η if xi+η<00 otherwise \hat{y}_{i}=\left\{\begin{array}{ll}x_{i}-\eta & \text { if } x_{i}-\eta>0 \\ x_{i}+\eta & \text { if } x_{i}+\eta<0 \\ 0 & \text { otherwise }\end{array}\right.​

5. L1和L2的区别

5.1 下降速度

我们知道,L1和L2都是规则化的方式,我们将权值参数以L1或者L2的方式放到代价函数里面去。然后模型就会尝试去最小化这些权值参数。而这个最小化就像一个下坡的过程,L1和L2的差别就在于这个“坡”不同,L1就是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。所以实际上在0附近,L1的下降速度比L2的下降速度要快,所以会非常快得降到0

img
5.2 模型空间的限制

我们将模型空间限制在w的一个L1-ball 中。为了便于可视化,我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为C的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解:

彩色线就是优化过程中遇到的等高线,一圈代表一个目标函数值,圆心就是样本观测值(假设一个样本),半径就是误差值,受限条件就是黑色边界(就是正则化那部分),二者相交处,才是最优参数。

可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0w_1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。

相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1-regularization 能产生稀疏性,而L2-regularization 不行的原因了。

因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。

6. 正则化的贝叶斯解释

从贝叶斯估计的角度来看,规则化项对应于模型参数w的先验概率。

从贝叶斯学派角度来看,是加上了一个(参数w的)先验,然后计算后验。因为数据中所包含信息的不充足是无法通过各类优化算法弥补的,所以需要引入一些先验信息或者说假设。这些先验信息就体现在正则化项的范数上,L0 L1 是稀疏的, L2是光滑的。

在最小二乘回归问题中,加2范数正则等价于加了高斯分布的先验,加1范数正则相当于加拉普拉斯分布先验。L1假设的是模型的参数取值满足拉普拉斯分布,L2假设的模型参数是满足高斯分布。

简而言之就是:L1是假设参数服从双指数分布,利于保证权值向量的稀疏性;L2是假设参数服从高斯分布,利于防止过拟合。

我们相当于是给模型参数w 添加了一个协方差为1α\frac{1}{\alpha}的零均值高斯分布先验。 对于α=0\alpha=0,也就是不添加正则化约束,则相当于参数的高斯先验分布有着无穷大的协方差,那么这个先验约束则会非常弱,模型为了拟合所有的训练数据,w可以变得任意大不稳定。α\alpha 越大,表明先验的高斯协方差越小,模型约稳定,相对的方差也越小。