什么时候该用LASSO,什么时候该用Ridge?

  统计/机器学习 回归分析 监督式学习    浏览次数: 1002
2

LASSO和Ridge都是正则化的手段,也都可以起到防止过拟合的效果。那么时候该用LASSO什么时候该用Ridge呢?

 

水煮鱼   2017-04-03 23:14



   2个回答 
8

这两个都是正则化的手段。LASSO是基于回归系数的一范数,Ridge是基于回归系数的二范数的平方。


根据Hastie, Tibshirani, Friedman的经典教材,如果你的模型中有很多变量对模型都有些许影响,那么用Ridge;如果你的模型中只有少量变量对模型很大影响,那么用LASSO。LASSO可以使得很多变量的系数为0(相当于降维),但是Ridge却不能。

因为Ridge计算起来更快,所以当数据量特别大的时候,更倾向于用Ridge。

最万能的方法是用LASSO和Ridge都试一试,比较两者Cross Validation的结果。


最后补充一下,你也可以尝试一下两者的混合,Elastic Net。

蓝色北方   2017-04-04 23:49

如果有很多多重共线性的变量,ridge的效果比lasso好 - 清风   2017-04-06 09:47
我补充强调一下,LASSO可以降维,特征选择,可以简化模型;而Ridge不会进行特征选择 - 高代兄   2017-04-07 11:20
2

你可以用elastic net, 多了一个超参,但是结合了both ridge and LASSO

crazy_lau   2017-09-20 17:26



  相关主题

L2-norm为什么会让模型变得更加简单?   3回答

Ridge,Lasso,ElasticNet的目标函数分别是什么?   1回答

为什么LASSO可以做特征选择,而Ridge却不行?   2回答

XGBoost为什么可以通过叶子节点的权值w的L2模平方来控制树的复杂度?   1回答

L0 norm 正则是什么意思?   1回答

正则项里的L1,L2是什么意思?   1回答

L1正则化和L2正则化的区别?L1为啥具有稀疏性?   4回答

无监督学习(比如K Means)里怎么加正则项来防止过拟合   3回答

如何简单理解正则化   1回答

可以对线性回归进行boosting吗?   3回答

逻辑回归的前提假设是什么?   1回答

线性回归的bagging   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!