【机器学习基础】相关向量机

本系列为《模式识别与机器学习》的读书笔记。

一,⽤于回归的 RVM

相关向量机relevance vector machine)或者 RVMTipping, 2001)是⼀个⽤于回归问题和分类问题的贝叶斯稀疏核⽅法,它具有许多 SVM 的特征,同时避免了 SVM 的主要的局限性。此外,通常会产⽣更加稀疏的模型,从⽽使得在测试集上的速度更快,同时保留了可⽐的泛化误差。

给定⼀个输⼊向量 x\boldsymbol{x} 的情况下, 实值⽬标变量t的条件概率分布,形式为

p(tx,w,β)=N(ty(x),β1)(7.27) p(t|\boldsymbol{x},\boldsymbol{w},\beta) = \mathcal{N}(t|y(\boldsymbol{x}),\beta^{-1})\tag{7.27}

其中 β=σ2\beta=\sigma^{-2} 是噪声精度(噪声⽅差的倒数),均值是由⼀个线性模型给出,形式为

y(x)=i=1Mwiϕi(x)=wTϕ(x) y(\boldsymbol{x})=\sum_{i=1}^{M}w_i\phi_i(\boldsymbol{x})=\boldsymbol{w}^{T}\boldsymbol{\phi}(\boldsymbol{x})

模型带有固定⾮线性基函数 ϕi(x)\phi_i(\boldsymbol{x}) ,通常包含⼀个常数项,使得对应的权参数表⽰⼀个“偏置”。

基函数由核给出,训练集的每个数据点关联着⼀个核。⼀般的表达式可以写成与 SVM 相类似的形式

y(x)=n=1Nwnk(x,xn)+b(7.28) y(\boldsymbol{x})=\sum_{n=1}^{N}w_nk(\boldsymbol{x},\boldsymbol{x}_n)+b\tag{7.28}

其中 bb 是⼀个偏置参数。在⽬前的问题中, 参数的数量为 M=N+1M=N+1y(x)y(\boldsymbol{x})SVM 的预测模型具有相同的形式,唯⼀的差别是系数 ana_n 在这⾥被记作 wnw_n

假设有输⼊向量 x\boldsymbol{x}NN 次观测,将这些观测聚集在⼀起,记作数据矩阵 X\boldsymbol{X} ,它的第 nn ⾏是 xnT\boldsymbol{x}_n^{T} ,其中 n=1,,Nn=1,\dots,N 。对应的⽬标值为 t=(t1,,tN)T\mathbf{t}=(t_1,\dots,t_N)^T 。因此,似然函数为

p(tX,w,β)=n=1Np(tnxn,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(wα)=i=1NN(wi0,αi1)(7.30) p(\boldsymbol{w}|\boldsymbol{\alpha})=\prod_{i=1}^{N}\mathcal{N}(w_i|0,\alpha_{i}^{-1})\tag{7.30}

其中 αi\alpha_i 表⽰对应参数 wiw_i 的精度,α\boldsymbol{\alpha} 表⽰ (α1,,αM)T(\alpha_1,\dots,\alpha_M)^T

权值的后验概率分布为

p(wt,X,α,β)=N(wm,Σ)(7.31) p(\boldsymbol{w}|\mathbf{t},\boldsymbol{X},\boldsymbol{\alpha},\beta)=\mathcal{N}(\boldsymbol{w}|\boldsymbol{m},\boldsymbol{\Sigma})\tag{7.31}

其中,均值和⽅差为

m=βΣΦTtΣ=(A+βΦTΦ)1 \boldsymbol{m}=\beta\boldsymbol{\Sigma}\boldsymbol{\Phi}^{T}\mathbf{t}\\ \boldsymbol{\Sigma}=(\boldsymbol{A}+\beta\boldsymbol{\Phi}^{T}\boldsymbol{\Phi})^{-1}

其中,Φ\boldsymbol{\Phi}N×MN\times M 的设计矩阵,元素为 Φni=ϕi(xn)\Phi_{ni}=\phi_i(\boldsymbol{x}_n)i=1,,Ni=1,\dots,N ), 且 A=diag(αi)\boldsymbol{A}= \text{diag}(\alpha_i)

