线性回归 岭回归 lasso 详细介绍

线性回归

已知 n n 个样本 {(xi,yi)}ni=1 { ( x i , y i ) } i = 1 n ,其中 xiRd,yiR x i ∈ R d , y i ∈ R

回归问题学习实值函数 y=f(x) y = f ( x ) ,其中 f:RdR f : R d → R

最小二乘模型(Least Squares Regression)

模型

最小二乘模型的优化问题为:

θ^LS=argminθJLS(θ)(1) (1) θ ^ L S = argmin θ ⁡ J L S ( θ )

其中
JLS(θ)=12i=1n(yifθ(xi))2fθ(x)=i=1bθiϕi(x)=θTϕ(x) J L S ( θ ) = 1 2 ∑ i = 1 n ( y i − f θ ( x i ) ) 2 f θ ( x ) = ∑ i = 1 b θ i ϕ i ( x ) = θ T ϕ ( x )

ϕ:RdRb ϕ : R d → R b 为一个映射,可以是非线性,如 ϕ(x)=xTx ϕ ( x ) = x T x

用向量和矩阵可表示为:

JLS(θ)=12||yΦθ||22 J L S ( θ ) = 1 2 | | y − Φ θ | | 2 2

其中
y=(y1,,yn)TΦ=ϕ1(x1)ϕ1(xn)ϕb(x1)ϕb(xn) y = ( y 1 , … , y n ) T Φ = [ ϕ 1 ( x 1 ) ⋯ ϕ b ( x 1 ) ⋮ ⋮ ϕ 1 ( x n ) ⋯ ϕ b ( x n ) ]

ΦRn×b Φ ∈ R n × b 为设计矩阵(design matrix)

由于 JLS(θ) J L S ( θ ) 为凸函数,优化问题(1)有最优解,且最优值点满足:

θJLS=ΦT(yΦθ)=0 ∇ θ J L S = − Φ T ( y − Φ θ ) = 0

求解线性方程可得:
θ^LS=(ΦTΦ)+Φy θ ^ L S = ( Φ T Φ ) + Φ y

其中 (ΦTΦ)+ ( Φ T Φ ) + 表示 ΦTΦ Φ T Φ 的广义逆,当 Φ Φ 列满秩时, ΦTΦ Φ T Φ 为满秩矩阵,即 (ΦTΦ)+=(ΦTΦ)1 ( Φ T Φ ) + = ( Φ T Φ ) − 1 ,此时
θ^LS=(ΦTΦ)1Φy θ ^ L S = ( Φ T Φ ) − 1 Φ y

算法

  1. 利用公式 θ^LS=(ΦTΦ)+Φy θ ^ L S = ( Φ T Φ ) + Φ y 计算

  2. 梯度下降(收敛):

    迭代公式为 θθϵθJLS θ ⟵ θ − ϵ ∇ θ J L S ,其中 θJLS=ΦT(yΦθ) ∇ θ J L S = − Φ T ( y − Φ θ )

拓展

加权最小二乘(Weighted LS):

argminθ12i=1nwi(yifθ(xi))2 argmin θ ⁡ 1 2 ∑ i = 1 n w i ( y i − f θ ( x i ) ) 2

其中 wiR+,i=1,,n w i ∈ R + , i = 1 , … , n 为权重

用向量矩阵表示为:

argminθ12(yΦθ)TW(yΦθ)(2) (2) argmin θ ⁡ 1 2 ( y − Φ θ ) T W ( y − Φ θ )

其中 W=diag(w1,,wn) W = d i a g ( w 1 , … , w n )

优化问题(2)为无约束凸优化问题,且目标函数可导,最优值点为目标函数导数为零的点,即:

θ12(yΦθ)TW(yΦθ)=ΦTW(yΦθ)=0 ∂ ∂ θ 1 2 ( y − Φ θ ) T W ( y − Φ θ ) = Φ T W ( y − Φ θ ) = 0

求解上述线性方程组可得:
θ^LS=(ΦTWΦ)+ΦTWy θ ^ L S = ( Φ T W Φ ) + Φ T W y

子空间约束最小二乘(Subspace-Constrained LS,)

模型

子空间约束最小二乘把参数 θ θ 限制在一个给定子空间:

