LASSO
在上一篇博客中介绍了岭回归这样一种模型正则化的方式,这篇博客主要介绍另一种模型正则化的方式 LASSO Regularization。
回顾一下岭回归的任务是:
其实 LASSO 的原理是和岭回归是一样的,只不过在怎么表达这个
θ
θ
θ 最小上选用了一个不同的指标。
这非常好理解,我们可以用
θ
2
θ^2
θ2 来代表
θ
θ
θ 的大小,也可以用
∣
θ
∣
|θ|
∣θ∣ 来代表。
那么 LASSO 是什么意思呢?Least Absolute Shrinkage and Selection Operator Regression。
下面我们实际编程看一看 LASSO 回归.
简单比较一下 Ridge 和 LASSO。对于 Ridge 来说,当 alpha =100 时,我们得到的模型依然是一根曲线。事实上,我们使用 Ridge 很难让我们得到的模型是一根倾斜的直线,它总是保持着弯曲的形状;当我们使用 LASSO 时,alpha=0.1,我们得到的近乎是一根倾斜的直线。换句话说,我们使用 LASSO 所得到的模型更倾向于是一根直线。
所以我们可以得出一个结论,LASSO 趋向于使得一部分
θ
θ
θ 值变为 0,所以可以作为特征选择用。因为使用 LASSO 的过程如果有一些
θ
θ
θ 等于 0 了,就代表 LASSO 认为这个
θ
θ
θ 对应的特征完全没有用了,而剩下的
θ
!
=
0
θ != 0
θ!=0 的特征就是有用的,所以它可以当作特征选择用,这就是 LASSO 英文中 Selection Operator 的意思。
但是正是因为有特征选择这样的特性,使得 LASSO 可能会错误的将有用的特征也变为0。所以从计算的准确度来说,还是 Ridge Regression 更为准确,但是如果特征特别大的话,此时使用 LASSO 也可以非常好的起到将模型的特征变小的作用。
具体代码见 48 LASSO.ipynb