核岭回归(Kernel Ridge Regression)

Ridge Regression

我们先考虑最简单的线性回归问题,

y = w T x + ϵ ,   ϵ ∼ N ( 0 , σ ) , w i ∼ N ( 0 , 1 ) y=\mathbf{w}^{T} x+\epsilon ,\ \epsilon \sim \mathcal{N}( 0,\sigma ) ,w_{i} \sim \mathcal{N}( 0,1) y=wTx+ϵ, ϵN(0,σ),wiN(0,1)

于是,我们参数w估计的loss函数可以写作:

J ( w ) = ( y − X w ) T ( y − X w ) + λ ∥ w ∥ 2 J(\mathbf{w}) =(\mathbf{y} -\mathbf{Xw})^{T}(\mathbf{y} -\mathbf{Xw}) +\lambda \| \mathbf{w} \| ^{2} J(w)=(yXw)T(yXw)+λw2

其中X是一个样本矩阵,每一行是一个样本,y则是label的向量。
于是我们求他的最优值:

∇ w J ( w ) = ∇ w t r ( ( y − X w ) T ( y − X w ) ) + 2 λ w = ∇ w t r ( ( y T − w T X T ) ( y − X w ) ) + 2 λ w = ∇ w t r ( y T y − y T X w − w T X T y + w T X T X w ) + 2 λ w = − X T y − X T y + 2 X T X w + 2 λ w = − 2 X T y + 2 ( X T X + λ I ) w = 0 w = ( X T X + λ I ) − 1 X T y \begin{aligned} \nabla _{\mathbf{w}} J(\mathbf{w}) & =\nabla _{\mathbf{w}} tr\left((\mathbf{y} -\mathbf{Xw})^{T}(\mathbf{y} -\mathbf{Xw})\right) +2\lambda \mathbf{w}\\ & =\nabla _{\mathbf{w}} tr\left(\left(\mathbf{y}^{T} -\mathbf{w}^{T}\mathbf{X^{T}}\right)(\mathbf{y} -\mathbf{Xw})\right) +2\lambda \mathbf{w}\\ & =\nabla _{\mathbf{w}} tr\left(\mathbf{y^{T} y} -\mathbf{y^{T} Xw} -\mathbf{w^{T} X^{T} y+w^{T} X^{T} Xw}\right) +2\lambda \mathbf{w}\\ & =-\mathbf{X^{T} y} -\mathbf{X^{T} y} +2\mathbf{X^{T} Xw} +2\lambda \mathbf{w}\\ & =-2\mathbf{X^{T} y} +2\left(\mathbf{X^{T} X} +\lambda \mathbf{I}\right)\mathbf{w} =0\\ \mathbf{w} & =\mathbf{\left( X^{T} X +\lambda I\right)^{-1} X^{T} y} \end{aligned} wJ(w)w=wtr((yXw)T(yXw))+2λw=wtr((yTwTXT)(yXw))+2λw=wtr(yTyyTXwwTXTy+wTXTXw)+2λw=XTyXTy+2XTXw+2λw=2XTy+2(XTX+λI)w=0=(XTX+λI)1XTy

Kernel Ridge Regression

这个形式因为有一项X没有办法写成内积的形式,所以我们需要将其转换,这里用到一个Matrix inversion lemma (MLAPP Page 117)的引理:

Matrix inversion lemma: 考虑一个一般的矩阵分割 M = ( E F G H ) \mathbf{M} =\left(\begin{array}{ l l } \mathbf{E} & \mathbf{F}\\ \mathbf{G} & \mathbf{H} \end{array}\right) M=(EGFH),假设E和H都是可逆的于是有

( E − F H − 1 G ) − 1 = E − 1 + E − 1 F ( H − G E − 1 F ) − 1 G E − 1 ( E − F H − 1 G ) − 1 F H − 1 = E − 1 F ( H − G E − 1 F ) − 1 ∣ E − F H − 1 G ∣ = ∣ H − G E − 1 F ∥ H − 1 ∥ E ∣ \begin{aligned} \left(\mathbf{E} -\mathbf{FH}^{-1}\mathbf{G}\right)^{-1} & =\mathbf{E}^{-1} +\mathbf{E}^{-1}\mathbf{F}\left(\mathbf{H} -\mathbf{GE}^{-1}\mathbf{F}\right)^{-1}\mathbf{GE}^{-1}\\ \left(\mathbf{E} -\mathbf{FH}^{-1}\mathbf{G}\right)^{-1}\mathbf{FH}^{-1} & =\mathbf{E}^{-1}\mathbf{F}\left(\mathbf{H} -\mathbf{GE}^{-1}\mathbf{F}\right)^{-1}\\ \left| \mathbf{E} -\mathbf{FH}^{-1}\mathbf{G}\right| & =\left| \mathbf{H} -\mathbf{GE}^{-1}\mathbf{F}\left\Vert \mathbf{H}^{-1}\right\Vert \mathbf{E}\right| \end{aligned} (EFH1G)1(EFH1G)1FH1EFH1G=E1+E1F(HGE1F)1GE1=E1F(HGE1F)1=HGE1FH1E

