您的位置:首页 > 编程语言 > MATLAB

相关向量机的MATLAB代码

2015-08-07 11:10 288 查看


相关向量机的MATLAB代码,经过验证是正确的,很实用

推荐相关向量机(Relevance vector machine,简称RVM)是Tipping在2001年在贝叶斯框架的基础上提出的,它有着与支持向量机(Support vector machine,简称SVM)一样的函数形式,与SVM一样基于核函数映射将低维空间非线性问题转化为高维空间的线性问题。

RVM原理步骤

RVM通过最大化后验概率(MAP)求解相关向量的权重。对于给定的训练样本集{tn,xn},类似于SVM , RVM 的模型输出定义为

y(x;w)=∑Ni=1wiK(X,Xi)+w0

其 中wi为权重, K(X,Xi)为核函。因此对于, tn=y(xn,w)+εn,假设噪声εn 服从均值为0 , 方差为σ2 的高斯分布,则p ( tn | ω,σ2 ) = N ( y ( xi ,ωi ) ,σ2 ) ,设tn 独立同分布,则整个训练样本的似然函数可以表示出来。对w 与σ2的求解如果直接使用最大似然法,结果通常使w 中的元素大部分都不是0,从而导致过学习。在RVM 中我们想要避免这个现像,因此我们为w 加上先决条件:它们的机率分布是落在0 周围的正态分布: p(wi|αi) = N(wi|0,
α?1i ),于是对w的求解转化为对α的求解,当α趋于无穷大的时候,w趋于0.

RVM的步骤可以归结为下面几步:

1. 选择适当的核函数,将特征向量映射到高维空间。虽然理论上讲RVM可以使用任意的核函数,但是在很多应用问题中,大部分人还是选择了常用的几种核函 数,RBF核函数,Laplace核函数,多项式核函数等。尤其以高斯核函数应用最为广泛。可能于高斯和核函数的非线性有关。选择高斯核函数最重要的是带 宽参数的选择,带宽过小,则导致过学习,带宽过大,又导致过平滑,都会引起分类或回归能力的下降

2. 初始化α,σ2。在RVM中α,σ2是通过迭代求解的,所以需要初始化。初始化对结果影响不大。

3. 迭代求解最优的权重分布。

4. 预测新数据。
点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: