我们先考虑最简单的线性回归问题,
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,σ),wi∼N(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)=(y−Xw)T(y−Xw)+λ∥w∥2
其中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((y−Xw)T(y−Xw))+2λw=∇wtr((yT−wTXT)(y−Xw))+2λw=∇wtr(yTy−yTXw−wTXTy+wTXTXw)+2λw=−XTy−XTy+2XTXw+2λw=−2XTy+2(XTX+λI)w=0=(XTX+λI)−1XTy
这个形式因为有一项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} (E−FH−1G)−1(E−FH−1G)−1FH−1∣∣E−FH−1G∣∣=E−1+E−1F(H−GE−1F)−1GE−1=E−1F(H−GE−1F)−1=∣∣H−GE−1F∥∥H−1∥∥E∣∣
我们使用第二条逆的公式对上述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} H−1≜λ−1I,F≜XT,G≜−X,E≜I,于是
( 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}} (E−FH−1G)−1FH−1=(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=1∑Nα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=1∑NαixiTx∗=i=1∑Nα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(y∗∣y,x,x∗)是一个高斯分布,而这个高斯分布的均值就是ridge regression的预测值。
在这里将指出最小化残差其实等价于最大化HSIC,也就是在最大化某种独立性。
现在我们将w的结果回代到公式loss函数中,可以发现:
https://www.zhihu.com/question/20447622
Murphy, Kevin P. Machine learning: a probabilistic perspective. MIT press, 2012.