高斯过程分类 matlab代码,高斯过程(GP)(示例代码)
GP的定义:
对于任意集合S,S上的高斯过程(GP)是随机变量序列(Zt:t∈S)的一个集合,使得所有n∈N,所有t1,t2……,tn∈S,(Zt1,Zt2,……,Ztn)是多维高斯。
如果S集合中的元素个数是有限的,则Z是否为GP可以通过穷举判断其是否为多维高斯函数。如果S集合中元素的个数是无限的,则Z不能通过穷举获得,但是如果Z中的变量和某个高斯变量有直接联系的话,Z也有可能是S上的一个GP。
存在定理说明:
对任意集合S中的单个元素都存在某个均值函数,以及对任意集合S中的2个元素都存在某个核函数(即协方差),则在S上一定存在一个高斯过程Z(t),其元素具有类似S形式的均值和方差。所以在给定集合S后,我们只需要给出一个一元的均值函数,一个二元的核函数表达式,就能构造出一个高斯过程。
常见的高斯过程
1.Random planes:S=Rd,μ(x)=0,k(x,y)=xTy
2.Std Brounion motion:S=[0,∞],μ(x)=0,k(s,t)=min(s,t)
3.Squared exp:S=R,μ(x)=0,k(x,y)=exp(-α|x-y|2) α>0
4.Ornstein-Uhlenbeck:S=[0,∞],μ(x)=0,k(x,y)=exp(-α|x-y|) α>0
这里介绍一下通常情况对高斯函数采样的方法:首先我们知道任何高斯函数都可以写成标准高斯函数的线性组合,因此只要能够对标准高斯函数进行采样就OK了。其方法为:计算出标准高斯函数的分布函数,用[0,1]均匀分布随机发生器选择随机的值y,当做标准高斯函数的函数值,然后找到分布函数下对应的S就可以了,该点即为我们所需要的 Sample。
在常用的编程语言中,我们很容易生成一个高斯随机变量额采样(例如Matlab的randn函数),但如何生成给定均值函数和方差函数的高斯过程的采样呢?
问题
已知高斯过程的均值函数μ(x)以及相关函数k(t1,t2),欲生成N个符合此高斯过程的采样x(n),n=1,2,…..N均值函数只要最后累加即可。难点是如何生成满足相关性要求的采样。
步骤:
1.生成N个时间采样点t=[t1,t2,….,tN]
2.计算N个采样点之间的相关函数取值矩阵C:cij=k(ti,tj)
3.对C进行SVD分解,由于协方差矩阵对称,有C=USUT
3.生成N个独立同分布的高斯随机变量y=[y1,y2,….,yN],均值为0
4.即为该随机过程在N个时刻的采样
证明
时间节点i处的随机变量Zi=UiSy,其中Ui为U的第i行,S为对角阵。
时间节点i和j处随机变量的相关:
k(Zi,Zj)
由于y在每个时刻都独立,且上式得两个求和相乘中,只有k1=k2的项期望非0
所以
高斯过程回归与贝叶斯线性回归
两者其实比较相似,区别在于高斯过程回归中用核函数代替了贝叶斯线性回归中的基函数(其实也是核函数,线性核)。采用核函数定义高斯过程回归是一个比贝叶斯线性回归更通用的模型。
贝叶斯线性回归:数据D={(x1,y1),(x2,y2),…..,(xn,yn)} xi∈Rd y∈R y1,…..yn依赖于给定的W
P(yi|xi,w)=N(yi|WTx) 即
其中WTx是高斯分布,可以看作是高斯分布的线性组合,由此WT是一个多维的高斯分布
如果高斯过程为线性的,即它的sample是在高维空间中的平面,要求它的核函数满足k(xi,xj)d的形式,且均值函数为0,下面是它的证明过程:
既然已经得知yi的中心是在一个高维空间的平面上,所以当新来的数据后,就可以预测它的均值也在该平面对应的位置上,这就达到了回归的目的。
在将BLR(贝叶斯线性回归)扩展到GPR(高斯过程回归)前,来看看多维高斯分布的一些重要性质,第一个性质为两个相互独立的多维高斯分布A和B的和也是一个多维高斯分布C,且C的均值和方差都为A和B均值方差的和。第二个性质为:两个多维高斯分布之和构成的分布C而言,在已知一部分观察值C1的条件下,另一部分观察值C2的概率分布是一个多维高斯分布,且可以用A和B中对应的信息来表示。这2个性质的介绍如下:
接下来就是要怎样利用高斯过程进行回归运算了。高斯过程回归的模型如下:
其中的ya为需要预测的值,yb为观察到的值,当然了,xa和xb也是观察值。由前面博文机器学习&数据挖掘笔记_10(高斯过程简单理解)中介绍的高斯过程存在性定理可知,一旦我们确定了x上的u和k,就可以得到一个高斯过程Zx,此时的样本值Yi可以写成:
即两个独立的多维高斯变量之和。而利用上面多维高斯变量的性质,可推导出需要预测的ya在yb条件下的概率:
上面的m和D有解析表达式,因此可以直接求,里面的的变量都是已知的。其中的m就是我们回归预测的值,而D就是此时预测的误差,两者表达式和前面类似,如下:
由贝叶斯线性回归和高斯过程回归的对比可知,贝叶斯线性回归是高斯过程回归中的一个子集,只是它用的是线性核而已,通过两者的公式就可以看出它们之间的关系:
上面是贝叶斯线性回归,下面是高斯过程回归。
高斯过程分类 matlab代码,高斯过程(GP)(示例代码)相关推荐
- arcgis sample代码之SOE示例代码PageLayout REST Server Object Extension 的源码分析
0.前言 研究 arcgis object的代码是十分重要的,对于学习arcObject太重要了,因为没有这些代码,学习混乱的arcObject将会更佳的困难. 我的arcgis server 是10 ...
- 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression)
文章目录 效果一览 文章概述 研究内容 程序设计 参考资料 效果一览 文章概述 高斯过程回归 | Matlab实现高斯过程回归多输入单输出预测(Gaussian Process Regression) ...
- html代码圣诞树位置代码,html 圣诞树(示例代码)
简介这篇文章主要介绍了html 圣诞树(示例代码)以及相关的经验技巧,文章约1263字,浏览量499,点赞数8,值得推荐! div{ width:0px; height:0px; background ...
- 高斯过程分类 matlab,matlab 高斯过程回归模型 matlab Gaussian process regression model
[实例简介] 高斯过程回归及分类的代码,内容全,有实例,注释清晰.包括分类系列和预测回归系列,值得感兴趣的同学学习借鉴.里面有对应的数据和demo程序,程序可运行,MATLAB2014a下测试通过,其 ...
- matlab运动控制算法教程,机器人学、机器视觉与控制:MATLAB算法基础pdf(示例代码)...
下载地址:网盘下载 内容简介 本书是关于机器人学和机器视觉的实用参考书, 第一部分"基础知识"(第2章和第3章)介绍机器人及其操作对象的位置和姿态描述,以及机器人路径和运动的表示方 ...
- topsis法matlab程序,TOPSIS算法(示例代码)
title: TOPSIS算法 date: 2020-02-24 11:18:06 categories: 数学建模 tags: [评价模型, MATLAB] mathjax: true 定义 ? C ...
- matlab 如何生成mif,用matlab生成mif文件(示例代码)
a=0:255miffile('rom_ipp.mif',a,8,256) 这是在matlab中调用的miffile函数来生成mif文件 ''单引号里面为所生成文件的名字 注:所生成的文件在matla ...
- matlab histeq cy源代码,matlab histeq函数介绍(示例代码)
Histeq Enhance contrast using histogram equalization 该函数通过直方图均衡化来添加对照度 Syntax J = histeq(I,hgram) De ...
- html新人入门代码,HTML入门(示例代码)
HTML基本语法 这是我的第一篇博客,都说大佬也是从菜鸟一步一步起来的嘛,所以我这第一篇博客的技术也不一定很高.但是,这应该是一篇绝大多数零基础入门的同学都能够看得懂的博客.跟着本篇博客的内容慢慢来, ...
最新文章
- Nature子刊:吃得越少,活得越久
- python入门(七)
- hiho_1089_floyd最短路
- django项目日志
- 基于HTML5的WebGL呈现A星算法的3D可视化
- 如何deactivate Material delta download
- DDD(领域驱动设计)
- vim修改tab默认4个空格
- 几个危险的扩展存储过程
- 《程序员的数学》读书计划
- 操作系统原理实验(五) 内存管理
- Win10下安装Ubuntu20.04双系统,看这一篇就够了
- 神经网络视频/图像渲染相关经典论文、项目、数据集等资源整理分享
- 企业盈利能力五大指标之:毛利率
- 超详细的八种RAID磁盘阵列原理及优缺点
- 图像处理-相关知识点
- 大数据毕业设计 - 选题推荐(一)
- HBuilderX 详细安装教程
- 用java的swing组件实现简易的图书管理系统
- 读半小时漫画史-中国史记录 第一章
热门文章
- php strtotime mktime,php中time()和mktime()用法的区别分析
- 优化器 optimizer
- 使用iTerm2和OhMyZsh实现一个强大终端
- 1.12翁凯8.4字符串计算
- RTX 2080 Ti、RTX 2080 與 RTX 2070 規格表
- excel快速填充公式
- SQL SERVER 查询Job作业基本信息及执行情况
- 利用Python来制作网易阴阳师的游戏脚本,爆肝是不可能爆肝的
- WIFI码挪车码创建生成CPS聚合流量主小程序开发
- 善用google搜索,搜索引擎命令大全