基于相关向量机RVM的分类算法
基于相关向量机RVM的分类算法
文章目录
- 基于相关向量机RVM的分类算法
- 1.RVM原理
- 2.算法实验与结果
- 3.参考文献:
- 4.MATLAB代码
摘要:本文主要介绍相关向量机RVM的基本原理,以及在分类问题中的应用。
1.RVM原理
RVM算法是一种基于贝叶斯框架的机器学习模型 ,通过最大化边际似然得到相关向量和权重。
设{x}u=1N\{x\}_{u=1}^N{x}u=1N和{t}u=1N\{t\}_{u=1}^N{t}u=1N分别是输入向量和输出向量,目标ttt可采用如式(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=1NwuK(x,xu)+w0(2)y(x)=\sum_{u=1}^Nw_uK(x,x_u)+w_0 \tag{2} y(x)=u=1∑NwuK(x,xu)+w0(2)
式中: K(x,xu)K(x,x_u)K(x,xu) 是核函数,wuw_uwu 是权重向量,w0w_0w0是偏差。设ttt是独立的,其概率定义为:
p(t∣w,σ2)=(2πσ2)−N/2exp(−∣∣t−wφ∣∣22σ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(t∣w,σ2)=(2πσ2)−N/2exp(−2σ2∣∣t−wφ∣∣2)(3)
式中:t=(t1,t2,...,tN)T,w=(w0,w1,...,wn)Tt=(t_1,t_2,...,t_N)^T,w=(w_0,w_1,...,w_n)^Tt=(t1,t2,...,tN)T,w=(w0,w1,...,wn)T,φ\varphiφ是N(N+1)N(N+1)N(N+1)的矩阵。
式(3)中的 www 和 σσσ最大似然估计会导致过拟合,为约束参数,定义一个零均值高斯先验概率分布:
p(w∣α)=∏u=0NN(wu∣0,αu−1)(4)p(w|\alpha)=\prod_{u=0}^NN(w_u|0,\alpha_u^{-1})\tag{4} p(w∣α)=u=0∏NN(wu∣0,αu−1)(4)
式中: ααα 是 N+1N +1N+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,α,σ2∣t)=p(w∣α,σ2,t)p(α,σ2∣t)(5)
后验分布的权重被描述为:
p(w∣t,α,σ2)=(2π)−(N+1)/2∣Σ∣−1/Nexp(−12(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(w∣t,α,σ2)=(2π)−(N+1)/2∣Σ∣−1/Nexp(−21(w−u)TΣ−1(w−u))(6)
式中:后验均值u=σ−2ΣφTtu=\sigma^{-2}\Sigma\varphi^Ttu=σ−2ΣφTt,协方差Σ=(σ−2φTφ+A)−1\Sigma=(\sigma^{-2}\varphi^T\varphi+A)^{-1}Σ=(σ−2φTφ+A)−1,A=diag(α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,α)dw=(2π)−N/2∣σ2I+φA−1φT∣exp(−12tT(σ2I+φA−1φT)−1t)(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(t∣w,σ2)p(w,α)dw=(2π)−N/2∣σ2I+φA−1φT∣exp(−21tT(σ2I+φA−1φT)−1t)(7)
高斯径向基函数具有较强的非线性处理能力,被用作核函数,其定义如下:
K(x,xu)=exp(−(x−xu)22γ2)(7)K(x,x_u)=exp(-\frac{(x-x_u)^2}{2\gamma^2})\tag{7} K(x,xu)=exp(−2γ2(x−xu)2)(7)
式中: γγγ 为宽度因子,对模型的精度有极大的影响,需要预先设定。
2.算法实验与结果
本文算法数据数量一共为250组数据,2个类别数据。其中前200组数据用训练,后50组数据用作测试数据。数据的输入维度为11维。
数据类别 | 数据量 |
---|---|
训练数据 | 200 |
测试数据 | 50 |
设置RVM的核函数为高斯径向基函数,核宽度为3。得到的结果如下图所示:
训练集准确率:0.955
测试集准确率:0.84314
从结果来看,RVM在二分分类问题上表现还可以。
3.参考文献:
[1] TIPPPING M E. Sparse Bayesian learning and the relevance vector machine[J]. The journal of machine learning research,2001,1: 211-244.
4.MATLAB代码
个人资料介绍
基于相关向量机RVM的分类算法相关推荐
- 【RVM预测】基于相关向量机RVM实现数据预测附matlab代码
1 简介 目前常用的一些基本的故障诊断,故障预测方法都将大样本数据作为基础,但在实际问题中常常能得到的故障数据都属于小样本类型.传统的故障诊断,故障预测方法已不适于用来解决小样本类型的故障问题.相关向 ...
- 【项目实战】Python实现RVM相关向量机回归模型(RVR算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 相关向量机(Relevance Vector Machine,简 ...
- Python机器学习16——相关向量机(RVM)
本系列基本不讲数学原理,只从代码角度去让读者们利用最简洁的Python代码实现机器学习方法. 背景介绍 学机器学习的应该都知道支持向量机(SVM),这个方法在深度学习兴起之前算是很热门的分类方法,在机 ...
- 【RVM预测】基于粒子群算法优化相关向量机RVM实现数据回归预测附matlab代码
1 简介 由于进出口贸易额波动较大,影响因素较多,一般预测算法难以得到较为准确的预测结果.针对该问题,提出基于PSO优化混合RVM模型的贸易预测方法.该方法首先找出影响进出口贸易的指标并通过主成分分析 ...
- 机器学习系列4---RVM(相关向量机)MATLAB实现
上期主要介绍了相关向量机的提出及主要计算过程,本期主要介绍MATLAB实现RVM,并就相关分析结果展开讨论.相关论文及代码下载网站:miketipping.com :: Sparse Bayesian ...
- 基于机器学习和TFIDF的情感分类算法,详解自然语言处理
摘要:这篇文章将详细讲解自然语言处理过程,基于机器学习和TFIDF的情感分类算法,并进行了各种分类算法(SVM.RF.LR.Boosting)对比 本文分享自华为云社区<[Python人工智能] ...
- 基于朴素贝叶斯的文本分类算法
基于朴素贝叶斯的文本分类算法 摘要:常用的文本分类方法有支持向量机.K-近邻算法和朴素贝叶斯.其中朴素贝叶斯具有容易实现,运行速度快的特点,被广泛使用.本文详细介绍了朴素贝叶斯的基本原理,讨论多项式模 ...
- c语言贝叶斯分类,基于朴素贝叶斯分类器的文本分类算法(C语言)
基于朴素贝叶斯分类器的文本分类算法(C语言) 基于朴素贝叶斯分类器的文本分类算法(C语言).txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了.他只是比对方更珍惜这份感情.#include ...
- 朴素贝叶斯基于朴素贝叶斯的文本分类算法
朴素贝叶斯 以及 基于朴素贝叶斯的文本分类算法 参考文章: https://www.cnblogs.com/jorbin/articles/1915888.html
- 朴素贝叶斯文本分类java_基于朴素贝叶斯的文本分类算法
基于朴素贝叶斯的文本分类算法 摘要:常用的文本分类方法有支持向量机.K-近邻算法和朴素贝叶斯.其中朴素贝叶斯具有容易实现,运行速度快的特点,被广泛使用.本文详细介绍了朴素贝叶斯的基本原理,讨论多项式模 ...
最新文章
- 带有Swagger的Spring Rest API –集成和配置
- 抽象方法,抽象类,接口
- 启动盘Linux windows,Linux 中创建 USB 启动盘来拯救 Windows 用户
- dmidecode 硬件查看
- oracle增量备份level0,Oracle备份类型level0、level1,增量、差异备份
- GA遗传算法介绍与实例
- 某知名网络安全公司的渗透测试工程师面试题实战汇总
- android恢复删除文件,如何恢复手机删除的文件
- 思科Cisco BGP 专题(一) BGP基本概念
- 如何注册阿里大于申请签名和短信模板
- 申城「三日谈」:言汇百家,思通以达(SDCC 2017上海站PPT集锦)
- XML 格式化转字符串
- asps英文_车用英语怎么说
- gridview纯图片九宫图展示
- texstudio使用
- php授权系统原理,Mysql权限系统工作原理-PHP教程,PHP基础
- e换电受邀参加上海电动自行车集中充电设备展示推荐会
- 【SpringBoot】Spring手动装配和SpringBoot自动装配
- 在win7下删除Windows服务的方法
- 关联规则Apriori算法 python简单实现
热门文章
- Hibernate之连接池配置
- docker学习记录 docker 脚本----redis,zookeeper,kafka(三)
- 七日杀a17服务器修改,七日杀a17作弊指令
- linux内存中的文件权限,理解Linux文件权限
- python 自动抢红包_用二十行代码实现微信自动抢红包
- 快速列出所有字段_【小麦课堂】快速查询明细数据的操作
- springmvc获取原生servletAPI
- linux夸分区建立软链接,Linux硬链接和软链接
- java和基岩怎么联机_JAVA和基岩版要同步了
- python编程工时计算_python 两个时间段过滤求交集(工时计算)