基于麻雀算法优化的相关向量机RVM分类算法

本文探讨了使用麻雀算法优化相关向量机(RVM)的宽度因子和超参数,以提高分类性能。在训练集和测试集上,经过优化的SSA-RVM相比于原始RVM,取得了更高的准确率,分别为0.97和0.88235。实验基于250组11维数据,其中200组用于训练,50组用于测试,结果显示SSA-RVM在训练和测试集上的表现更优。
摘要由CSDN通过智能技术生成

基于麻雀算法优化的相关向量机RVM分类算法


摘要:本文主要介绍相关向量机RVM的基本原理,以及利用麻雀算法改进RVM在分类问题中的应用。

1.RVM原理

RVM算法是一种基于贝叶斯框架的机器学习模型 ,通过最大化边际似然得到相关向量和权重。

{ x } u = 1 N \{x\}_{u=1}^N {x}u=1N​和 { t } u = 1 N \{t\}_{u=1}^N {t}u=1N​分别是输入向量和输出向量,目标 t t t​可采用如式(1)所示的回归模型获得:
t = y ( x ) + ξ n (1) t =y(x)+\xi_n \tag{1} t=y(x)+ξn(1)
式中: ξ n \xi_n ξn为零均值、方差 σ 2 σ^2 σ2的噪声, y ( x ) y(x) y(x) 定义为:
y ( x ) = ∑ u = 1 N w u K ( x , x u ) + w 0 (2) y(x)=\sum_{u=1}^Nw_uK(x,x_u)+w_0 \tag{2} y(x)=u=1NwuK(x,xu)+w0(2)
式中: K ( x , x u ) K(x,x_u) K(x,xu) 是核函数, w u w_u wu 是权重向量, w 0 w_0 w0是偏差。设 t t t​是独立的,其概率定义为:
p ( t ∣ w , σ 2 ) = ( 2 π σ 2 ) − N / 2 e x p ( − ∣ ∣ t − w φ ∣ ∣ 2 2 σ 2 ) (3) p(t|w,\sigma^2)=(2\pi\sigma^2)^{-N/2}exp(-\frac{||t-w\varphi||^2}{2\sigma^2})\tag{3} p(tw,σ2)=(2πσ2)N/2exp(2σ2twφ2)(3)
式中: t = ( t 1 , t 2 , . . . , t N ) T , w = ( w 0 , w 1 , . . . , w n ) T t=(t_1,t_2,...,t_N)^T,w=(w_0,w_1,...,w_n)^T t=(t1,t2,...,tN)T,w=(w0,w1,...,wn)T, φ \varphi φ N ( N + 1 ) N(N+1) N(N+1)​的矩阵。

式(3)中的 w w w σ σ σ最大似然估计会导致过拟合,为约束参数,定义一个零均值高斯先验概率分布:
p ( w ∣ α ) = ∏ u = 0 N N ( w u ∣ 0 , α u − 1 ) (4) p(w|\alpha)=\prod_{u=0}^NN(w_u|0,\alpha_u^{-1})\tag{4} p(wα)=u=0NN(wu0,αu1)(4)
式中: α α α N + 1 N +1 N+1 维的超参数向量。

