参考原文https://github.com/Catherine08/AI-paper-reading/blob/master/Regression%20shrinkage%20and%20selection%20via%20the%20lasso%E8%AE%BA%E6%96%87.pdf

最小二乘解

这个能用的推导太多了,在此不赘述。
当 X T X X^{T} X XTX 为满秩矩阵或正定矩阵时,可以求得:
w ⃗ ∗ = ( X T X ) − 1 X T y ⃗ \vec{w}^{*}=\left(X^{T} X\right)^{-1} X^{T} \vec{y} w ∗=(XTX)−1XTy ​

但是,在实际问题中, X T X X^{T} X XTX往往并不是满秩矩阵:自行列向量之间存在高度多重共线
性,或列向量数大于行向量数。这会导致偏回归系数无解或结果无效,为了能够克服这问题,可以使用子集选择将高自相关变量删除,或者选用岭回归也能够避免 X T X X^{T} X XTX不可逆的情况。

岭回归推导和Shrinkage

岭回归在$X^{T} X$的基础上加上一个较小的λ扰动,从而使得行列式不再为0:
w ⃗ ∗ = ( X T X + λ I ) − 1 X T y ⃗ \vec{w}^{*}=\left(X^{T} X+\lambda I\right)^{-1} X^{T} \vec{y} w ∗=(XTX+λI)−1XTy ​

