目录
L1与L2为何能解决过拟合的问题:
L1与L2都是正则化,它们的公式如下:
- L1 范数
当 p=1 时,是 L1 范数,其表示某个向量中所有元素绝对值的和。 - L2 范数
当 p=2 时,是 L2 范数, 表示某个向量中所有元素平方和再开根, 也就是欧几里得距离公式。
它们都可以解决过拟合的问题,具体是为什么可以解决呢?
原因有两点:
- 来自知乎上一种比较直观和简单的理解, 模型过于复杂是因为模型尝试去兼顾各个测试数据点, 导致模型函数如下图,处于一种动荡的状态, 每个点的到时在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。
而加入正则能抑制系数过大的问题。如下公式, 是岭回归的计算公式。
如果发生过拟合, 参数 一般是比较大的值, 加入惩罚项后, 只要控制 λ 的大小,当 λ 很大时,参数就会变得很小,即达到了约束数量庞大的特征的目的。
2、从贝叶斯的角度来分析, 正则化是为模型参数估计增加一个先验知识,先验知识会引导损失函数最小值过程朝着约束方向迭代。 L1 正则是拉普拉斯先验,L2 是高斯先验。整个最优化问题可以看做是一个最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计。
Lasso 回归和岭回归:
线性回归是用mse函数作为损失函数,公式如下:
Lasso 的全称为 least absolute shrinkage and selection operator,又译最小绝对值收敛和选择算子、套索算法。
Lasso 回归对MSE加入 L1 正则化,其 cost function 如下:
岭回归对MSE加入 L2 正则化,其 cost function 如下:
Lasso 回归和岭回归的同和异:
- 相同:
- 都可以用来解决标准线性回归的过拟合问题。
- 不同:
- lasso 回归可以用来做 feature selection,而 岭回归 不行。或者说,lasso 更容易使得权重变为 0,而 岭回归 更容易使得权重接近 0,也就是说,最终的模型会包含所有的预测因子,因此在模型可解释性方面,L1要比L2更具有可解释性。
- 从贝叶斯角度看,lasso(L1 正则)等价于参数 w 的先验概率分布满足拉普拉斯分布,而 岭回归(L2 正则)等价于参数 w 的先验概率分布满足高斯分布。具体参考博客 从贝叶斯角度深入理解正则化 -- Zxdon 。
L1与L2的区别:
左侧的图表示的是了L1,右侧表示的L2,等高线和方形区域的切点更有可能在坐标轴上,而等高线和圆形区域的切点在坐标轴上的概率很小。这就是为什么 lasso(L1 正则化)更容易使得部分权重取 0,使权重变稀疏;而岭回归(L2 正则化)只能使权重接近 0,很少等于 0。
L1:服从的是拉普拉斯分布,图如下所示:
它的优良性质是能产生稀疏性,导致 W 中许多项变成零。 稀疏的解除了计算量上的好处之外,更重要的是更具有 “可解释性”。
L2:服从的是正态分布。L2可以使得模型的解偏向于范数较小的 W,通过限制 W 范数的大小实现了对模型空间的限制,从而在一定程度上避免了过拟合(因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』) 。不过 ridge regression 并不具有产生稀疏解的能力,得到的系数仍然需要数据中的所有特征才能计算预测结果,从计算量上来说并没有得到改观。
参考链接:https://www.cnblogs.com/wuliytTaotao/p/10837533.html
https://www.cnblogs.com/USTC-ZCC/p/10123610.html