下面是文章中的约定:

为了使该描述尽可能地明确(在数学意义上),介绍一些将要使用的符号:
P(A | B,C)是给定B和C的A的概率。请注意,使用这种表示法,参数的不同表示不会改变该概率,例如P(A | B)≡P(A | B-1)。此外,为了简单起见,概率表示法中的某些元素有时在它们不相关的情况下将被省略,例如。 P(A | B)≡P(A | B,C,D等)。
X〜N(µ,σ2)用于表示X正态分布,均值μ,方差σ2。
粗体用于表示向量和矩阵。

rvm推导:

线性回归问题通常基于发现参数向量w和偏移量c的情况,因此我们可以为未知输入x(x∈<M)预测y:

实际上,我们通常将偏移量c合并到w中。 如果x和y之间存在非线性关系,则可以使用基函数:其中x →φ(x)是非线性映射(即基函数)。

尝试从我们的训练示例中计算w时,我们假设每个目标ti代表真实的模型yi,但是加上了噪声i:

假设i是来自高斯噪声过程的独立样本,均值为零且方差为σ2,即i〜N(0,σ2)∀i。 这意味着:

同时查看N个训练点,以使向量t代表所有单个训练点ti,并构造N×M设计矩阵Φ,使第i行代表向量φ(xi),我们具有:

当试图学习x和y之间的关系时,我们希望限制复杂度并因此限制权重w的增长,并通过在w上定义明确的先验概率分布来做到这一点。 通过使用w之前的零均值高斯函数,可以编码出我们偏爱的平滑函数,因此不太复杂。

这里我们用αi描述了每个Wi的逆方差(即精度)。 如果我们再次同时查看所有N个点,那么向量α中的第i个元素表示αi,则我们有:

这意味着每个权重都有一个单独的超参数αi,从而改变了先前的强度。给定数据,所有未知参数的后验概率表示为P(w,α,σ2| t)。 我们正在尝试找出w,α和σ2,它们使该后验概率最大化。 我们可以分解后验:


均值m和协方差Σ由下式给出:


有关条件高斯分布的(1.2),(1.3)和(1.4)的计算方法不在本文讨论范围之内。
为了评估m和Σ,我们需要找到使(1.1)的第二部分最大化的超参数(α和β),我们对其进行分解:

我们将假定统一的超优先级,因此忽略P(α)和P(σ2)。 现在,我们的问题是最大化证据:

看方程的第一部分:

然后是第二个(其中M是x的维数):

将(1.6)和(1.7)替换为(1.5):

为了简化(1.8),我们创建一个定义来表示被积数:

This means that:

扩展(1.9),我们得到:

代入(1.4)然后使用I = Σ−1Σ:

代入(1.3):


我们从(1.8)开始的被积变为:

将其替换为后,我们得到:

这就是我们的边际可能性,并取对数,这给我们的对数边际可能性:

我们需要相对于α和β最大化此方程,这一过程称为证据近似程序
为了使对数边际可能性最大化,我们首先针对αi取(1.10)的导数并将其设置为零:

用γi= 1-αiΣii代替我们对最大(1.10)的αi的递归定义,可以更优雅地表示为:

现在,我们需要对β进行微分(1.10)并将这些导数设置为零:

为了解决这个问题,我们首先简化跟踪运算符Tr [•]的参数:

把这个代回1.11

然后,通过将α和β设置为初始值,从(1.3)和(1.4)中找到m和Σ的值,并使用这些值计算α和β的新估计值,并反复进行迭代,反复找到使我们的边际可能性最大化的αi和β。直到满足收敛标准为止。
然后,我们剩下的α和β值将使我们的边际可能性最大化,并且我们可以使用它来评估对于新输入x0的t上的预测分布:

这意味着我们对t的估计是上述分布mTφ(x0)的平均值。
我们对预测的信心由该分布σ2(x0)的方差确定,该方差由下式给出:

在执行上述近似程序时,许多αi趋于无穷大。 这对(1.2)中相应权重的后验分布的方差Σ和均值m有影响:

这意味着与该αi有关的每个wi将分布为αi〜N(0,0),即等于零。 因此,每次迭代都应从总体设计矩阵Φ中删除相应的基函数φ(xi)。
修剪后与其余非零权重对应的xi被称为相关性向量,类似于SVM的支持向量。

RVM过程是一个迭代过程,涉及反复重新估计α和β,直到满足停止条件为止。 步骤如下:
1.为数据集和相关参数选择合适的内核函数。 使用该内核函数创建设计矩阵Φ。
2.为α和β建立合适的收敛标准,例如 一个迭代的α估计与下一个δ= Pi = 1αn+ 1 i-αni之间的变化δThresh的阈值,以便当δ<δThresh时停止重新估计。
3.建立一个阈值αThresh,假设阈值αi在达到阈值时趋于无穷大。
4.选择α和β的起始值。
5.计算m =βΣΦTt和Σ=(A +βΦTΦ)-1。
6.更新


