写点什么

白话机器学习 (6):用 Lasso Regression 踢出浑水摸鱼的变量

用户头像
杜吉普
关注
发布于: 2 小时前
白话机器学习(6):用Lasso Regression踢出浑水摸鱼的变量

本文适合人群:对机器学习 Machine Learning 与数据感兴趣的学习者

文章同步公众号:持续学习的杜吉普


温馨提示:阅读本文之前,需对以下内容进行了解并掌握

白话ML:什么是机器学习模型?ML Model

白话ML(2):产品经理都在用的线性回归模型

白话ML(3):理解机器学习中的Bias与Variance

白话ML(4):公允的裁判-交叉验证Cross-Validation评价模型

白话 ML(5):更高端的线性回归模型 - Ridge Regression (上篇文章)


本文白话什么:

Lasso Regression - Ridge Regression 的大兄弟


本文提纲:

  • 什么是 Lasso Regression?

  • 改变 Penalty 规则的意义什么?

  • Ridge 和 Lasso 之间该如何选择?

  • Ridge 和 Lasso 的应用场景


注:全文无编程,只含有少量计算,文章内容全部尽量通俗易懂化,请尽情享用。

 

什么是 Lasso Regression


Lasso regression 和之前文章中的 Ridge regression 可以说是一对组合。他们都是在 linear regression 的基础上加上了一个尾巴 Penalty,使得原来的 linear regression 发生了一定的变化。具体的变化规则,请详细阅读 Ridge regression 文章



Lasso regression 和 ridge regression 的区别就是尾巴上的 slope^2 变成了|slope|多了一个绝对值符号。如下图,上面是 ridge regression 的训练准则,下面是 Lasso 的,这个小小的改变看似无关紧要,但其实作用很大。



改变 Penalty 规则的意义


意义在于 ridge regression 只能将 slope 减小到接近 0,而 Lasso regression 能够将 slope 减小至 0 ,通过下图,我们可以看出,当λ变大,slope 就会接近于 0,并且最终等于 0。



如果我们最终找到的最优λ恰好可以使某些变量的 coefficient 变成 0,那么这就意味着,Lasso regression 可以减少变量的数量,让更少的变量参与到模型的建立中,这种建立方式可以将那些原本对于 target value 贡献度不大的变量彻底踢出队伍。如下图所示。

 


如何选择 ridge 和 lasso?


当你已经提前知道所有变量都是会对 target value 产生影响时,你可以优先选择 ridge regression。


当你对于数据意义没有清晰认知时,可以优先选择 lasso regression,因为 lasso regression 能够将没有用(useless)的变量排除于最后的模型中。这使得最终的模型更加轻量化(simpler)同时也更加容易解释(interpret)。

 

应用场景


曾经做过一个机器学习的项目,是帮助 Santander 建立客户满意度预测模型。变量数有几百个,并且变量名由于商业原因全部脱敏,也就是说我们对于变量的意义完全不知道。这个时候,为了减少变量数量,减轻训练压力,我们就可以通过 Lasso regression 对于变量进行瘦身,先初筛出对于预测结果有帮助的变量再进行之后的处理。



本文参考信息来源:

SateQuest

机器学习项目来源:

Kaggle https://www.kaggle.com/c/santander-customer-satisfaction

---------------------


白话 ML 就到这里,下期预告:人类最好理解的机器学习模型:决策树 Decision Tree


PS:有任何疑问欢迎留言,本文完全个人浅薄理解,如有不足欢迎评论区指正。


我是杜吉普,致力于 数据+数据技术+商业场景=商业价值

欢迎关注公众号持续学习的杜吉普,让我们共同持续成长。

发布于: 2 小时前阅读数: 4
用户头像

杜吉普

关注

数据智能场景落地与持续价值探索 2021.04.06 加入

知名技术咨询公司Data&AI业务线分析师、Kaggle Top5%、exIBM

评论

发布
暂无评论
白话机器学习(6):用Lasso Regression踢出浑水摸鱼的变量