最小角回归(least angle regression) 的一点记录

least angle regression (LARS)

给定线性无关按行排列的数据 X=(x1,...,xn)T ,数据label y 。不妨假设X中心化且列归一化, y 去中心化,即

i=1nyi=0,i=1nxij=0,i=1nx2ij=1

目标是找到一个 β^ 为下问题的解:

β^=argminβyμ^,s.t.β1t

其中 μ^=Xβ , t 越小,解越稀疏。

LARS的过程如下:
  1.初始化 μ=0,β=0
  2.计算相关系数: c=c(μ)=XT(yμ)
  3.计算最大相关度和对应的下标集合 C=maxj{|cj|},A={j||cj|=C}
  4.计算

XA=(...,xj,...)jA

GA=XTAXA,AA=(1TG1A1)1/2

uA=XAωA,ωA=AAG1A1

  5.更新
μ+=μ+γμA

    其中
a=XTμA

γ=min+jAC{CcjAAaj,C+cjAA+aj}

A=A{j},j=argmin+jAC{CcjAAaj,C+cjAA+aj} 

C=CγAA

  6.更新 β
β+=β+γδA

    其中 δA 是上面 ωA 通过填充0( jA,δA(j)=0 ),将其扩展成和数据个数一样维度。
  7.如果 β 满足约束,转到4.

过程解释
  最小角回归的过程,和forward stagewise(见[2])的区别在于方向和步长的更新选择上。最小角回归选择的方向,使得更新方向总是位于已选择的特征的角平分线上。
具体为什么,等看到再补充

正确性:正确性比较复杂,详见文章[1]
参考:
[1]Hastie T, Efron B. lars: Least Angle Regression, Lasso and Forward Stagewise[J]. 2013.
[2]http://blog.csdn.net/xbinworld/article/details/44284293

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值