α\boldsymbol{\alpha}β\beta 的值可以使⽤第⼆类最⼤似然法(也被称为证据近似)来确定。这种⽅法中,最⼤化边缘似然函数,边缘似然函数通过对权向量积分的⽅式得到,即
p(tX,α,β)=p(tX,w,β)p(wα)dw(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}

由于这表⽰两个⾼斯分布的卷积,因此可以计算求得对数边缘似然函数,形式为

lnp(tX,α,β)=lnN(t0,C)=12{Nln(2π)+lnC+tTC1t}(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}

其中 t=(t1,,tN)T\mathbf{t}= (t_1,\dots,t_N)^{T},并且定义了 N×NN \times N 的矩阵 C\boldsymbol{C} ,形式为

C=β1I+ΦA1ΦT \boldsymbol{C}=\beta^{-1}\boldsymbol{I}+\boldsymbol{\Phi}\boldsymbol{A}^{-1}\boldsymbol{\Phi}^{T}

现在的⽬标是关于超参数 α\boldsymbol{\alpha}β\beta 最⼤化公式。

⽅法一,简单地令要求解的边缘似然函数的导数等于零,然后得到了下⾯的重估计⽅程
ai=γimi2(7.34) a_{i}^{新}=\frac{\gamma_i}{m_i^2}\tag{7.34}

(β)1=tΦm2Niγi(7.35) (\beta^{新})^{-1}=\frac{\|\mathbf{t}-\boldsymbol{\Phi}\boldsymbol{m}\|^{2}}{N-\sum_{i}\gamma_i}\tag{7.35}

其中 mim_i 是公式(7.31)定义的后验均值 m\boldsymbol{m} 的第 ii 个分量。γi\gamma_i 度量了对应的参数 wiw_i 由数据确定的效果,定义为

γi=1αiΣii \gamma_{i}=1-\alpha_i\Sigma_{ii}

其中 Σii\Sigma_{ii} 是公式(7.31)给出的后验协⽅差 Σ\boldsymbol{\Sigma} 的第 ii 个对角元素。
因此,学习过程按照下⾯的步骤进⾏:选择 α\boldsymbol{\alpha}β\beta 的初始值,分别使⽤公式(7.31)计算后验概率的均值和协⽅差,然后交替地重新估计超参数、重新估计后验均值和协⽅差,直到满⾜⼀个合适的收敛准则。

⽅法二,使⽤ EM算法,这两种寻找最⼤化证据的超参数值的⽅法在形式上是等价的。

在公式(7.28)给出的模型中,对应于剩下的⾮零权值的输⼊ xn\boldsymbol{x}_n 被称为相关向量relevance vector),因为它们是通过⾃动相关性检测的⽅法得到的,类似于 SVM 中的⽀持向量。通过⾃动相关性检测得到概率模型的稀疏性的⽅法是⼀种相当通⽤的⽅法,可以应⽤于任何表⽰成基函数的可调节线性组合形式的模型。

对于⼀个新的输⼊ x\boldsymbol{x} ,可以计算 tt 上的预测分布为
p(tx,X,t,α,β)=p(tx,w,β)p(wX,t,α,β)dw=N(tmTΦ(x),σ2(x))(7.36) \begin{aligned}p(t|\boldsymbol{x},\boldsymbol{X},\mathbf{t},\boldsymbol{\alpha}^{*},\beta^{*})&=\int p(t|\boldsymbol{x},\boldsymbol{w},\beta^{*})p(\boldsymbol{w}|\boldsymbol{X},\mathbf{t},\boldsymbol{\alpha}^{*},\beta^{*})\mathrm{d}\boldsymbol{w}\\&=\mathcal{N}(t|\boldsymbol{m}^{T}\boldsymbol{\Phi}(\boldsymbol{x}),\sigma^{2}(\boldsymbol{x}))\end{aligned}\tag{7.36}

因此预测均值由公式(7.27)给出,其中 w\boldsymbol{w} 被设置为后验均值 m\boldsymbol{m} ,预测分布的⽅差为

σ2(x)=(β)1+ϕ(x)TΣϕ(x)(7.37) \sigma^{2}(\boldsymbol{x})=(\beta^{*})^{-1}+\boldsymbol{\phi}(\boldsymbol{x})^{T}\boldsymbol{\Sigma}\boldsymbol{\phi}(\boldsymbol{x})\tag{7.37}

