[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

时间:2021-11-26 22:08:45

科班出身,贝叶斯护体,正本清源,故拿”九阳神功“自比,而非邪气十足的”九阴真经“;

现在看来,此前的八层功力都为这第九层作基础;

本系列第九篇,助/祝你早日hold住神功第九重,加入血统纯正的人工智能队伍。

9. [Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process
8. [Bayesian] “我是bayesian我怕谁”系列 - Variational Autoencoders
7. [Bayesian] “我是bayesian我怕谁”系列 - Boltzmann Distribution
6. [Bayesian] “我是bayesian我怕谁”系列 - Markov and Hidden Markov Models
5. [Bayesian] “我是bayesian我怕谁”系列 - Continuous Latent Variables
4. [Bayesian] “我是bayesian我怕谁”系列 - Variational Inference
3. [Bayesian] “我是bayesian我怕谁”系列 - Latent Variables
2. [Bayesian] “我是bayesian我怕谁”系列 - Exact Inference
1. [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes with Prior

小喇叭本系列文章乃自娱自乐,延缓脑细胞衰老;只“雪中送炭”,不提供”全套服务“。


九阳神功第九章《Gaussian Processes for ML》

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

如果,非统计机器学习是入门,统计机器学习是进阶,那么“高斯过程”就算是机器学习的高级阶段,能发paper。

国内相关的书,没发现。(有数学系的同学给推荐么?)

推荐相关的还算易懂的paper一篇: Generic Inference in Latent Gaussian Process Models

对高斯过程的了解过程中,让我深刻的明白,要发国际paper的同学都有着怎样的学习生涯套路。

菜鸡们来瞧瞧这位,Stanford cs231n 2016的lecturer,语速感人,成就经典。

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

血统纯正的学习路线:

2011-2015: Stanford Computer Science Ph.D. student Deep Learning, Computer Vision, Natural Language Processing. Adviser: Fei-Fei Li. 
Summer 2011: Google Research Internship Large-Scale Unsupervised Deep Learning for Videos 
2009-2011: University of British Columbia: MSc Learning Controllers for Physically-simulated Figures. Adviser: Michiel van de Panne 
2005-2009: University of Toronto: BSc Double major in Computer Science and Physics

请注意本科时期的double major,which帮助奠定大牛潜质。

学纯数搞人工智能有点纸上谈兵;

学计科高人工智能有点后劲不足;

CS+Physics真乃绝配!

言归正传,基本上学习的路线是:GP for Regression, GP for Classification, Latent Gaussian Process Models

百度到的东西基本都是GP for Regression,可见广大吃瓜群众基本停留在这套路线的初级阶段,后两者确实需要功力,即使一知半解也不便卖弄风骚。

此处一篇:浅谈高斯过程回归 应该是根据youtube视频课程所总结,写得挺好。在此基础上我将在此加一点补充,希望有助理解。

本来想把自己懂的这么一点东西总结于此,但最近release了一门神课,很对味,故正在重点follow中。


高斯过程回归

  • 预测

这篇浅谈高斯过程回归已经将(预测)基本计算过程展现了一遍,这里就不再赘述。读完该链接后,抛出一个问题:

蓝色字体的协方差值是如何给出的?怎么定义会更好?

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

  • 模型的选择

f是高斯,y也是高斯。根据二元高斯的条件分布计算方法:[Bayes] Why we prefer Gaussian Distribution

直接求得p(f*|y) 【等价 p(f*|X, y, x*)】的预测公式如下:

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

常见的结论就是:这个预测结果(期望)是个“输入的线性组合”,同时也是个“kernel的线性组合”。

以下求y的边缘分布:【过程略,较复杂】

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

常见的结论就是:这个能用于hyperparameter learning,也就是θ = {sigma, C}的学习,如下所示。

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

其实就是相关性的选择问题,学习这个K内部的东西。为何要计较这三部分?

想必也是个“权衡问题”,如下图。

From: http://www.gaussianprocess.org/gpml/chapters/RW5.pdf

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

适当的选择超参,能获得一个极大的marginal likelood。

这也叫做“model selection”。

高斯过程分类

参考“回归”,学习“分类”。

没有了噪声sigma的概念,f(y|f)变为了sigmoid,故成了non-linear,p(f|X,y)成了恼人的non-gaussian。

那我们就定一个高斯q(f|X,y)来近似p(f|X,y);自然而然引出Laplace Approximation【暂略】。

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

一个思考的技巧:

计算时可以暂且将f作为回归中y的角色,那么如下看去就将对应的回归结论中的噪声sigma去掉即可。

但我们终究还是要p(f*|X, y, x*),也就是需要加入一个“f given y的关系”,即是上述提及的近似高斯技巧。

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

与“回归”对比,是否感觉总有点复杂?为什么搞复杂了呢?

  • 同样的已知:p(y|f), p(f|x) 但前者已不是高斯。怎么办?
  • 那就暂且不管y,计算还是高斯的这部分,也就是截止到f的地方,这样也就自然的利用了回归时的结论如上,得到了p(f*|X,x*,f)
  • 然后,再考虑f-->y已不再是高斯的问题,便自然地引入了p(f|X,y) <-- p(y|f), p(f|x)。

计算结果如下:

p(f*|X,y,x*) = N(f*| K(x*)TK-1b, K(x*,x*)-K(x*)T[K-1-K-1ΣK-1]K(x*))
  • 预测

接下来就是“预测”问题,通常有两种策略:Average and MAP

可见虽然求出了f*,但依然无法逃避“f* --> y*”这段non-gaussian的过程。

此时,便自然而然得想到用mcmc去估计积分结果。

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

高斯过程隐变量

这一部分是超高级内容,只是简单聊一聊,仰望一下。

想想PCA,隐变量的意义是压缩,这里将要说的隐变量,也就是inducing variables也是如此。

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

要计算这个东西,是O(N3),所以有必要想办法减小计算量。

可采用decomposition的方法,例如使用inducing variables:u

以上便是原因之一。下图中的f之间用粗线表示“f之间是全连接”。

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

原理详见原论文(上图标题),如下来个例子瞧瞧。

至少我们知道有了u,z这样的概念,而且维度比N要低很多。

在Subset of Regressors (SR) approximation中,假设了covariance function:

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

与标准GP相比,看上去精简了“相关性”的计算。将上式替代到标准GP回归时的结论即可得到如下:

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

计算过程较复杂,其中会涉及到如下这个公式的运用 from Maxtrix Cookbook:

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process

就到这里,因为inducing variables的引入,展开了一大片坑,可以阅读该链接深入了解:Generic Inference in Latent Gaussian Process Models

本篇写得相当基础, 大致写个学习进阶套路,一来确实需要相当的数学功底,二来更想花时间follow (STATS 385)

再次强调下,本系列不提供“全套服务”,只帮助整理下个人近期的知识体系,如有兴趣,请点击文章中提及的各个亲测的高质量链接。

那么,就到这里吧。

相关链接:

Ref: http://www.cnblogs.com/hxsyl/p/5229746.html

Ref: https://zhuanlan.zhihu.com/p/24388992

Link: http://videolectures.net/gpip06_mackay_gpb/

GP效果:Classifier comparison

[Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process的更多相关文章

  1. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Variational Autoencoders

    本是neural network的内容,但偏偏有个variational打头,那就聊聊.涉及的内容可能比较杂,但终归会 end with VAE. 各个概念的详细解释请点击推荐的链接,本文只是重在理清 ...

  2. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Exact Inferences

    要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...

  3. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Variational Inference

    涉及的领域可能有些生僻,骗不了大家点赞.但毕竟是人工智能的主流技术,在园子却成了非主流. 不可否认的是:乃值钱的技术,提高身价的技术,改变世界观的技术. 关于变分,通常的课本思路是: GMM --&g ...

  4. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Exact Inference

    要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...

  5. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Naive Bayes&plus;prior

    先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...

  6. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Naive Bayes with Prior

    先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...

  7. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Continuous Latent Variables

    打开prml and mlapp发现这部分目录编排有点小不同,但神奇的是章节序号竟然都为“十二”. prml:pca --> ppca --> fa mlapp:fa --> pca ...

  8. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Markov and Hidden Markov Models

    循序渐进的学习步骤是: Markov Chain --> Hidden Markov Chain --> Kalman Filter --> Particle Filter Mark ...

  9. &lbrack;Bayesian&rsqb; &OpenCurlyDoubleQuote;我是bayesian我怕谁”系列 - Boltzmann Distribution

    使用Boltzmann distribution还是Gibbs distribution作为题目纠结了一阵子,选择前者可能只是因为听起来“高大上”一些.本章将会聊一些关于信息.能量这方面的东西,体会“ ...

随机推荐

  1. CentOS7 Tomcat 环境部署

    java由jvm虚拟机和一些本地类库(与操作系统通信的底层库)和java类库组成.javase由jdk和一些基本api组成,而javaee则在javase基础上添加了一些企业常用的类库,其中两个著名a ...

  2. IOS中NSUserDefaults的用法(轻量级本地数据存储)

    NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefa ...

  3. 【NOI2015】荷马史诗

    追逐影子的人,自己就是影子. ——荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛>和& ...

  4. MySQL全文检索笔记 转载

    1. MySQL 4.x版本及以上版本提供了全文检索支持,但是表的存储引擎类型必须为MyISAM,以下是建表SQL,注意其中显式设置了存储引擎类型 CREATE TABLE articles ( id ...

  5. HTTP头信息解读

    本文为多篇“HTTP请求头相关文章”及<HTTP权威指南>一书的阅读后个人汇总整理版,以便于理解. 通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发 ...

  6. laravel 邮箱改密功能

    参考网址: http://laravelacademy.org/post/1290.html

  7. JAVA入门&lbrack;15&rsqb;-过滤器filter

    一.过滤器 过滤器是可用于 Servlet 编程的 Java 类,可以实现以下目的: 在客户端的请求访问后端资源之前,拦截这些请求. 在服务器的响应发送回客户端之前,处理这些响应. 参考:http:/ ...

  8. webpack 安装&comma;打包使用

      Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换. 全局安装webpack 打开文件夹amd输入指令  npm i webpa ...

  9. CF893F Subtree Minimum Query 主席树

    如果是求和就很好做了... 不是求和也无伤大雅.... 一维太难限制条件了,考虑二维限制 一维$dfs$序,一维$dep$序 询问$(x, k)$对应着在$dfs$上查$[dfn[x], dfn[x] ...

  10. 在哪个web&period;xml中配置welcome页面

    是在tomcat的web.xml中配置,而不是在你的%web-project-root%/WEB-INF/web.xml中! 示例 <welcome-file-list> <welc ...