Scikit-Learn线性回归(六)

Scikit-Learn线性回归六:套索回归

    • 1、Lasso回归(套索回归)
    • 2、Lasso回归的解
      • 2.1、坐标轴下降法
      • 2.2、最小角回归法
      • 2.3、Lasso回归解(L1正则化)的几何意义
    • 3、Scikit-Learn Lasso回归(套索回归)
      • 3.1、Scikit-Learn Lasso回归API
      • 3.2、Scikit-Learn Lasso回归初体验



1、Lasso回归(套索回归)


本文接上篇:Scikit-Learn线性回归(五)

在上篇中,我们详解了误差与模型复杂度的关系、范数与正则化、Scikit-Learn岭回归及使用案例

我们已经知道,岭回归模型可以解决线性回归模型中矩阵 X ′ X X'X XX不可逆的问题,岭回归通过给损失函数添加L2正则化项(惩罚项)使得偏回归系数缩小(趋于0)。但是不管如何减小,岭回归都会始终保留建模时的所有特征(自变量),因此岭回归无法降低模型的复杂度。从广义上来讲,岭回归只是让回归曲线变得更平滑(收敛)了,这一点上,岭回归也算降低了模型的复杂度。岭回归最大的问题在于无法稀疏化特征、不能做特征选择。而Lasso回归模型克服了一点

岭回归为损失函数添加了L2正则化项,而Lasso回归为损失函数添加了L1正则化项。Lasso回归的损失函数定义为:
L ( ω ) = ∑ i = 1 m ( y i − y ) 2 + λ ∑ i = 1 m ∣ ω i ∣ = ∣ ∣ Y − X ω ∣ ∣ 2 + λ ∣ ∣ ω ∣ ∣ 1 L(\omega)={\sum_{i=1}^m}(y_i-y)^2+\lambda {\sum_{i=1}^m}|ω_i|=||Y-X\omega||^2+\lambda {||\omega||_1} L(ω)=i=1m(yiy)2+λi=1mωi=∣∣YXω2+λ∣∣ω1

其中, λ ∣ ∣ ω ∣ ∣ 1 = λ ∑ i = 1 m ∣ ω i ∣ \lambda {||\omega||_1}=\lambda {\sum_{i=1}^m}|ω_i| λ∣∣ω1=λi=1mωi,即L1正则化项,它是目标函数的惩罚项。需要注意的是,正则化项中的回归系数 ω i ω_i ω

你可能感兴趣的:(#,人工智能与机器学习,#,Python,scikit-learn,线性回归,python)