本系列为《模式识别与机器学习》的读书笔记。
一,⽤于回归的 RVM
相关向量机(relevance vector machine
)或者 RVM
(Tipping
, 2001)是⼀个⽤于回归问题和分类问题的贝叶斯稀疏核⽅法,它具有许多 SVM
的特征,同时避免了 SVM
的主要的局限性。此外,通常会产⽣更加稀疏的模型,从⽽使得在测试集上的速度更快,同时保留了可⽐的泛化误差。
给定⼀个输⼊向量 x \boldsymbol{x} x 的情况下, 实值⽬标变量t的条件概率分布,形式为
p ( t ∣ x , w , β ) = N ( t ∣ y ( x ) , β − 1 ) (7.27) p(t|\boldsymbol{x},\boldsymbol{w},\beta) = \mathcal{N}(t|y(\boldsymbol{x}),\beta^{-1})\tag{7.27} p(t∣x,w,β)=N(t∣y(x),β−1)(7.27)
其中 β = σ − 2 \beta=\sigma^{-2} β=σ−2 是噪声精度(噪声⽅差的倒数),均值是由⼀个线性模型给出,形式为
y ( x ) = ∑ i = 1 M w i ϕ i ( x ) = w T ϕ ( x ) y(\boldsymbol{x})=\sum_{i=1}^{M}w_i\phi_i(\boldsymbol{x})=\boldsymbol{w}^{T}\boldsymbol{\phi}(\boldsymbol{x}) y(x)=i=1∑Mwiϕi(x)=wTϕ(x)
模型带有固定⾮线性基函数 ϕ i ( x ) \phi_i(\boldsymbol{x}) ϕi(x) ,通常包含⼀个常数项,使得对应的权参数表⽰⼀个“偏置”。
基函数由核给出,训练集的每个数据点关联着⼀个核。⼀般的表达式可以写成与 SVM
相类似的形式
y ( x ) = ∑ n = 1 N w n k ( x , x n ) + b (7.28) y(\boldsymbol{x})=\sum_{n=1}^{N}w_nk(\boldsymbol{x},\boldsymbol{x}_n)+b\tag{7.28} y(x)=n=1∑Nwnk(x,xn)+b(7.28)
其中 b b b 是⼀个偏置参数。在⽬前的问题中, 参数的数量为 M = N + 1 M=N+1 M=N+1 。 y ( x ) y(\boldsymbol{x}) y(x) 与 SVM
的预测模型具有相同的形式,唯⼀的差别是系数 a n a_n an 在这⾥被记作 w n w_n wn 。
假设有输⼊向量 x \boldsymbol{x} x 的 N N N 次观测,将这些观测聚集在⼀起,记作数据矩阵 X \boldsymbol{X} X ,它的第 n n n ⾏是 x n T \boldsymbol{x}_n^{T} xnT ,其中 n = 1 , … , N n=1,\dots,N n=1,…,N 。对应的⽬标值为 t = ( t 1 , … , t N ) T \mathbf{t}=(t_1,\dots,t_N)^T t=(t1,…,tN)T 。因此,似然函数为
p ( t ∣ X , w , β ) = ∏ n = 1 N p ( t n ∣ x n , w , β ) (7.29) p(\mathbf{t}|\boldsymbol{X},\boldsymbol{w},\beta)=\prod_{n=1}^{N}p(t_n|\boldsymbol{x}_n,\boldsymbol{w},\beta)\tag{7.29} p(t∣X,w,β)=n=1∏Np(tn∣xn,w,β)(7.29)
权值先验的形式为
p ( w ∣ α ) = ∏ i = 1 N N ( w i ∣ 0 , α i − 1 ) (7.30) p(\boldsymbol{w}|\boldsymbol{\alpha})=\prod_{i=1}^{N}\mathcal{N}(w_i|0,\alpha_{i}^{-1})\tag{7.30} p(w∣α)=i=1∏NN(wi∣0,αi−1)(7.30)
其中 α i \alpha_i αi 表⽰对应参数 w i w_i wi 的精度, α \boldsymbol{\alpha} α 表⽰ ( α 1 , … , α M ) T (\alpha_1,\dots,\alpha_M)^T (α1,…,αM)T 。
权值的后验概率分布为
p ( w ∣ t , X , α , β ) = N ( w ∣ m , Σ ) (7.31) p(\boldsymbol{w}|\mathbf{t},\boldsymbol{X},\boldsymbol{\alpha},\beta)=\mathcal{N}(\boldsymbol{w}|\boldsymbol{m},\boldsymbol{\Sigma})\tag{7.31} p(w∣t,X,α,β)=N(w∣m,Σ)(7.31)
其中,均值和⽅差为
m = β Σ Φ T t Σ = ( A + β Φ T Φ ) − 1 \boldsymbol{m}=\beta\boldsymbol{\Sigma}\boldsymbol{\Phi}^{T}\mathbf{t}\\ \boldsymbol{\Sigma}=(\boldsymbol{A}+\beta\boldsymbol{\Phi}^{T}\boldsymbol{\Phi})^{-1} m=βΣΦTtΣ=(A+βΦTΦ)−1
其中, Φ \boldsymbol{\Phi} Φ 是 N × M N\times M N×M 的设计矩阵,元素为 Φ n i = ϕ i ( x n ) \Phi_{ni}=\phi_i(\boldsymbol{x}_n) Φni=ϕi(xn)( i = 1 , … , N i=1,\dots,N i=1,…,N ), 且 A = diag ( α i ) \boldsymbol{A}= \text{diag}(\alpha_i) A=diag(αi) 。
α \boldsymbol{\alpha} α 和 β \beta β 的值可以使⽤第⼆类最⼤似然法(也被称为证据近似)来确定。这种⽅法中,最⼤化边缘似然函数,边缘似然函数通过对权向量积分的⽅式得到,即
p ( t ∣ X , α , β ) = ∫ p ( t ∣ X , w , β ) p ( w ∣ α ) d w (7.32) p(\mathbf{t}|\boldsymbol{X},\boldsymbol{\alpha},\beta)=\int p(\mathbf{t}|\boldsymbol{X},\boldsymbol{w},\beta)p(\boldsymbol{w}|\boldsymbol{\alpha})\mathrm{d}\boldsymbol{w}\tag{7.32} p(t∣X,α,β)=∫p(t∣X,w,β)p(w∣α)dw(7.32)
由于这表⽰两个⾼斯分布的卷积,因此可以计算求得对数边缘似然函数,形式为
ln p ( t ∣ X , α , β ) = ln N ( t ∣ 0 , C ) = − 1 2 { N ln ( 2 π ) + ln ∣ C ∣ + t T C − 1 t } (7.33) \begin{aligned}\ln p(\mathbf{t}|\boldsymbol{X},\boldsymbol{\alpha},\beta)&=\ln \mathcal{N}(\mathbf{t}|\boldsymbol{0},\boldsymbol{C})\\&=-\frac{1}{2}\{N\ln(2\pi)+\ln|\boldsymbol{C}|+\mathbf{t}^{T}\boldsymbol{C}^{-1}\mathbf{t}\}\end{aligned}\tag{7.33} lnp(t∣X,α,β)=lnN(t∣0,C)=−21{ Nln(2π)+ln∣C∣+tTC−1t}(7.33)
其中 t = ( t 1 , … , t N ) T \mathbf{t}= (t_1,\dots,t_N)^{T} t=(t1,…,tN)T,并且定义了 N × N N \times N N×N 的矩阵 C \boldsymbol{C} C ,形式为
C = β − 1 I + Φ A − 1 Φ T \boldsymbol{C}=\beta^{-1}\boldsymbol{I}+\boldsymbol{\Phi}\boldsymbol{A}^{-1}\boldsymbol{\Phi}^{T} C=β−1I+ΦA−1ΦT
现在的⽬标是关于超参数 α \boldsymbol{\alpha} α 和 β \beta β 最⼤化公式。
⽅法一,简单地令要求解的边缘似然函数的导数等于零,然后得到了下⾯的重估计⽅程
a i 新 = γ i m i 2 (7.34) a_{i}^{新}=\frac{\gamma_i}{m_i^2}\tag{7.34} ai新=mi2γi(7.34)
( β 新 ) − 1 = ∥ t − Φ m ∥ 2 N − ∑ i γ i (7.35) (\beta^{新})^{-1}=\frac{\|\mathbf{t}-\boldsymbol{\Phi}\boldsymbol{m}\|^{2}}{N-\sum_{i}\gamma_i}\tag{7.35} (β新)−1=N−∑iγi