RVM 相⽐, SVM 的⼀个主要缺点是训练过程涉及到优化⼀个⾮凸的函数,并且与⼀个效果相似的 SVM 相⽐,训练时间要更长。对于有 MM 个基函数的模型,RVM 需要对⼀个 M×MM \times M 的矩阵求逆,这通常需要 O(M3)O(M^3) 次操作。在类似 SVM 的模型(7.28)这⼀具体情形下,有 M=N+1M = N + 1 。 存在训练 SVM 的⾼效⽅法,其计算代价⼤致是 NN 的⼆次函数。在 RVM 的情况下,总可以在开始时将基函数的数量设置为⼩于 N+1N+1 。在相关向量机中,控制模型复杂度的参数以及噪声⽅差⾃动由⼀次训练过程确定,⽽在⽀持向量机中,参数 CCϵ\epsilon(或者 ν\nu )通常使⽤交叉验证的⽅法确定,这涉及到多次训练过程。

如图7.10,使用与图7.9相同的数据集和相同的⾼斯核进⾏ RVM 回归的说明。 RVM 预测分布的均值⽤红⾊曲线表⽰,预测分布的⼀个标准差的位置⽤阴影区域表⽰。此外,数据点⽤绿⾊表⽰,相关向量⽤蓝⾊圆圈标记。
【机器学习基础】相关向量机

二,稀疏性分析

考虑⼀个数据集,这个数据集由 N=2N = 2 个观测 t1t_1t2t_2 组成。有⼀个模型,它有⼀个基函数 ϕ(x)\phi(\boldsymbol{x}) ,超参数为 α\alpha ,以及⼀个各向同性的噪声,精度为 β\beta 。边缘似然函数为 p(tα,β)=N(t0,C)p(\mathbf{t}|\alpha,\beta)=\mathcal{N}(\mathbf{t}|\boldsymbol{0},\boldsymbol{C}) ,其中协⽅差矩阵的形式为

C=1βI+1αφφT(7.38) \boldsymbol{C}=\frac{1}{\beta}\boldsymbol{I}+\frac{1}{\alpha}\boldsymbol{\varphi}\boldsymbol{\varphi}^{T}\tag{7.38}

其中 φ\boldsymbol{\varphi} 表⽰ NN 维向量 (ϕ(x1),ϕ(x2))T(\phi(\boldsymbol{x}_1),\phi(\boldsymbol{x}_2))^{T}t=(t1,t2)T\mathbf{t}=(t_1,t_2)^{T}

如图7.11~7.12,贝叶斯线性回归模型的稀疏性的原理说明。图中给出了⽬标值的⼀组训练向量,形式为 t=(t1,t2)T\mathbf{t}=(t_1,t_2)^{T} ,⽤叉号表⽰,模型有⼀个基向量 φ=(ϕ(x1),ϕ(x2))T\boldsymbol{\varphi}=(\phi(\boldsymbol{x}_1),\phi(\boldsymbol{x}_2))^{T} ,它与⽬标数据向量 t\mathbf{t} 的对齐效果很差。图7.11中,我们看到⼀个只有各向同性的噪声的模型,因此 C=β1I\boldsymbol{C}=\beta^{−1}\boldsymbol{I} ,对应于 α=\alpha = \inftyβ\beta 被设置为概率最⾼的值。图7.12中,我们看到了同样的模型,但是 α\alpha 的值变成了有限值。在两种情况下,红⾊椭圆都对应于单位马⽒距离,C|\boldsymbol{C}| 对于两幅图的取值相同,⽽绿⾊虚线圆表⽰由项 β1\beta^{−1} 产⽣的噪声的贡献。我们看到 α\alpha 的任意有限值减⼩了观测数据的概率,因此对于概率最⾼的解,基向量被移除。
【机器学习基础】相关向量机
【机器学习基础】相关向量机
对于涉及到 MM 个基函数的⼀般情形, 考察稀疏性的原理。
⾸先写出由公式(7.33)定义的矩阵 C\boldsymbol{C} 中来⾃ αi\alpha_i 的贡献,即
C=β1I+jiαj1φjφjT+αi1φiφiT=Ci+αi1φiφiT(7.39) \begin{aligned}\boldsymbol{C}&=\beta^{-1}\boldsymbol{I}+\sum_{j\ne{i}}\alpha_j^{-1}\boldsymbol{\varphi}_j\boldsymbol{\varphi}_j^T+\alpha_i^{-1}\boldsymbol{\varphi}_i\boldsymbol{\varphi}_i^T\\&=\boldsymbol{C}_{-i}+\alpha_i^{-1}\boldsymbol{\varphi}_i\boldsymbol{\varphi}_i^{T}\end{aligned}\tag{7.39}

