岭回归与Moore逆矩阵

回归分析是机器学习里面基本的算法,最小二乘估计,岭回归与矩阵的Moore有着内在联系。为方便说明,假定设计矩阵(高维样本的自变量样本值矩阵,也称自变量)为 XRnp X ∈ R n ∗ p ,因变量为 YRn1 Y ∈ R n ∗ 1 ,其线性回归模型为 Y=Xβ,βRp Y = X ∗ β , β ∈ R p .

一 最小二乘估计

最小二乘估计来自于最小化损失函数:

Q(β)=12(YXβ)T(YXβ) Q ( β ) = 1 2 ( Y − X β ) T ( Y − X β )

可以看到,损失函数是参数 β β 的二次函数。最小化目标函数 Q(β) Q ( β ) ,只需要将损失函数对参数求导即可:
Q(β)β=XT(YXβ)=0β=(XTX)1XTY(1) ∂ Q ( β ) ∂ β = X T ( Y − X β ) = 0 ⇒ β = ( X T X ) − 1 X T Y ( 1 )

求得 β=(XTX)1XTY β = ( X T X ) − 1 X T Y ,这就是最小二乘法的解法。
      但是问题是 XTX X T X 可能接近于零或者等于零,是一个病态矩阵,求逆在数值上不稳定, X X 的微小变化将导致 (XTX)1 ( X T X ) − 1 巨大变化,或者根本无法求逆。因此可能无法求得的参数 β β ,或者 β β 不稳定。
荐于以上情况,将 β=(XTX)1XTY β = ( X T X ) − 1 X T Y 改为 β=(XTX+λI)1XTY β = ( X T X + λ I ) − 1 X T Y ,这就岭回归。

二 岭回归

      在最小二乘法的基础上化解 XTX X T X 病态问题而引入超参数 λ λ 。将岭回归还原到目标函数,有:

β=(XTX+λI)1XTY(XTX+λI)β=XTYXTXβ+λβXTY=0XT(XβY)+λβ=0(2) β = ( X T X + λ I ) − 1 X T Y ⇒ ( X T X + λ I ) β = X T Y ⇒ X T X β + λ β − X T Y = 0 ⇒ X T ( X β − Y ) + λ β = 0 ( 2 )

对比(1)(2)两式,可以发现,岭回归实际上是在最小二乘法最小化损失函数上加了一个正则化项::
Q(β)=12(YXβ)T(YXβ)+12λβTβ(3) Q ′ ( β ) = 1 2 ( Y − X ∗ β ) T ( Y − X ∗ β ) + 1 2 λ β T β ( 3 )

三 Moore逆

     任意一个矩阵 X X ,求解线性方程组 Y=Xβ Y = X β ,已知 Y,X Y , X 求解 β β 。如果存在 ARpn A ∈ R p ∗ n 使得 AY=b A Y = b ,则有 AY=AXβ=βAX=I A Y = A X β = β → A X = I A A X X 广义逆矩阵

      然而广义逆矩阵不一定存在,当X的秩 Rank(X)<p R a n k ( X ) < p 时任意矩阵 ARpn A ∈ R p ∗ n 都有 Rank(AX)<p R a n k ( A X ) < p ,不存在 ARpn A ∈ R p ∗ n 使得 AX=I A X = I 。只有当 Rank(X)=p R a n k ( X ) = p 时广义逆矩阵才存在。因为广义逆矩阵不一定存在,放弃 AX=I A X = I 这一要求,模岭回归可定义一个更广泛的逆矩阵。

Moore逆矩阵:任意一个矩阵 XRnp X ∈ R n ∗ p ,定义其Moore逆矩阵为: A=(XTX+λI)1XT A = ( X T X + λ I ) − 1 X T

从定义中我们可以看出,Moore逆与岭回归中求解参数式 β=(XTX+λI)1XTY β = ( X T X + λ I ) − 1 X T Y 一致,因此通过Moore逆矩阵求得的 β^=AY β ^ = A Y ,一定会最小化(3)式的损失函数 Q(β) Q ′ ( β )

根据线性方程组理论,对于解线性方程组 Y=Xβ Y = X β ,令: β^=AY β ^ = A Y
1. 当 Y=Xβ Y = X β 有解时,有 Q(β^)=0+12λβ^Tβ^ Q ′ ( β ^ ) = 0 + 1 2 λ β ^ T β ^ ,有 pi=1β^2i ∑ i = 1 p β ^ i 2 最小。
2. 当 Y=Xβ Y = X β 无解时,有 limλ0Q(β^)=12(YXβ^)T(YXβ^)=Q(β^)>0 lim λ → 0 Q ′ ( β ^ ) = 1 2 ( Y − X ∗ β ^ ) T ( Y − X ∗ β ^ ) = Q ( β ^ ) > 0 ,模型误差最小。

在实际数值计算中,并不采用Moore的定义公式计算Moore逆,而是通过求解A的SVD分解来计算:
设: X=UDVT X = U D V T D D 是对角矩阵(非对角元素为零),则有:

A=(XTX+λI)1XT=(VDUTUDVTλI)1VDUT=(VD2VTλI)1VDUT=(V(D2λI)VT)1VDUT=V(D2λI)1VTVDUT=V(D2λI)1DUT A = ( X T X + λ I ) − 1 X T = ( V D U T U D V T − λ I ) − 1 V D U T = ( V D 2 V T − λ I ) − 1 V D U T = ( V ( D 2 − λ I ) V T ) − 1 V D U T = V ( D 2 − λ I ) − 1 V T V D U T = V ( D 2 − λ I ) − 1 D U T