设 OLS (最小二乘回归)的解为 w ˉ \bar{w} wˉ,岭回归的解为 w ′ ˉ \bar{w'} w′ˉ

w ′ ˉ i = ( X T X + λ I ) − 1 X T y = ( X T X + λ I ) − 1 ( X T X ) ( X T X ) − 1 X T y = ( X T X + λ I ) − 1 ( X T X ) w ˉ = ( X T X + λ I ) − 1 ( X T X + λ I − λ I ) w ˉ = ( I − λ ( X T X + λ I ) − 1 ) w ˉ < w ˉ \begin{array}{l} \bar{w'}_{i}=\left(X^{T} X+\lambda I\right)^{-1} X^{T} y \\ =\left(X^{T} X+\lambda I\right)^{-1}\left(X^{T} X\right)\left(X^{T} X\right)^{-1} X^{T} y \\ =\left(X^{T} X+\lambda I\right)^{-1}\left(X^{T} X\right) \bar{w} \\ =\left(X^{T} X+\lambda I\right)^{-1}\left(X^{T} X+\lambda I-\lambda I\right) \bar{w} \\ =\left(I-\lambda\left(X^{T} X+\lambda I\right)^{-1}\right) \bar{w}<\bar{w} \end{array} w′ˉi​=(XTX+λI)−1XTy=(XTX+λI)−1(XTX)(XTX)−1XTy=(XTX+λI)−1(XTX)wˉ=(XTX+λI)−1(XTX+λI−λI)wˉ=(I−λ(XTX+λI)−1)wˉ<wˉ​
这里就出现了shrinkage。

可以看出, w ′ ˉ \bar{w'} w′ˉ是对 w ˉ \bar{w} wˉ向原点的压缩,并不会出现某一系数为 0 的稀疏解情况。但是,在实际问题中,特征存在冗余,稀疏解有利于找到有用的维度并减少冗余,提预测高鲁棒性和准确性。

Lasso稀疏性推导

Lasso公式:
w ⃗ ∗ = arg ⁡ min ⁡ w ⃗ ∗ [ ∑ 1 N ( W T X ⃗ ι − y i ) 2 + λ ∑ j = 1 p + 1 ∣ w j ∣ ] = arg ⁡ min ⁡ w ⃗ ∗ ∑ i = 1 N ( W T X ⃗ i − y i ) 2 ∑ j = 1 p + 1 ∣ w j ∣ ≤ t \vec{w}^{*}=\arg \min _{\vec{w}^{*}}\left[\sum_{1}^{N}\left(W^{T} \vec{X}_{\iota}-y_{i}\right)^{2}+\lambda \sum_{j=1}^{p+1}\left|w_{j}\right|\right]=\arg \min _{\vec{w}^{*}} \sum_{i=1}^{N}\left(W^{T} \vec{X}_{i}-y_{i}\right)^{2} \\ \sum_{j=1}^{p+1}\left|w_{j}\right| \leq t w ∗=argw ∗min​[1∑N​(WTX ι​−yi​)2+λj=1∑p+1​∣wj​∣]=argw ∗min​i=1∑N​(WTX i​−yi​)2j=1∑p+1​∣wj​∣≤t

原文中作者还讨论了:
β ^ j = sign ⁡ ( β ^ j 0 ) ( ∣ β ^ j 0 ∣ − γ ) + \hat{\beta}_{j}=\operatorname{sign}\left(\hat{\beta}_{j}^{0}\right)\left(\left|\hat{\beta}_{j}^{0}\right|-\gamma\right)^{+} β^​j​=sign(β^​j0​)(∣∣∣​β^​j0​∣∣∣​−γ)+
有兴趣的同学可以去原文看看。

总结

对于回归问题,lasso 有两个重要特点:

  1. 对系数进行压缩;
  2. 能特征选择。
    这两个特点解决了 OLS 的无解情况,相比岭回归多了特征选择的作用。
    从另一角度,lasso 可以看作对 OLS 加上 l1 正则化,有控制模型复杂度的作用。

正则化,岭回归Shrinkage,lasso稀疏性推导和论文总结相关推荐

  1. r语言岭回归参数选择_78-预测分析-R语言实现-岭回归与LASSO回归

    > library(pacman) > p_load(dplyr, readr, caret) 以上一节中未去除离群值的MSE为3619.029,修正R2为0.8603和去除离群值后的MS ...

  2. 机器学习——线性回归衍生(过拟合、正则化、岭回归和LASSO回归)

    过拟合.正则化.岭回归.LASSO回归 为什么会出现线性回归的衍生方法--正规方程法的局限 过拟合 模型复杂度 过拟合的概念 防止过拟合的办法 正则化 岭回归(Ridge Regression) 1. ...

  3. 岭回归和lasso回归_正则化(2):与岭回归相似的 Lasso 回归

    Lasso回归与ridge回归有很多相似之处,但是二者之间有一些显著的区别.如果你不太清楚岭回归,请参考前一章节推文:通俗易懂的岭回归. 1 lasso回归 与 ridge 回归的相同点 1.1 la ...

  4. 【机器学习】正则化的线性回归 —— 岭回归与Lasso回归

    python风控评分卡建模和风控常识(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005214003&am ...

  5. 【正则化;岭回归、lasso回归】(转载)

    介绍正则化的博客: https://charlesliuyx.github.io/2017/10/03/[直观详解]什么是正则化/#Why-amp-What-正则化 岭回归.lasso回归:https ...

  6. 【sklearn】线性回归、最小二乘法、岭回归、Lasso回归

    文章目录 机器学习的sklearn库 一.回归分析 <1.1>线性回归 1.1.1.Python实现线性回归 <1.2>最小二乘法 1.2.1.MATLAB实现最小二乘法 1. ...

  7. [机器学习-原理篇]学习之线性回归、岭回归、Lasso回归

    线性回归.岭回归.Lasso回归 前言 一,线性回归--最小二乘 二,Lasso回归 三,岭回归 四, Lasso回归和岭回归的同和异 五, 为什么 lasso 更容易使部分权重变为 0 而 ridg ...

  8. 回归,岭回归。LASSO回归

    矩阵表示多元线性回归 Y=BX+a Q(B)=(Y-BX)T(Y-BX)达到最小时的B值. 也即是残差平方和最小时.B(Bi)的值.可以证明B的最小二乘估计=(XTX)-1XTy 其中(XTX)-1为 ...

  9. 岭回归与lasso回归算法

    模型压缩与正则化主要包含岭回归(Ridge regression)和Lasso两种方法,二者的主要原理是将系数往等于0的方向压缩. 岭回归 lasso 全称:Least absolute shrink ...

最新文章

  1. map/multimap用法详解
  2. Java事务处理总结【JDBC事务|JTA事务|容器事务】
  3. Thymeleaf th:include、th:replace使用
  4. 高并发系统三大利器之缓存
  5. viper4android 脉冲样本,【图片】大福利,ViPER4Android FX音效及超过200个精选脉冲样本(转)【华为荣耀3x畅玩版吧】_百度贴吧...
  6. 利用HUtool读取Excel内容
  7. 【OpenCV】绘制简单图形
  8. C++_你真的知道++i 和 i++的区别吗?_左值/右值/右值引用
  9. 2022年度嵌入式C语言面试题库(含答案)
  10. 我孩子的毛毯教会了我关于技术和古希腊人的知识
  11. SQL中over用法大全
  12. 会话固定攻击(session fixation attack)及解决办法
  13. VC CDC类的使用 详解
  14. 计算机、通信方向学习考证经验分享
  15. 计算机中数值数据编码(大计基复习资料)
  16. GIS可视化—热力图制作与热点分析(一)
  17. flex:1 是什么意思
  18. 【深度强化学习】6. Q-Learning技巧及其改进方案
  19. Linux系统下如何隐藏自己的进程?
  20. 前亚马逊产品经理:TikTok的真正优势,并不是算法

热门文章

  1. 《阴阳师》手游分析报告
  2. clearcase命令收集
  3. TM4C123G学习记录(2)--GPIO
  4. Python, Anaconda 的卸载
  5. 神经网络压缩库Distiller学习
  6. JavaScript系列之详解原型和原型链
  7. 我们说的那些培训班,到底要不要报?自学编程VS培训报班
  8. Coding Interview University学习
  9. Activiti使用教程
  10. 认识区块链,认知区块链——百花争鸣