48-LASSO

LASSO

  在上一篇博客中介绍了岭回归这样一种模型正则化的方式,这篇博客主要介绍另一种模型正则化的方式 LASSO Regularization

  回顾一下岭回归的任务是:

48-LASSO
  其实 LASSO 的原理是和岭回归是一样的,只不过在怎么表达这个 θ θ θ 最小上选用了一个不同的指标。

48-LASSO
  这非常好理解,我们可以用 θ 2 θ^2 θ2 来代表 θ θ θ 的大小,也可以用 ∣ θ ∣ |θ| θ 来代表。

  那么 LASSO 是什么意思呢?Least Absolute Shrinkage and Selection Operator Regression。

  下面我们实际编程看一看 LASSO 回归.

48-LASSO
48-LASSO
48-LASSO
48-LASSO
48-LASSO
48-LASSO

  简单比较一下 Ridge 和 LASSO。对于 Ridge 来说,当 alpha =100 时,我们得到的模型依然是一根曲线。事实上,我们使用 Ridge 很难让我们得到的模型是一根倾斜的直线,它总是保持着弯曲的形状;当我们使用 LASSO 时,alpha=0.1,我们得到的近乎是一根倾斜的直线。换句话说,我们使用 LASSO 所得到的模型更倾向于是一根直线。

48-LASSO
  所以我们可以得出一个结论,LASSO 趋向于使得一部分 θ θ θ 值变为 0,所以可以作为特征选择用。因为使用 LASSO 的过程如果有一些 θ θ θ 等于 0 了,就代表 LASSO 认为这个 θ θ θ 对应的特征完全没有用了,而剩下的 θ ! = 0 θ != 0 θ!=0 的特征就是有用的,所以它可以当作特征选择用,这就是 LASSO 英文中 Selection Operator 的意思。

  但是正是因为有特征选择这样的特性,使得 LASSO 可能会错误的将有用的特征也变为0。所以从计算的准确度来说,还是 Ridge Regression 更为准确,但是如果特征特别大的话,此时使用 LASSO 也可以非常好的起到将模型的特征变小的作用。


  具体代码见 48 LASSO.ipynb