线性回归
已知 n n 个样本 {(xi,yi)}ni=1 { ( x i , y i ) } i = 1 n ,其中 xi∈Rd,yi∈R x i ∈ R d , y i ∈ R
回归问题学习实值函数 y=f(x) y = f ( x ) ,其中 f:Rd→R f : R d → R
最小二乘模型(Least Squares Regression)
模型
最小二乘模型的优化问题为:
θ^LS=argminθJLS(θ)(1) (1) θ ^ L S = argmin θ J L S ( θ )
其中
JLS(θ)=12∑i=1n(yi−fθ(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 )
ϕ:Rd→Rb ϕ : 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
算法
利用公式 θ^LS=(ΦTΦ)+Φy θ ^ L S = ( Φ T Φ ) + Φ y 计算
梯度下降(收敛):
迭代公式为 θ⟵θ−ϵ∇θJLS θ ⟵ θ − ϵ ∇ θ J L S ,其中 ∇θJLS=−ΦT(y−Φθ) ∇ θ J L S = − Φ T ( y − Φ θ )
拓展
加权最小二乘(Weighted LS):
argminθ12∑i=1nwi(yi−fθ(xi))2 argmin θ 1 2 ∑ i = 1 n w i ( y i − f θ ( x i ) ) 2
其中
wi∈R+,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−Φθ)+(PT−I)λ=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.||θ||22≤R2(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(||θ||22−R2)(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.||θ||1≤R2(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θ12∑i=1n(yi−∑j=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(yi−∑j=1bϕ(xi)jθj)+λ∂|θk|−∑i=1nϕ(xi)k(yi−∑j=1,j≠kbϕ(xi)jθj)+θk∑i=1nϕ(xi)2k+λ∂|θk|aθk−b+λ|θk|⎧⎩⎨aθk−b+λ[aθk−b−λ,aθk−b+λ]aθk−b−λθ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(yi−∑j=1,j≠kbϕ(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 < − λ
算法过程:
- 选择参数的一个维度 θk θ k ,可以是随机也可以是顺序
- 用(*)式更新 θ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
- 梯度下降
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 ∂ θ −
- 投影 θ+,θ− θ + , θ − 至可行域
θ+θ−==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=y−y~ 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,…,k−1,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 ),该算法有极高的数值效率
- 该算法的最坏计算复杂度和最小二乘法类似,但是其计算速度几乎和前向选择算法一样
- 它可以产生分段线性结果的完整路径,这在模型交叉验证中极为有用