其中 φi\boldsymbol{\varphi}_i 表⽰矩阵 Φ\boldsymbol{\Phi} 的第 ii 列,即 NN 维向量,元素为 (ϕi(x1),,ϕi(xN))(\phi_i(\boldsymbol{x}_1),\dots,\phi_i(\boldsymbol{x}_N)) 。这与 ϕn\boldsymbol{\phi}_n 不同,它表⽰的是 Φ\boldsymbol{\Phi} 的第 nn ⾏。 矩阵 Ci\boldsymbol{C}_{−i} 表⽰将基函数 ii 的贡献删除之后的矩阵 C\boldsymbol{C} 。矩阵 C\boldsymbol{C} 的⾏列式和逆矩阵可以写成

C=Ci(1+ai1φiTCi1φi)(7.40) |\boldsymbol{C}|=|\boldsymbol{C}_{-i}|(1+a_i^{-1}\boldsymbol{\varphi}_i^T\boldsymbol{C}_{-i}^{-1}\boldsymbol{\varphi}_i)\tag{7.40}

C1=Ci1Ci1φiφiTCi1αi+φiTCi1φi(7.41) \boldsymbol{C}^{-1}=\boldsymbol{C}_{-i}^{-1}-\frac{\boldsymbol{C}_{-i}^{-1}\boldsymbol{\varphi}_i\boldsymbol{\varphi}_i^T\boldsymbol{C}_{-i}^{-1}}{\alpha_i+\boldsymbol{\varphi_i}^{T}\boldsymbol{C}_{-i}^{-1}\boldsymbol{\varphi}_i}\tag{7.41}

对数边缘似然函数为

L(α)=L(αi)+λ(αi)(7.42) L(\boldsymbol{\alpha})=L(\boldsymbol{\alpha}_{-i})+\lambda(\alpha_i)\tag{7.42}

其中 L(αi)L(\boldsymbol{\alpha}_{-i}) 是省略了基函数 φi\boldsymbol{\varphi}_i 的对数边缘似然函数,λ(αi)\lambda(\alpha_i) 被定义为

λ(αi)=12[lnαiln(αi+si)+qi2αi+si] \lambda(\alpha_i)=\frac{1}{2}\left[\ln\alpha_i-\ln(\alpha_i+s_i)+\frac{q_i^2}{\alpha_i+s_i}\right]

包含了所有依赖于 αi\alpha_i 的项。引⼊两个量

si=φiTCi1φiqi=φiTCi1t s_i=\boldsymbol{\varphi}_i^T\boldsymbol{C}_{-i}^{-1}\boldsymbol{\varphi}_i\\ q_i=\boldsymbol{\varphi}_i^T\boldsymbol{C}_{-i}^{-1}\mathbf{t}

sis_i 被称为稀疏度sparsity),qiq_i 被称为的 φi\boldsymbol{\varphi}_i 质量quality),并且 sis_i 的值相对于 qiq_i 的值较⼤意味着基函数 φi\boldsymbol{\varphi}_i 更可能被模型剪枝掉。“稀疏度”度量了基函数 φi\boldsymbol{\varphi}_i 与 模型中其他基函数重叠的程度,“质量”度量了基向量 φi\boldsymbol{\varphi}_i 与误差向量之间的对齐程度,其中误差向量是训练值 t=(t1,,tN)T\mathbf{t}=(t_1,\dots,t_N)^T 与会导致 φi\boldsymbol{\varphi}_i 从模型中被删除掉的预测向量 yi\mathbf{y}_{-i} 之间的差值(Tipping and Faul, 2003)。

在边缘似然函数关于 αi\alpha_i 的驻点处,导数