H=(D2λI)1D H = ( D 2 − λ I ) − 1 D ,则有:
A=VHUT(4) A = V H U T ( 4 )

因此,计算 X X 的Moore逆,首先需要将X进行SVD分解,将D的每个对角线元素做映射 diidiid2ii+λhii d i i → d i i d i i 2 + λ ≡ h i i ,即 H=D(D2+λI)1 H = D ( D 2 + λ I ) − 1 ,得到H的对角线元素值。然后按照(4)式相乘即可。

四 岭回归超参数含义

4.1 影响回归模型的解释性能

注意 λ λ 来自于损失函数 Q(β)=12(YXβ)T(YXβ)+12λβTb Q ′ ( β ) = 1 2 ( Y − X ∗ β ) T ( Y − X ∗ β ) + 1 2 λ β T b 中后面一项 12λβTb 1 2 λ β T b ,称之为损失函数的正则化项,且有:

2Q(β^)=(YXβ^)T(YXβ^)+λβ^Tβ^=(YXAY)T(YXAY)+λ(AY)T(AY)=YT[(IXA)T(IXA)+λATA]Y=YT[(IATXTXA+ATXTXA+λATA]Y=YT[(IUHDUTUDHUT+UD2H2UT+λUH2UT]Y=YTU[(I2HD+D2H2+λH2]UTY=YTU[(I2D(D2+λI)1D+D2(D(D2+λI)1)2+λ(D(D2+λI)1)2]UTY=YTU[(I2D2(D2+λI)1+D2D2((D2+λI)1)2+λD2((D2+λI)1)2]UTY=YTU[(ID2(D2+λI)1]UTY=YTU[λI(D2+λI)1]UTY=λYTU[(D2+λI)1]UTY 2 Q ′ ( β ^ ) = ( Y − X ∗ β ^ ) T ( Y − X ∗ β ^ ) + λ β ^ T β ^ = ( Y − X ∗ A Y ) T ( Y − X ∗ A Y ) + λ ( A Y ) T ( A Y ) = Y T [ ( I − X A ) T ( I − X A ) + λ A T A ] Y = Y T [ ( I − A T X T − X A + A T X T X A + λ A T A ] Y = Y T [ ( I − U H D U T − U D H U T + U D 2 H 2 U T + λ U H 2 U T ] Y = Y T U [ ( I − 2 H D + D 2 H 2 + λ H 2 ] U T Y = Y T U [ ( I − 2 D ( D 2 + λ I ) − 1 D + D 2 ( D ( D 2 + λ I ) − 1 ) 2 + λ ( D ( D 2 + λ I ) − 1 ) 2 ] U T Y = Y T U [ ( I − 2 D 2 ( D 2 + λ I ) − 1 + D 2 D 2 ( ( D 2 + λ I ) − 1 ) 2 + λ D 2 ( ( D 2 + λ I ) − 1 ) 2 ] U T Y = Y T U [ ( I − D 2 ( D 2 + λ I ) − 1 ] U T Y = Y T U [ λ I ( D 2 + λ I ) − 1 ] U T Y = λ Y T U [ ( D 2 + λ I ) − 1 ] U T Y

对坐标做旋转,选取 Z=UTY,X^=UTX=DVTX^X^T=D2 Z = U T Y , X ^ = U T X = D V T → X ^ X ^ T = D 2 ,则损失函数可以表示为:

2Q(β^)=i=1nλd2ii+λz2i 2 Q ′ ( β ^ ) = ∑ i = 1 n λ d i i 2 + λ z i 2

从坐标旋转后的空间来看,

  1. dii=0 d i i = 0 时,表示 X^ X ^ 在方向 Ui U i 分量值为零, Z Z 在该子方向的方差是 z2i z i 2 ,所以有 λd2ii+λz2i=z2i λ d i i 2 + λ z i 2 = z i 2 ,可知在该子方向上,因变量的方差不能被模型解释;
  2. dii0 d i i ≠ 0 时在 Ui U i 方向上被解释方差为 z2iλd2ii+λz2i=d2ii/(d2ii+λ)z2i z i 2 − λ d i i 2 + λ z i 2 = d i i 2 / ( d i i 2 + λ ) z i 2 ,说明自变量在该方向上方差越大,解析因变量方差越多,但同时 λ λ 越大,模型解释能力越差。
  3. 因此超参数在保证数值稳定的情况下,应当尽量设置一个较小的值,提高模型的解释能力。

4.2 损失函数在参数解附近的性质

考察损失函数在 β^ β ^ 附近的海塞矩阵有:

2Q(β)ββTβ=β^=XTX+λI=U(D2+λI)UT ∂ 2 Q ′ ( β ) ∂ β ∂ β T | β = β ^ = X T X + λ I = U ( D 2 + λ I ) U T

同上,经坐标旋转后有:
2Q(β^)ββT=D2+λI ∂ 2 Q ′ ( β ^ ) ∂ β ∂ β T = D 2 + λ I

损失函数在 β^ β ^ 附近的,沿任意特征方向 Ui U i 的曲率正比于 1/(d2ii+λ) 1 / ( d i i 2 + λ ) λ λ 越大,损失函数在此点 β^ β ^ 附近越平坦;当 λ=0 λ = 0 时该损失函数退化到最小二乘法,解也退化到最小二乘法的解,此时曲率最大。

岭回归倾向于把模型参数的解往更平坦的地方移动。一般而言,任意损失函数添加二次正则项 λβTβ λ β T β ,都会使得解往更平坦的地方移动。

你可能感兴趣的:(机器学习)