minθJLS(θ)s.t.Pθ=θ(1) (1) m i n θ ⁡ J L S ( θ ) s . t . P θ = θ

这个子空间为 P P 的像空间, P P b×b b × b 投影矩阵,满足:
P2=P,PT=P P 2 = P , P T = P

优化问题(1)为有等式约束的凸优化问题,可以通过拉格朗日方法求解,拉格朗日函数为:
L(θ,λ)=12||yΦθ||22+λT(Pθθ) L ( θ , λ ) = 1 2 | | y − Φ θ | | 2 2 + λ T ( P θ − θ )

最优值点为满足拉格朗日函数偏导为零的点,即:
Lθ=ΦT(yΦθ)+(PTI)λ=0 ∂ L ∂ θ = − Φ T ( y − Φ θ ) + ( P T − I ) λ = 0

注意到 (PT)2=PT ( P T ) 2 = P T ,两边同时乘于 PT P T 有:
PTΦT(yΦθ)=0 − P T Φ T ( y − Φ θ ) = 0

因此有:
θ^==((ΦP)TΦP)+(ΦP)Ty(ΦP)+y θ ^ = ( ( Φ P ) T Φ P ) + ( Φ P ) T y = ( Φ P ) + y

l2 l 2 约束最小二乘( l2 l 2 -Constrained LS,岭回归)

模型

l2 l 2 约束最小二乘优化问题为(Ivanov regularization):

minθJLS(θ)s.t.||θ||22R2(1) (1) m i n θ ⁡ J L S ( θ ) s . t . | | θ | | 2 2 ≤ R 2

Tikhonov regularization

minθJLS(θ)+λ2||θ||22(2) (2) m i n θ ⁡ J L S ( θ ) + λ 2 | | θ | | 2 2

Ivanov regularization和Tikhonov regularization等价,即:

  • 对任意 R2 R 2 ,存在一个 λ λ 使得优化问题(1)和优化问题(2)等价

    证明:

    优化问题(1)与以下优化问题等价:

    minθmaxλ0JLS(θ)+λ2(||θ||22R2)(3) (3) m i n θ ⁡ m a x λ ≥ 0 ⁡ J L S ( θ ) + λ 2 ( | | θ | | 2 2 − R 2 )

    不妨设 θI,λI θ I , λ I 为优化问题(3)的最优解,在优化问题(2)中取 λ=λI λ = λ I ,此时优化问题(2)的最优解 θT=θI θ T = θ I ,即对于优化问题(1)的解,存在 λ λ 使得优化问题(2)和优化问题(1)等价

  • 对任意 λ λ ,存在一个 R2 R 2 使得优化问题(1)和优化问题(2)等价

    证明:

    θT θ T 是优化问题(2)的最优解,取 R2=||θT||22 R 2 = | | θ T | | 2 2 ,下证 θT θ T 也是优化问题(1)的解

    否则,设优化问题(1)的解 θI θ I ,有 JLS(θI)<JLS(θT),||θI||22||θT||22 J L S ( θ I ) < J L S ( θ T ) , | | θ I | | 2 2 ≤ | | θ T | | 2 2

    于是有 JLS(θI)+12λ||θI||22<JLS(θT)+12λ||θT||22 J L S ( θ I ) + 1 2 λ | | θ I | | 2 2 < J L S ( θ T ) + 1 2 λ | | θ T | | 2 2 ,这与 θT θ T 是优化问题(2)的最优解矛盾

为了求解优化问题(2),令目标函数的导数为零即可得到最优解:

θ(JLS(θ)+λ2||θ||22)=ΦT(yΦθ)+λθ=0 ∂ ∂ θ ( J L S ( θ ) + λ 2 | | θ | | 2 2 ) = − Φ T ( y − Φ θ ) + λ θ = 0

求解可得:
θ^=(ΦTΦ+λI)+ΦTy θ ^ = ( Φ T Φ + λ I ) + Φ T y

l1 l 1 约束最小二乘( l1 l 1 -Constrained LS,lasso)

模型

l1 l 1 约束最小二乘的优化问题为(Ivanov regularization):

minθJLS(θ)s.t.||θ||1R2(1) (1) m i n θ ⁡ J L S ( θ ) s . t . | | θ | | 1 ≤ R 2