dλ(αi)dαi=αi1si2(qi2si)2(αi+si)2(7.43) \frac{\mathrm{d}\lambda(\alpha_i)}{\mathrm{d}\alpha_i}=\frac{\alpha_i^{-1}s_i^2-(q_i^2-s_i)}{2(\alpha_i+s_i)^{2}}\tag{7.43}

等于零。有两种可能形式的解,αi0\alpha_i\ge 0 ,如果 qi2<siq_i^2 < s_i ,那么 αi\alpha_i\to\infty 提供了⼀个解。相反,如果 qi2>siq_i^2 > s_i ,可以解出 αi\alpha_i ,得

αi=si2qi2si(7.44) \alpha_i=\frac{s_i^2}{q_i^2-s_i}\tag{7.44}

如图7.13~7.14,对数边缘似然 λ(αi)\lambda(\alpha_i)lnαi\ln\alpha_i 的图像。图7.13中,单⼀的最⼤值出现在有限的 αi\alpha_i 处,此时 qi2=4q_i^2=4si=1s_i=1(从⽽ qi2>siq_i^2 > s_i )。图7.14中,最⼤值位于 αi=\alpha_i=\infty 的位置,此时 qi2=1q_i^2=1si=2s_i=2(从⽽ qi2<siq_i^2 < s_i )。
【机器学习基础】相关向量机
【机器学习基础】相关向量机
最终的顺序稀疏贝叶斯学习算法描述:

1)如果求解回归问题,初始化 β\beta

2)使⽤⼀个基函数 φ1\boldsymbol{\varphi}_1 进⾏初始化,⽤公式(7.44)确定超参数 α1\alpha_1 ,其余的 j1j \ne 1 的超参数 αj\alpha_j 被初始化为⽆穷⼤,从⽽只有 φ1\boldsymbol{\varphi}_1 被包含在模型中。

3)对于所有基函数,计算 Σ\boldsymbol{\Sigma}m\boldsymbol{m} ,以及 qiq_isis_i
4)选择⼀个候选的基函数 φi\boldsymbol{\varphi}_i

5.1)如果 qi>siq_i>s_iαi<\alpha_i<\infty ,从⽽基向量 φi\boldsymbol{\varphi}_i 已经被包含在了模型中,那么使⽤公式(7.44)更新 αi\alpha_i

5.2)如果 qi>siq_i>s_iαi=\alpha_i=\infty ,那么将 φi\boldsymbol{\varphi}_i 添加到模型中,使⽤公式(7.44)计算 αi\alpha_i

5.3) 如果 qisiq_i\le s_iαi<\alpha_i<\infty ,那么从模型中删除基函数 φi\boldsymbol{\varphi}_i ,令 αi=\alpha_i=\infty

6)如果求解回归问题,更新 β\beta

7)如果收敛,则算法终⽌,否则回到第3)步。

在实际应⽤中,

Si=φiTC1φiQi=φiTC1t S_i=\boldsymbol{\varphi}_i^T\boldsymbol{C}^{-1}\boldsymbol{\varphi}_i\\ Q_i=\boldsymbol{\varphi}_i^T\boldsymbol{C}^{-1}\mathbf{t}

质量和稀疏性变量可以表⽰为

qi=αiQiaiSisi=αiSiaiSi(7.45) q_i=\frac{\alpha_iQ_i}{a_i-S_i}\\ s_i=\frac{\alpha_iS_i}{a_i-S_i}\tag{7.45}

αi=\alpha_i=\infty 时,有 qi=Qiq_i=Q_i 以及 si=Sis_i=S_i ,有

Qi=βφiTtβ2φiTΦΣΦTtSi=βφiTφiβ2φiTΦΣΦTφi(7.46) Q_i=\beta\boldsymbol{\varphi}_i^{T}\mathbf{t}-\beta^{2}\boldsymbol{\varphi}_i^{T}\boldsymbol{\Phi}\boldsymbol{\Sigma}\boldsymbol{\Phi}^{T}\mathbf{t}\\ S_i=\beta\boldsymbol{\varphi}_i^{T}\boldsymbol{\varphi}_i-\beta^{2}\boldsymbol{\varphi}_i^{T}\boldsymbol{\Phi}\boldsymbol{\Sigma}\boldsymbol{\Phi}^{T}\boldsymbol{\varphi}_i\tag{7.46}