7.修剪αi和相应的基函数,其中αi>αThresh。
8.重复(5)至(7),直到满足收敛标准。
由上述过程得出的超参数值α和β是使我们的边际可能性最大化的值,因此是在对新输入x0进行目标值t的新估计时使用的那些参数:

与我们对该估计的信心有关的方差为:

以上是我在学习RVM中发现的一篇不错的文章,搬运至此。

相关向量机(RVM)相关推荐

  1. Python机器学习16——相关向量机(RVM)

    本系列基本不讲数学原理,只从代码角度去让读者们利用最简洁的Python代码实现机器学习方法. 背景介绍 学机器学习的应该都知道支持向量机(SVM),这个方法在深度学习兴起之前算是很热门的分类方法,在机 ...

  2. 【RVM预测】基于相关向量机RVM实现数据预测附matlab代码

    1 简介 目前常用的一些基本的故障诊断,故障预测方法都将大样本数据作为基础,但在实际问题中常常能得到的故障数据都属于小样本类型.传统的故障诊断,故障预测方法已不适于用来解决小样本类型的故障问题.相关向 ...

  3. 【RVM预测】基于粒子群算法优化相关向量机RVM实现数据回归预测附matlab代码

    1 简介 由于进出口贸易额波动较大,影响因素较多,一般预测算法难以得到较为准确的预测结果.针对该问题,提出基于PSO优化混合RVM模型的贸易预测方法.该方法首先找出影响进出口贸易的指标并通过主成分分析 ...

  4. 【项目实战】Python实现RVM相关向量机回归模型(RVR算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 相关向量机(Relevance Vector Machine,简 ...

  5. 机器学习系列4---RVM(相关向量机)MATLAB实现

    上期主要介绍了相关向量机的提出及主要计算过程,本期主要介绍MATLAB实现RVM,并就相关分析结果展开讨论.相关论文及代码下载网站:miketipping.com :: Sparse Bayesian ...

  6. python画反比例函数_反比例光滑支撑向量机

    1. 引言 2001年Lee等人通过对支撑向量机的深入研究引入光滑的概念,使用了sigmoid积分函数p(x,α)对无约束的支撑向量机模型SVM [1] 进行光滑化,得出了分类性能较好的光滑支撑向量机 ...

  7. 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)

    这篇文章主要介绍了学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等),需要的朋友可以参考下 Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境, ...

  8. SVM-支持向量机原理详解与实践之一

    SVM-支持向量机原理详解与实践 前言 去年由于工作项目的需要实际运用到了SVM和ANN算法,也就是支持向量机和人工神经网络算法,主要是实现项目中的实时采集图片(工业高速摄像头采集)的图像识别的这一部 ...

  9. SVM-支持向量机原理详解与实践之四

    SVM-支持向量机原理详解与实践之三 SVM原理分析 核函数与核技巧 什么是核 什么是核,核其实就是一种特殊的函数,更确切的说是核技巧(Kernel trick),清楚的明白这一点很重要. 为什么说是 ...

最新文章

  1. R语言format函数保留几位小数实战
  2. 分布式消息队列 — Overview
  3. BZOJ3709: [PA2014]Bohater
  4. python实现排序_python实现以及所有排序大总结【转】
  5. 2020阿里面试题整理(含答案)
  6. 解析5G背后的核心技术:波束成形
  7. 溢信服务转型之代理商技术培训
  8. JMETER Debug Sampler
  9. qtableview选中第一行时表头会变色_超新颖的Word目录制作法,包你一看就会!【Word教程】...
  10. 一些大厂的css reset 代码
  11. 防火墙iptables
  12. 最近的shell脚本(updating)
  13. Redis进阶: 锁的使用
  14. seaborn系列 (10) | 盒形图boxplot()
  15. TeamTalk 详细介绍
  16. 基于VGG19的识别中国人、韩国人、日本人分类器
  17. mysql将时间戳转换为年月日格式进行查询
  18. wxpython基本控件
  19. 模拟电子技术学习笔记-NPN三极管的内部结构
  20. 基于计数栈的非递归二叉树遍历算法

热门文章

  1. 【博客558】k8s node为什么需要关闭selinux与swap
  2. 计算机网络之网络应用--Email应用
  3. 智能浇花系统(ESP8266+APP Inventor+DHT11)
  4. 环信多人音视频会议功能实现
  5. 前端移动端刻度尺实现
  6. Python实现简单分类器
  7. absolute导致的高度塌陷问题——解决方法
  8. 常用的几种设计模式详解
  9. hexo博客搭建及其美化
  10. KingbaseES人大金仓学习