Lasso回归与ridge回归有很多相似之处,但是二者之间有一些显著的区别。如果你不太清楚岭回归,请参考前一章节推文:通俗易懂的岭回归。
1 lasso回归 与 ridge 回归的相同点
1.1 lasso回归 与 ridge 回归主要思想相同
- 在岭回归中,我们通过残差平方和与惩罚项总和最小,以确定岭回归模型。岭回归的惩罚项是λ x (斜率的平方)。岭回归模型通过在训练模型中引入少量偏差,从而减少该模型在多个数据集中的方差。
- Lasso回归同样是通过残差平方和与惩罚项总和确定lasso回归模型,但lasso回归的惩罚项为λ x (斜率的绝对值)。其λ值的取值范围为[0,+∞),由交叉验证得出最佳λ值。
- Lasso回归的原理与岭回归的原理一致,均是通过在模型中引入少量偏差,进而减少模型在多个数据集中的方差。
1.2 lasso回归与岭回归的运用场景一致
Lasso回归与岭回归的使用场景一致,如在连续变量的线性模型、分类变量的线性模型、logistic回归,以及复杂的模型,详见岭回归。
尽管lasso回归和岭回归减少模型中参数的权重,但每个参数缩减的权重大小不一致。如在以下案例中,随着λ增大,lasso回归和岭回归对饮食差异参数的约束大于对斜率的约束。
2 lasso回归与岭回归的差异
在仅含有两个样本的训练数据集中,lasso回归模型满足(残差平方和 + λ x 斜率绝对值)之和最小。lasso回归可减少创建模型中的参数(如减少无关变量的参数个数)。
- 当λ=0时,lasso回归与最小二乘法直线回归一致。
- 当λ>0时,随着λ的增大,lasso回归中直线的斜率逐渐减小,直至为0。
在岭回归中,随着λ逐渐增大,岭回归中的直线斜率逐渐趋近于0,但是不等于0。岭回归不能减少模型中的参数,只能缩小模型中某些参数的数值(如降低无关变量参数的系数值)。
这是两种正则化回归最主要的区别。
2.1 lasso回归与岭回归的比较
分别将lasso回归和岭回归运用于复杂的线性模型中,如下所示。
岭回归中的惩罚项如下:
- 随着λ值的逐渐增大,其中一些相关的参数缩减较少(如 slope, diet different),而一些无关的变量参数会缩减很多,如astrological offset和airspeed scalar等不相干的参数将趋近于0,但永远不会消失。
lasso回归中的惩罚项如下:
- 随着λ值的逐渐增大,其中一些相关参数缩减较小(如slope,diet different),而一些无关变量的参数将会缩减很多,直至消失(如astrological offset,airspeed scalar)。排除掉完全无关的变量后,仅剩下最主要的变量,使得拟合模型更加容易解读,如下:
结合以上讨论,我们可以总结出:
- 如果模型中含有较多的无关变量时,因lasso回归可以将无关变量排除,故lasso回归比岭回归模型更优,其在不同数据集中的方差更小。
- 相反,如果模型中大多数变量为相关变量时,因岭回归不会误删一些变量,故岭回归比lasso回归模型更优,其在不同数据集中的方差更小。
那我们应该如何在两种回归中做出更优的抉择呢?接下来我们学习弹性网络回归(Elastic Net Regression),将解答这一问题。
3 总结
Lasso回归与岭回归非常相似,原理大致相同,运用场景相同。但是岭回归仅能最大限度的缩减无关变量,而lasso回归可将无关变量缩减至0,使得拟合的模型更加便于解读。因为两者具有这样的差异,使得二者在不同的场景中发挥不一样的作用。