其中 Φ\boldsymbol{\Phi}Σ\boldsymbol{\Sigma} 只涉及到对应于有限的超参数 αi\alpha_i 的基向量。在每个阶段,需要的计算量为 O(M3)O(M^3) ,其中 MM 是模型中**的基向量的数量,通常⽐训练模式的数量 NN 要⼩得多。

三,RVM ⽤于分类

考虑⼆分类问题,⽬标变量是⼆值变量 t{0,1}t\in\{0,1\} 。这个模型现在的形式为基函数的线性组合经过 logistic sigmoid函数的变换,即

y(x,w)=σ(wTϕ(x))(7.47) y(\boldsymbol{x},\boldsymbol{w})=\sigma(\boldsymbol{w}^{T}\boldsymbol{\phi}(\boldsymbol{x}))\tag{7.47}

RVM 中, 模型使⽤的是 ARD先验 (7.30),其中每个权值参数有⼀个独⽴的精度超参数。

⾸先,初始化超参数向量 α\boldsymbol{\alpha} 。对于这个给定的 α\boldsymbol{\alpha} 值,对其后验概率建⽴⼀个⾼斯近似,从⽽得到了对边缘似然的⼀个近似。这个近似后的边缘似然函数的最⼤化就引出了对 α\boldsymbol{\alpha} 值的重新估计,并且这个过程不断重复,直到收敛。

对于固定的 α\boldsymbol{\alpha} 值,w\boldsymbol{w} 的后验概率分布的众数可以通过最⼤化下式得到

lnp(wt,α)=ln{p(tw)p(wα)}lnp(tα)=n=1N{tnlnyn+(1tn)ln(1yn)}12wTAw+(7.48) \begin{aligned}\ln p(\boldsymbol{w}|\mathbf{t},\boldsymbol{\alpha})&=\ln\{p(\mathbf{t}|\boldsymbol{w})p(\boldsymbol{w}|\boldsymbol{\alpha})\}-\ln p(\mathbf{t}|\boldsymbol{\alpha})\\&=\sum_{n=1}^{N}\{t_n\ln{y_n}+(1-t_n)\ln(1-y_n)\}-\frac{1}{2}\boldsymbol{w}^{T}\boldsymbol{A}\boldsymbol{w}+常数\end{aligned}\tag{7.48}

其中 A=diag(αi)\boldsymbol{A}=\text{diag}(\alpha_i) 。最⼤化可以使⽤迭代重加权最⼩平⽅(IRLS)⽅法完成。对于这个算法,需要求出对数后验概率分布的梯度向量和Hessian矩阵,分别为

lnp(wt,α)=ΦT(ty)Aw(7.49) \nabla\ln{p(\boldsymbol{w}|\mathbf{t},\boldsymbol{\alpha})}=\boldsymbol{\Phi}^{T}(\mathbf{t}-\mathbf{y})-\boldsymbol{A}\boldsymbol{w}\tag{7.49}

lnp(wt,α)=(ΦTBΦ+A)(7.50) \nabla\nabla\ln{p(\boldsymbol{w}|\mathbf{t},\boldsymbol{\alpha})}=-(\boldsymbol{\Phi}^{T}\boldsymbol{B}\boldsymbol{\Phi}+\boldsymbol{A})\tag{7.50}

其中 B\boldsymbol{B} 是⼀个 N×NN \times N 的对角矩阵,元素为 bn=yn(1yn)b_n=y_n (1−y_n) 。向量 y=(y1,,yN)T\mathbf{y}=(y_1,\dots,y_N)^T ,矩阵 Φ\boldsymbol{\Phi} 是设计矩阵,元素为 Φni=ϕi(xn)\Phi_{ni} = \phi_i(\boldsymbol{x}_n) 。在IRLS算法收敛的位置,负Hessian矩阵表⽰后验概率分布的⾼斯近似的协⽅差矩阵的逆矩阵。后验概率的⾼斯近似的众数,对应于⾼斯近似的均值,得到的拉普拉斯近似的均值和⽅差的形式为

