机器学习系列3---相关向量机(RVM)

       本期介绍一种重要的稀疏表示方法:相关向量机(Relevance Vector Machine, RVM)。RVM是有著名学者Michael E. Tipping于2001年提出的,相关论文发表在著名国际期刊《Journal of machine learning research》(该期刊的影响力大不如以前了),论文题目为:Sparse Bayesian Learning and the Relevance Vector Machine,主要介绍了传统分类算法支持向量机(SVM)的应用限制,然后基于贝叶斯框架提出基于稀疏表示的特征变量分析方法,即相关向量机,最后根据数据分析对比说明相关向量机的有效性。

一、支持向量机的局限性

      支持向量机是经典的机器学习算法,自提出至今备受大家关注,至今仍是相关领域的研究热点,关于支持向量机的介绍请看这位博主的作品:https://blog.csdn.net/lyxleft/article/details/82880860(至今看到很不错的博文)。但是SVM在实际应用中存在以下缺点:

1. SVM支持向量个数随训练集样本个数增大呈线性增长,导致在进行核函数计算之前需要某种处理减少计算复杂度;

2. SVM无法计算输出结果的后验概率分布,导致无法判断计算结果的可靠性;

3. 需要交叉验证确定超参数,计算过程复杂;

4. SVM 不太适合用于多分类问题,虽然目前有针对多分类的Libsvm工具包,但是计算的主要思路还是2分类,通过集成多个分类器的计算结果实现多分类问题;

5. SVM的核函数必须满足Mercer条件,限制了SVM的应用范围。

二、相关向量机分析过程

       类似于SVM,假设模型为:

                                                                               \small t_n=\Phi (x_n)w_n+\varepsilon _n\; \; \;\; \; \; (1)        

 其中 \small \Phi (x_n)=K(\boldsymbol{\mathbf{x}},x_n) 表示核函数,假设噪声服从零均值、\small \sigma^2的高斯分布,则这个数据服从:

                                                    \small p(\mathbf{t}|\mathbf{w},\sigma^2)=(2\pi \sigma ^2)^{-N/2}exp{-\frac{1}{2\sigma ^2}\left \| \mathbf{t}-\Phi \mathbf{w} \right \|^2}\; \; \;\; \; \; (2)                                                                   

对于超参数 \small w 和 \small \beta =\sigma^{-2} 取先验分布:

                                                                         \small p(w|\alpha )=\prod_{i=0}^{N}N(w_i|0,\alpha _i^{-1}) \; \; \;\; \; \; (3)

                                                                          \small p(\alpha )=\prod _{i=0}^N Gamma(\alpha |a,b) \; \; \;\; \; \; (4)

                                                                               \small p(\beta )=Gamma(\beta |c,d)\; \; \;\; \; \; (5)

       根据分层概率分布,

                                                             \small p(\mathbf{w}|\mathbf{t},\mathbf{\alpha} ,\sigma ^2)=\frac{p(\mathbf{t}|\mathbf{w},\sigma ^2)p(\mathbf{w}|\mathbf{\alpha} )}{p(\mathbf{t}|\mathbf{\alpha} ,\sigma ^2)} =N(\mathbf{\mu} ,\mathbf{\Sigma} ) \; \; \;\; \; \; (6)

其中,

                                                                                   \small \mathbf{\Sigma} =(\sigma ^{-2}\mathbf{\Phi} ^T\mathbf{\Phi} +\mathbf{A})^{-1}\; \; \;\; \; \; (7)

                                                                                        \small \mathbf{\mu} =\sigma ^{-2}\mathbf{\Sigma} \mathbf{\Phi }^T\mathbf{t}\; \; \;\; \; \; (8)

对于新样本,对应的预测输出为:

                                                      \small p(t_*|\mathbf{t},\mathbf{\alpha} _MP,\sigma _{MP}^2)=\int p(t_*|\mathbf{w},\sigma _{MP}^2)p(\mathbf{w}\mathbf{t},\mathbf{\alpha} _MP,\sigma _{MP}^2)d\mathbf{w}\;\;\;\;\;\;\;\;\;(9)

对于超参数 \small \mathbf{\alpha } 和 \small \sigma ^2 的迭代计算方法为:

                                                                                          \small \alpha _i^{new}=\frac{r_i}{\mu _i^2}\;\;\;\;\;\;\;\;(10)

                                                                                         \small r_i=1-\alpha _{i}\Sigma _{ii}\;\;\;\;\;\;\;\;(11)

                                                                                \small (\sigma ^2)^{new}=\frac{\left \| \mathbf{t}-\mathbf{\Phi}\mathbf{ \mu } \right \|^2}{N-\Sigma _i\gamma _i}\;\;\;\;\;\;\;(12)

在上述迭代求解过程中,发现大部分的 \small \mathbf{\alpha }_i 为无限大,这意味着参数控制变量 \small p(w_i )=N(0,\alpha _i^{-1}) 服从零均值、零方差的高斯正态分布,则大部分 \small w 分布在 0 附近,即实现了变量的稀疏表示,对于不为零的变量,则称为“相关向量”。

MATLAB实现RVM请查看:https://blog.csdn.net/qq_35667901/article/details/105880699

写于2020.4.30

加油!

你可能感兴趣的:(稀疏贝叶斯,相关向量机,特征表示,机器学习,算法,稀疏编码)