Tikhonov regularization

minθJLS(θ)+λ||θ||1(2) (2) m i n θ ⁡ J L S ( θ ) + λ | | θ | | 1

同样的,优化问题(1)和优化问题(2)等价

以下算法求解优化问题(2)

坐标下降法(Coordinate Descent Method)

优化问题为:

minθL(θ)=minθ12i=1n(yij=1bϕ(xi)jθj)2+λ||θ||1 m i n θ ⁡ L ( θ ) = m i n θ ⁡ 1 2 ∑ i = 1 n ( y i − ∑ j = 1 b ϕ ( x i ) j θ j ) 2 + λ | | θ | | 1

其导数为:

Lθk====i=1nϕ(xi)k(yij=1bϕ(xi)jθj)+λ|θk|i=1nϕ(xi)k(yij=1,jkbϕ(xi)jθj)+θki=1nϕ(xi)2k+λ|θk|aθkb+λ|θk|aθkb+λ[aθkbλ,aθkb+λ]aθkbλθk>0θk=0θk<0 ∂ L ∂ θ k = − ∑ i = 1 n ϕ ( x i ) k ( y i − ∑ j = 1 b ϕ ( x i ) j θ j ) + λ ∂ | θ k | = − ∑ i = 1 n ϕ ( x i ) k ( y i − ∑ j = 1 , j ≠ k b ϕ ( x i ) j θ j ) + θ k ∑ i = 1 n ϕ ( x i ) k 2 + λ ∂ | θ k | = a θ k − b + λ | θ k | = { a θ k − b + λ θ k > 0 [ a θ k − b − λ , a θ k − b + λ ] θ k = 0 a θ k − b − λ θ k < 0

其中
a=i=1nϕ(xi)k(yij=1,jkbϕ(xi)jθj)b=i=1nϕ(xi)2k a = ∑ i = 1 n ϕ ( x i ) k ( y i − ∑ j = 1 , j ≠ k b ϕ ( x i ) j θ j ) b = ∑ i = 1 n ϕ ( x i ) k 2

令导数为零可得:
θk=bλa0b+λab>λλbλb<λ(*) (*) θ k = { b − λ a b > λ 0 − λ ≤ b ≤ λ b + λ a b < − λ

算法过程:

  1. 选择参数的一个维度 θk θ k ,可以是随机也可以是顺序
  2. 用(*)式更新 θk θ k

二次规划(QP)

θ=θ+θ θ = θ + − θ − ,则有 |θ|=θ++θ | θ | = θ + + θ − ,优化问题转换为:

minθ+,θs.t.12||yΦ(θ+θ)||22+λi=1b(θ+i+θi)θ+0θ0 m i n θ + , θ − 1 2 | | y − Φ ( θ + − θ − ) | | 2 2 + λ ∑ i = 1 b ( θ i + + θ i − ) s . t . θ + ≥ 0 θ − ≥ 0

这是关于 θ+,θ θ + , θ − 且目标函数可导的二次规划问题,可以用任一二次规划的方法求解

投影随机梯度下降(Projected SGD)

优化问题:

minθ+,θs.t.12||yΦ(θ+θ)||22+λi=1b(θ+i+θi)θ+0θ0 m i n θ + , θ − 1 2 | | y − Φ ( θ + − θ − ) | | 2 2 + λ ∑ i = 1 b ( θ i + + θ i − ) s . t . θ + ≥ 0 θ − ≥ 0

  1. 梯度下降

L(θ+,θ)=12||yΦ(θ+θ)||22+λi=1b(θ+i+θi) L ( θ + , θ − ) = 1 2 | | y − Φ ( θ + − θ − ) | | 2 2 + λ ∑ i = 1 b ( θ i + + θ i − )

关于 θ+,θ θ + , θ − 的导数为:

Lθ+Lθ==ΦT(yΦ(θ+θ))+λΦ(yΦ(θ+θ))+λ ∂ L ∂ θ + = − Φ T ( y − Φ ( θ + − θ − ) ) + λ ∂ L ∂ θ − = Φ ( y − Φ ( θ + − θ − ) ) + λ

梯度下降更新 θ+,θ θ + , θ − :
θ+θ==θ+ηLθ+θηLθ θ + = θ + − η ∂ L ∂ θ + θ − = θ − − η ∂ L ∂ θ −

  1. 投影 θ+,θ θ + , θ − 至可行域

θ+θ==max(0,θ+)max(0,θ) θ + = m a x ( 0 , θ + ) θ − = m a x ( 0 , θ − )

最小角回归法(Least Angle Regression)

在阐述最小角回归( Least Angle Regression)算法之前,这里需要对两种更为简单直观的前向(Forward)算法做一些说明,最小回归算法是以这两种前向算法为基础的:

前向选择算法

前向选择(Forward Selection)算法,是一种典型的贪心算法。

注意到:

y=Φθ=(Φ1,,Φb)θ=i=1bθiΦi y = Φ θ = ( Φ 1 , … , Φ b ) θ = ∑ i = 1 b θ i Φ i

它在 Φ Φ 的特征 Φk,k=1,,b Φ k , k = 1 , … , b 中选择和目标 y y 最为接近的一个特征 Φk Φ k ,用 Φk Φ k 来逼近 y y ,得到 y~=θkΦk y ~ = θ k Φ k ,其中:
θk=<Φk,y>||Φk||2 θ k = < Φ k , y > | | Φ k | | 2

y~ y ~ y y Φk Φ k 上的投影。那么,可以定义残差: yres=yy~ y r e s = y − y ~ 。容易知道 yres y r e s Φk Φ k 是正交的。再以 yres y r e s 为新的因变量,除去 Φk Φ k 后,剩下的特征的集合 {Φi,i=1,2,3,,k1,k+1,,n} { Φ i , i = 1 , 2 , 3 , … , k − 1 , k + 1 , … , n } 为新的特征集合,重复刚才的投影和残差的操作,直到残差为0或者所有的特征都用完,才停止算法。

最后得到参数 θ=(θ1,,θb)T θ = ( θ 1 , … , θ b ) T

此算法对每个变量只需要执行一次操作,效率高,速度快。但也容易看出,当特征不是正交的时候,由于每次都是在做投影,所有算法只能给出最优解的一个近似解。

前向梯度算法

前向梯度(Forward Stagewise)和前向选择算法类似,也是每次取相关性最大的一个特征 Φk Φ k ,然后用 Φk Φ k 逼近目标 y y 。但与之不同的是,前向梯度算法的残差并不是直接使用投影得到的,其计算方式为:

yres=yϵΦk y r e s = y − ϵ Φ k

然后和前向选择算法一样,使用 yres y r e s 为新的目标,但是不将 Φk Φ k 从集合中剔除出去,因为 Φk Φ k 的相关度可能仍然是最高。如此下去,直到 yres y r e s 减小到一定的范围,算法停止

这个算法在 ϵ ϵ 很小的时候,可以很精确的给出最有解,当然,其计算复杂度也随之增加

最小角回归

最小角回归LARS算法是结合前两种前向算法的所得到的

首先,还是找到与目标 y y 相关度最高的特征 Φk Φ k ,使用类似于前向梯度算法中的残差计算方法,得到新的目标 yres y r e s ,重复这个过程,直到出现一个 Φl Φ l ,使得 Φl Φ l yres y r e s 的相关度和 Φk Φ k yres y r e s 的相关度是一样的,此时 yres y r e s 就在 Φk Φ k Φl Φ l 的角分线上,继续使用类似于前向梯度算法中的残差计算方法,逼近 y y

当出现第三个特征 Φl Φ l yres y r e s 的相关度足够大的时候,将其也加入到 y y 的逼近特征集合中,并用 y y 的逼近特征集合的共同角分线作为新的逼近方向。以此循环,直到 yres y r e s 足够的小,或者说所有的特征都已经取完,算法停止

LARS算法是一个适用于高纬数据的回归算法,其主要优点如下:

  • 对于特征维度 b b 远高于样本数 n n 的情况( b>n b > n ),该算法有极高的数值效率
  • 该算法的最坏计算复杂度和最小二乘法类似,但是其计算速度几乎和前向选择算法一样
  • 它可以产生分段线性结果的完整路径,这在模型交叉验证中极为有用

你可能感兴趣的:(优化算法)