w=A1ΦT(ty)Σ=(ΦTBΦ+A)1 \boldsymbol{w}^{*}=\boldsymbol{A}^{-1}\boldsymbol{\Phi}^{T}(\mathbf{t}-\mathbf{y})\\ \boldsymbol{\Sigma}=(\boldsymbol{\Phi}^{T}\boldsymbol{B}\boldsymbol{\Phi}+\boldsymbol{A})^{-1}

现在使⽤这个拉普拉斯近似来计算边缘似然函数,有

p(tα)=p(tw)p(wα)dwp(tw)p(wα)(2π)M2Σ12(7.51) \begin{aligned}p(\mathbf{t}|\boldsymbol{\alpha})&=\int{p(\mathbf{t}|\boldsymbol{w})p(\boldsymbol{w}|\boldsymbol{\alpha})}\mathrm{d}\boldsymbol{w}\\&\simeq{p(\mathbf{t}|\boldsymbol{w}^{*})p(\boldsymbol{w}^{*}|\boldsymbol{\alpha})(2\pi)^{\frac{M}{2}}|\boldsymbol{\Sigma}|^{\frac{1}{2}}}\end{aligned}\tag{7.51}

令边缘似然函数关于 αi\alpha_i 的导数等于零,有

12(w)2+12αi12Σii=0 -\frac{1}{2}(w^{*})^{2}+\frac{1}{2\alpha_i}-\frac{1}{2}\Sigma_{ii}=0

定义 γi=1αiΣii\gamma_i=1−\alpha_i\Sigma_{ii} ,整理,可得

ai=γi(wi)2(7.52) a_{i}^{新}=\frac{\gamma_i}{(w_i^{*})^2}\tag{7.52}

如果定义

t^=Φw+B1(ty)(7.53) \hat{\mathbf{t}}=\boldsymbol{\Phi}\boldsymbol{w^{*}}+\boldsymbol{B}^{-1}(\mathbf{t}-\boldsymbol{y})\tag{7.53}

那么可以将近似对数边缘似然函数写成

lnp(tα)=12{Nln(2π)+lnC+(t^)TC1t^}(7.54) \ln p(\mathbf{t}|\boldsymbol{\alpha})=-\frac{1}{2}\{N\ln(2\pi)+\ln|\boldsymbol{C}|+(\hat{\mathbf{t}})^{T}\boldsymbol{C}^{-1}\hat{\mathbf{t}}\}\tag{7.54}

其中

C=B+ΦAΦT \boldsymbol{C}=\boldsymbol{B}+\boldsymbol{\Phi}\boldsymbol{A}\boldsymbol{\Phi}^{T}

如图7.15~7.16,相关向量机应⽤于⼈⼯数据集的说明。图7.15给出了决策边界和数据点,相关向量⽤圆圈标记出。图7.16画出了由 RVM 给出的后验概率分布,其中红⾊(蓝⾊)所占的⽐重表⽰数据点属于红⾊(蓝⾊)类别的概率。
【机器学习基础】相关向量机
【机器学习基础】相关向量机
对于 K>2K > 2 个类别的情形,使⽤相关概率⽅法,有 KK 个线性模型,形式为

ak=wkTx(7.55) a_k=\boldsymbol{w}_k^T\boldsymbol{x}\tag{7.55}

模型使⽤softmax函数进⾏组合

yk(x)=exp(ak)jexp(aj)(7.56) y_k(\boldsymbol{x})=\frac{\exp(a_k)}{\sum_{j}\exp(a_j)}\tag{7.56}

对数似然函数为

lnp(Tw1,,wk)=n=1Nk=1Kynktnk(7.57) \ln{p(\boldsymbol{T}|\boldsymbol{w}_1,\dots,\boldsymbol{w}_k)}=\prod_{n=1}^{N}\prod_{k=1}^{K}y_{nk}^{t_{nk}}\tag{7.57}

其中,对于每个数据点 nntnkt_{nk} 的表⽰⽅式是“1-of-K”的形式,T\boldsymbol{T} 是⼀个矩阵,元素为 tnkt_{nk}

相关向量机的主要缺点是,与 SVM 相⽐,训练时间相对较长。但是,RVM 避免了通过交叉验证确定模型复杂度的过程,从⽽补偿了训练时间的劣势。