最小角回归详解

本文详细介绍了Least Angle Regression(LAR)算法,一种用于解决LASSO问题的有效方法。LAR通过保持最小角性质逐步选择特征,其解路径在某些情况下可能与LASSO不同,但经过修正后能解任意LASSO问题。
摘要由CSDN通过智能技术生成

本文介绍LAR(Least angle regression,最小角回归),由Efron等(2004)提出。这是一种非常有效的求解LASSO的算法,可以得到LASSO的解的路径。

1 算法介绍

我们直接看最基本的LAR算法,假设有 N N N个样本,自变量是 p p p维的:

  1. 先对 X X X N × p N\times p N×p)做标准化处理,使得每个predictor( X X X的每列)满足 x ⋅ j ′ 1 N = 0 x_{\cdot j}' 1_N=0 xj1N=0 ∥ x ⋅ j ∥ = 1 \Vert x_{\cdot j}\Vert=1 xj=1。我们先假设回归模型中只有截距项,则 β 0 = 1 N y ′ 1 N \beta_0=\dfrac{1}{N} y' 1_N β0=N1y1N,记残差 r = y − 1 N β 0 r=y-1_N \beta_0 r=y1Nβ0,而其他的系数 β 1 = ⋯ = β p = 0 \beta_1=\cdots=\beta_p=0 β1==βp=0
  2. 找出与 r r r相关性最大的 x ⋅ j x_{\cdot j} xj,加入active set;
  3. β j \beta_j βj 0 0 0逐步向LS系数 x ⋅ j ′ r x_{\cdot j}'r xjr变动,直到有另一个 x ⋅ k x_{\cdot k} xk,它与 r r r的相关系数绝对值,和 x ⋅ j x_{\cdot j} xj r r r的相关系数绝对值一样大;
  4. β j \beta_j βj β k \beta_k βk同时向二者的联合LS系数变动,直到再出现下一个 x ⋅ l x_{\cdot l} xl,它与 r r r的相关系数满足上一步的条件;
  5. 重复上述过程, min ⁡ ( N − 1 , p ) \min(N-1,p) min(N1,p)步后,就得到完整的LS解。

2 算法性质

2.1 保持最小角

我们先来看LS估计量的一个性质:若每个predictor与 y y y的相关系的数绝对值相等,从此时开始,将所有系数的估计值同步地从 0 0 0移向LS估计量,在这个过程中,每个predictor与残差向量的相关系数会同比例地减少。

假设我们标准化了每个predictor和 y y y,使他们均值为 0 0 0,标准差为 1 1 1。在这里的设定中,对于任意 j = 1 , … , p j=1,\ldots,p j=1,,p,都有 ∣ x ⋅ j ′ y ∣ / N = λ \left|x_{\cdot j}'y\right|/N=\lambda xjy/N=λ,其中 λ \lambda λ为常数。LS估计量 β ^ = ( X ′ X ) − 1 X ′ y \hat\beta=(X'X)^{-1}X'y β^=(XX)1Xy,当我们将系数从 0 0 0 β ^ \hat\beta β^移动了 α \alpha α α ∈ [ 0 , 1 ] \alpha\in[0,1] α[0,1])比例时,记拟合值为 u ( α ) = α X β ^ u(\alpha)=\alpha X\hat\beta u(α)=αXβ^

另外,记 ℓ p ( j ) \ell_p^{(j)} p(j)为只有第 j j j个元素为 1 1 1、其他元素均为 0 0 0 p p p维向量,则 x ⋅ j = X ℓ p ( j ) x_{\cdot j}=X\ell_p^{(j)} xj=Xp(j),再记 RSS = ∥ y − X β ^ ∥ 2 \text{RSS}=\Vert y-X\hat\beta\Vert^2 RSS=yXβ^2,记投影矩阵 P = X ( X ′ X ) − 1 X ′ P=X(X'X)^{-1}X' P=X(XX)1X

这里的问题是,在 α \alpha α变大过程中,每一个 x ⋅ j x_{\cdot j} xj与新的残差的相关系数绝对值,是否始终保持相等?且是否会减小?

由于 ∣ x ⋅ j ′ [ y − u ( α ) ] ∣ = ∣ x ⋅ j ′ y − ℓ p ( j ) ′ X ′ u ( α ) ∣ = ( 1 − α ) N λ \left| x_{\cdot j}' [y-u(\alpha)]\right|=\left|x_{\cdot j}'y - \ell_p^{(j)\prime} X' u(\alpha)\right|=(1-\alpha)N\lambda xj[yu(α)]=xjyp(j)Xu(α)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值