老饼讲解-机器学习 机器学习 神经网络 深度学习
线性模型

【原理】Lasso回归模型介绍

作者 : 老饼 发表日期 : 2022-06-26 10:38:54 更新日期 : 2023-11-09 19:09:10
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com


Lasso回归(Least absolute shrinkage and selection operator)是线性回归的一种,

由于它较容易产生稀疏解,常用于降维,是常用的算法之一。

本文讲解Lasso回归模型及它的损失函数,通过本文对Lasso回归有个初步的认识



   01. Lasso回归模型   



本节介绍Lasso回归模型的数学表达式及损失函数



     Lasso回归模型介绍     


Lasso模型仍然是线性模型,
与岭回归不同的是,损失函数中用系数绝对值作为系数的惩罚项
Lasso回归的模型表达式与损失函数如下

 Lasso回归的模型表达式
Lasso的模型表达式为线性模型:
  

Lasso回归的损失函数

Lasso的损失函数就是在均方差的基础上,
增加L1正则项,抑制系数绝对值过大
Lasso回归的损失函数如下:
  




     Lasso回归的意义      


由于岭回归在损失函数中引入了二范正则项对系数进行惩罚,
从而解决线性回归中由于系数过大而引起的过拟合问题
但岭回归的系数基本不会0,导致不能去除无效变量,
这就是为什么要引入Lasso回归,由于Lasso回归中使用的一范正则项,
所以它不仅能对系数进行惩罚,同时也允许变量的系数为0







   02. 关于Lasso回归模型阈值的拓展方法   




本节介绍如何将Lasso回归的基础模型拓展成带阈值的模型




   Lasso阈值b的拓展方式  


Lasso回归的基础模型与岭回归一样,是没有阈值b的
如果Lasso模型需要加阈值 b,即拓展成以下模型:
 
 可以使用与岭回归中一样的拓展方法,如下:

           Lasso回归拓展阈值b的方法
 👉1. 先将数据中心点移到原点 
👉2. 以无阈值形式算出W      
👉3. 再通过W算出b             

具体如下:
(1) 先将数据作中心化转换:                                                                  
                                                                
                                                              
 此时, 都是以(0,0)为中心的数据                   
(2) 用训练Lasso归模型, 得到                                    
(3) 训练后再计算阈值b:              
即可得到                                                           
✍️推导过程参考:上述相关公式的推导参考《线性模型有阈值与无阈值的转化》






  相关参考与荐读   


LASSO坐标下降法Coordinate Descent Method公式推导及代码 : https://blog.csdn.net/DS_agent/article/details/106340309
Lasso—原理及最优解 :https://zhuanlan.zhihu.com/p/116869931?ivk_sa=1024320u
lasso的今世前身 : https://blog.csdn.net/L8264367/article/details/50575126?spm=1001.2014.3001.5501
sklearn机器学习:特征选择-Lasso : https://blog.csdn.net/gracejpw/article/details/102496802
用于收敛控制的对偶间隙计算方式论文1(英文): https://www.jstatsoft.org/article/view/v033i01/v33i01.pdf
用于收敛控制的对偶间隙计算方式论文2(英文):https://web.stanford.edu/~boyd/papers/pdf/l1_ls.pdf









  End  








联系老饼