我们使用第二条逆的公式对上述w的最优解进行化简,令 H − 1 ≜ λ − 1 I , F ≜ X T , G ≜ − X , E ≜ I \displaystyle \mathbf{H}^{-1} \triangleq \mathbf{\lambda ^{-1} I} ,\mathbf{F} \triangleq \mathbf{X^{T}} ,\mathbf{G} \triangleq -\mathbf{X} ,\mathbf{E} \triangleq \mathbf{I} H1λ1I,FXT,GX,EI,于是

( E − F H − 1 G ) − 1 F H − 1 = ( I + X T λ − 1 X ) − 1 X T λ − 1 = ( λ I + X T X ) − 1 X T \left(\mathbf{E} -\mathbf{FH}^{-1}\mathbf{G}\right)^{-1}\mathbf{FH}^{-1} =\left(\mathbf{I+X^{T} \lambda ^{-1} X}\right)^{-1}\mathbf{X^{T} \lambda ^{-1}} =\left(\mathbf{\lambda I+X^{T} X}\right)\mathbf{^{-1} X^{T}} (EFH1G)1FH1=(I+XTλ1X)1XTλ1=(λI+XTX)1XT

使用公式:

w = ( X T X + λ I ) − 1 X T y = X T ( λ I + X X T ) − 1 y \begin{aligned} \mathbf{w} & =\mathbf{\left( X^{T} X +\lambda I\right)^{-1} X^{T} y}\\ & =\mathbf{X^{T}}\left(\mathbf{\lambda I} +\mathbf{XX^{T}}\right)^{-1} \mathbf{y} \end{aligned} w=(XTX+λI)1XTy=XT(λI+XXT)1y

现在,距离kernel化很接近了,我们剩下的任务就是当一个新的样本进来时,比如说 x ∗ \displaystyle x^{*} x,想要预测 y ∗ \displaystyle y^{*} y,现在,为了更清晰展示kernel化的过程,我们将w写成向量求和的形式,设

α ≜ ( K + λ I N ) − 1 y \boldsymbol{\alpha } \triangleq (\mathbf{K} +\lambda \mathbf{I}_{N})^{-1}\mathbf{y} α(K+λIN)1y

于是w可以改写为

w = X T α = ∑ i = 1 N α i x i \mathbf{w} =\mathbf{X}^{T}\boldsymbol{\alpha } =\sum ^{N}_{i=1} \alpha _{i}\mathbf{x}_{i} w=XTα=i=1Nαixi

我们发现w其实只是所有样本的一个加权平均。于是,对于一个新样本的预测值为:

y ∗ = w T x ∗ = ∑ i = 1 N α i x i T x ∗ = ∑ i = 1 N α i k ( x ∗ , x i ) y^{*} =\mathbf{w}^{T} x^{*} =\sum ^{N}_{i=1} \alpha _{i}\mathbf{x}^{T}_{i} x^{*} =\sum ^{N}_{i=1} \alpha _{i} k\left( x^{*}\mathbf{,x}_{i}\right) y=wTx=i=1NαixiTx=i=1Nαik(x,xi)

预测也只是新样本与所有旧样本内积的加权平均。

与高斯过程的联系

一个值得说明的事情是,ridge regression跟高斯过程是有很深刻的联系的,因为高斯过程就是假设所有的参数还有变量都是高斯分布,而同样的ridge也是假设w的先验分布是高斯分布(见 ),唯一区别是,ridge regression只考虑了预测y的均值,而没有考虑预测y的方差。在高斯过程中我们要预测y*的分布 p ( y ∗ ∣ y , x , x ∗ ) \displaystyle p\left( y^{*} |y,x,x^{*}\right) p(yy,x,x)是一个高斯分布,而这个高斯分布的均值就是ridge regression的预测值。

与HSIC的联系

在这里将指出最小化残差其实等价于最大化HSIC,也就是在最大化某种独立性。
现在我们将w的结果回代到公式loss函数中,可以发现:

参考资料

https://www.zhihu.com/question/20447622

Murphy, Kevin P. Machine learning: a probabilistic perspective. MIT press, 2012.

你可能感兴趣的:(机器学习,人工智能)