依据贝叶斯公式,未知参数的后验概率为:
p ( w , α , σ 2 ∣ t ) = p ( w ∣ α , σ 2 , t ) p ( α , σ 2 ∣ t ) (5) p(w,\alpha,\sigma^2|t)=p(w|\alpha,\sigma^2,t)p(\alpha,\sigma^2|t)\tag{5} p(w,α,σ2t)=p(wα,σ2,t)p(α,σ2t)(5)
后验分布的权重被描述为:
p ( w ∣ t , α , σ 2 ) = ( 2 π ) − ( N + 1 ) / 2 ∣ Σ ∣ − 1 / N e x p ( − 1 2 ( w − u ) T Σ − 1 ( w − u ) ) (6) p(w|t,\alpha,\sigma^2)=(2\pi)^{-(N+1)/2}|\Sigma|^{-1/N}exp(-\frac{1}{2}(w-u)^T\Sigma ^{-1}(w-u))\tag{6} p(wt,α,σ2)=(2π)(N+1)/2Σ1/Nexp(21(wu)TΣ1(wu))(6)
式中:后验均值 u = σ − 2 Σ φ T t u=\sigma^{-2}\Sigma\varphi^Tt u=σ2ΣφTt,协方差 Σ = ( σ − 2 φ T φ + A ) − 1 \Sigma=(\sigma^{-2}\varphi^T\varphi+A)^{-1} Σ=(σ2φTφ+A)1, A = d i a g ( α 0 , α 1 , . . . , α N ) A=diag(\alpha_0,\alpha_1,...,\alpha_N) A=diag(α0,α1,...,αN)​。

为了实现统一的超参数,​做出如下定义:
p ( t ∣ α , σ 2 ) = ∫ p ( t ∣ w , σ 2 ) p ( w , α ) d w = ( 2 π ) − N / 2 ∣ σ 2 I + φ A − 1 φ T ∣ e x p ( − 1 2 t T ( σ 2 I + φ A − 1 φ T ) − 1 t ) (7) p(t|\alpha,\sigma^2)=\int p(t|w,\sigma^2)p(w,\alpha)dw =(2\pi)^{-N/2}|\sigma^2I+\varphi A^{-1}\varphi^T|exp(-\frac{1}{2}t^T(\sigma^2I + \varphi A^{-1}\varphi^T)^{-1}t)\tag{7} p(tα,σ2)=p(tw,σ2)p(w,α)dw=(2π)N/2σ2I+φA1φTexp(21tT(σ2I+φA1φT)1t)(7)
高斯径向基函数具有较强的非线性处理能力,被用作核函数,其定义如下:
K ( x , x u ) = e x p ( − ( x − x u ) 2 2 γ 2 ) (7) K(x,x_u)=exp(-\frac{(x-x_u)^2}{2\gamma^2})\tag{7} K(x,xu)=exp(2γ2(xxu)2)(7)
式中: γ γ γ 为宽度因子,对模型的精度有极大的影响,需要预先设定。

2.基于麻雀算法优化的相关向量机RVM

麻雀算法的基本原理请参考我的博客:https://blog.csdn.net/u011835903/article/details/108830958

本文利用麻雀算法优化RVM的宽度因子和超参数。适应度函数设计为训练集和验证集的错误率之和。错误率越低表明算法的预测性能越好。
f i t n e s s = T r a i n E r r o r R a t e + T e s t E r r o r R a t e (8) fitness = TrainErrorRate + TestErrorRate \tag{8} fitness=TrainErrorRate+TestErrorRate(8)

3.算法实验与结果

本文算法数据数量一共为250组数据,2个类别数据。其中前200组数据用训练,后50组数据用作测试数据。数据的输入维度为11维。

数据类别数据量
训练数据200
测试数据50

麻雀算法的参数设置如下:

%% 麻雀参数设置
pop=20; %种群数量
Max_iteration=20; %  设定最大迭代次数
dim = 2;% 维度为2,即优化一个超参数,以及核宽度
lb = [0.1,0.1];%下边界
ub = [1,10];%上边界

得到的结果如下图所示:
请添加图片描述
请添加图片描述

请添加图片描述

RVM训练集准确率:0.955
RVM测试集准确率:0.84314
SSA-RVM训练集准确率:0.97
SSA-RVM测试集准确率:0.88235

从结果来看,SSA-RVM的结果无论是在训练集还是测试集上结果都更优。

4.参考文献:

[1] TIPPPING M E. Sparse Bayesian learning and the relevance vector machine[J]. The journal of machine learning research,2001,1: 211-244.

5.MATLAB代码

在这里插入图片描述

相关向量的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. 预测新数据。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值