zoukankan      html  css  js  c++  java
  • 岭回归(Ridge)和套索回归(Lasso)的原理及理解

    偏差和方差

       在学习Ridge和Lasso之前,我们先看一下偏差和方差的概念。

            机器学习算法针对特定数据所训练出来的模型并非是十全十美的,再加上数据本身的复杂性,误差不可避免。说到误差,就必须考虑其来源:模型误差 = 偏差(Bias)+ 方差(Variance)+ 数据本身的误差。其中数据本身的误差,可能由于记录过程中的一些不确定性因素等导致,这个我们无法避免,能做的只有不断优化模型参数来权衡偏差和方差,使得模型误差尽可能降到最低。
     
    偏差:导致偏差的原因有多种,其中一个就是针对非线性问题使用线性方法求解,当模型欠拟合时,就会出现较大的偏差
    方差:产生高方差的原因通常是由于模型过于复杂,即模型过拟合时,会出现较大的方差
    通常情况下,我们降低了偏差就会相应地使得方差提高,降低了方差就会相应地提高了偏差,所以在机器学习的模型中,我们总是希望找到一组最优的参数,这些参数能权衡模型的偏差和方差,使得模型性能达到最优。我在知乎上找到这样一张图方便各位理解。

    岭回归(Ridge)

      针对高方差,即过拟合的模型,解决办法之一就是对模型进行正则化:限制参数大小(由于本篇博客所提到的岭回归和Lasso都是正则化的特征选择方法,所以对于其他解决过拟合的方法不多赘述)当线性回归过拟合时,权重系数wj就会非常的大,岭回归就是要解决这样的问题。岭回归(Ridge Regression)可以理解为在线性回归的损失函数的基础上,加,入一个L2正则项,来限制W不要过大。其中λ>0,通过确定λ的值可以使得模型在偏差和方差之间达到平衡,随着λ的增大,模型的方差减小,偏差增大。

      我们可以像线性回归一样,利用最小二乘法求解岭回归模型的参数,对W求导,令倒数等于0,可求得W的解析解,其中I为m x m的单位矩阵,所以也可以说岭回归就是在矩阵X^TX上加一个λI使得矩阵非奇异,进而能对XTX+λI求逆:

    套索回归(Lasso)

      Lasso回归和岭回归类似,不同的是,Lasso可以理解为在线性回归基础上加入一个L1正则项,同样来限制W不要过大。其中λ>0,通过确定λ的值可以使得模型在偏差和方差之间达到平衡,随着λ的增大,模型的方差减小,偏差增大。

         Lasso趋向于使得一部分w值变为0,所以可以作为特征选择用,因为这里的L1正则项并不是处处可导的,所以并不能直接使用基于梯度的方法优化损失函数,若要从底层实现,可以使用拟牛顿法的BFGS算法,逐步向前回归,我这里直接用sklearn封装的Lasso,请参见

    总结

            Lasso由于使用L1正则项,所以具有一定的特征选择功能,因为L1正则倾向于产生稀疏稀疏,它可以将一些“对标签没有用处”的特征对应的系数压缩为0,进而将对结果有较大影响的特征突显出来,而岭回归中L2正则项不具备这个功能,它只会讲一些无关特征的系数降到一个较小的值,但不会降为0。并且L2正则有解析解,L1没有,所以还有一种对岭回归和Lasso折中的方法------弹性网络(Elastic Net)
     

    转载于:https://blog.csdn.net/Joker_sir5/article/details/82756089

    原作者:Joker_sir5

  • 相关阅读:
    LSMW TIPS
    Schedule agreement and Delfor
    Running VL10 in the background 13 Oct
    analyse idoc by creation date
    New Journey Prepare
    EDI error
    CBSN NEWS
    Listen and Write 18th Feb 2019
    Microsoft iSCSI Software Target 快照管理
    通过 Microsoft iSCSI Software Target 提供存储服务
  • 原文地址:https://www.cnblogs.com/wuzc/p/12798173.html
Copyright © 2011-2022 走看看