下一章有意讲讲EM和变分推断的内容。

EM和变分推断的内容能Google到很多,虽然质量乘次不齐,但本文也无意再赘述那么些个细节。

此处记录一些核心思想,帮助菜鸡形成整体上的认识。不过,变分推断也不是一篇博文能讲述通透的技术,希望读者读完此文,至少知道自己将要学一个什么好东西,能用它来做什么。

私以为,变分的理解就是统计机器学习的核心,那么,

  • 不懂变分怎么能说学会了统计机器学习?  P(统计机器学习 | 变分)
  • 不会统计机器学习怎么自诩会机器学习?  P(机器学习 | 统计机器学习)
  • 不懂机器学习如何有资格研究深度学习?  P(深度学习 | 机器学习)
  • 不懂深度学习又怎么能从事人工智能呢?  P(人工智能 | 深度学习)
  • 求边缘条件概率分布:P(人工智能 | 变分=False) = ?

但在此之前,需要提提Latent Variables隐变量。

隐变量,潜在的隐藏的变量,这个东西非常好,同时也能启迪你一些人生哲学。

“若能肯定自己,需要之前有一段否定自己的过程。“

看到的,即使看似合理也要抱着怀疑自己的态度,寻求背后的真实状态,比如hmm。

hmm PGM

看到了表象y,y之间貌似相关性也很强,但就是要先怀疑自己,反问:是否有”幕后黑手x“控制着整个局面?

然后,假设了隐变量以及之间的概率关系,剩下的问题就是如何求解概率关系的过程,即各个边(条件概率分布)咯。

因为要用到隐变量,所以更需要概率图来给读者以直观的感受,不同场景不同模型中的隐变量设计又有很多的共性,概率图中对这些共性的研究也可以形成一种”定理”类似的东西,发现某个新问题的概率图有某种共性出现,直接使用对应的性质即可,而不是重新造轮子。

有菜鸡问了,加那么多隐变量,边自然就多了,也就是需要估计的概率关系(变量)多了,自找麻烦么?

麻烦确实不少,所以不能加太多,但也有变态的事情,比如头几年的日本学界,据说有人在模型中加了二十多个圈圈,然后论文就容易发表了。(不可考证,笑笑即可)

变分推断就是估参的一个利器,既然是估计参数,就不必在精度上斤斤计较,渐进就好,当然”逼近真实“,“逼近的程度”也是一门艺术,更是技术。提到渐进,也就是常说的”优化“,其实机器学习整个领域都充斥着优化方法,你说不学“优化理论”能混下去么?

菜鸡菜鸡,不学习《多元变量分析》、《优化》,如何登榜提名,好发愁。

哎,到处都是潜规则。

还有一个原因,隐变量都是自己设计的,当然要设计一个友好的,隐变量间关系比较强,容易计算,且相对通用的结构。

而变分推断中假设了一些友好的分布来尽可能的逼近实际分布,在这个逼近的过程中,当然希望承载在一个相对友好的变量关系上面。

如此看来,似乎明了了许多。

变分推断的目的是逼近真实分布,mcmc采样方法也是同样的目的,二者选其一皆可。

至于两者的优劣,可以百度之,内容都烂大街咯。

EM可以理解为变分推断的一种狭义情况,好比二项分布是狭义的多项分布。

说到底, Latent Variables真没什么,多几个圈圈又能如何。

最近,cmu的Machine Learning 10-702刷屏,互联网带来的教育共享就是好啊,好东西就在网上,你能嗅得到么?让我们瞧上一瞧。

Schedule

Here is the estimated class schedule. It is subject to change, depending on time and class interests.

Tues Jan 17 L Linear regression Notes, video  
Thurs Jan 19 L Linear classification Notes, video, cool plot  
Tues Jan 24 R Nonparametric regression Notes, video  
Thurs Jan 26 R Nonparametric regression Notes, video  
Tues Jan 31 R Nonparametric regression Notes, video  
Thurs Feb 2 R Nonparametric classification Notes, video Hw 1 due Fri Feb 3
Tues Feb 7 L Reproducing kernel Hilbert spaces Notes, video  
Thurs Feb 9 L Density estimation Notes, video  
Tues Feb 14 L Clustering Notes, video  
Thurs Feb 16 L Clustering Notes, video Project milestone 1 due Fri Feb 17
Tues Feb 21 L Clustering Notes, video  
Thurs Feb 23 L High-dimensional testing Notes, video  
Tues Feb 28 L Concentration of measure Notes, video  
Thurs Mar 2 L Concentration of measure Notes, video Hw 2 due Fri Mar 3
Tues Mar 7 - Midterm    
Thurs Mar 9 - Spring break (no class)    
Tues Mar 14 - Spring break (no class)    
Thurs Mar 16 - Spring break (no class)    
Tues Mar 21 L Minimax theory Notes, video  
Thurs Mar 23 L Minimax theory Notes, video  
Tues Mar 28 R Sparsity and the lasso Notes, video  
Thurs Mar 30 R Sparsity and the lasso Notes, video Hw 3 due Mon Apr 3
Tues Apr 4 R Sparsity and the lasso Notes, video  
Thurs Apr 6 R Sparsity and the lasso Notes, video Project milestone 2 due Mon Apr 10
Tues Apr 11 L Graphical models Notes, video  
Thurs Apr 13 L Graphical models Notes, video  
Tues Apr 18 L Advanced topic Lei, Robins, and Wasserman, and
Lei and Wasserman
 
Thurs Apr 20 - Spring Carnival (no class)    
Tues Apr 25 R Advanced topic Lei, Robins, and Wasserman, and
Lei and Wasserman
Hw 4 due Wed Apr 26
Thurs Apr 27 R Advanced topic Lee, Sun, Sun, and Taylor, and
Tibs, Taylor, Lockhart, and Tibs
 
Tues May 2 - Course conference Slides  
Thurs May 4 - Course conference Slides Project writeup due Fri May 5

从大纲看去,跟我的计划内容大有区别。在此就顺便再报一个潜规则。

如果你是数学系的同学,对数据分析感兴趣,学成之后,千万不要在计算机系的同学面前自夸数据分析;搞数据分析(机器学习)的计算机的同学们也不要在数学系面前卖弄算法。

很可能,很可能,很可能。。。 你们争辩的不是一个东西,但名字却都叫“统计学习”或者相关的名字。

不要纠结我的说法,自个儿瞧瞧各大院校统计学习课程的大纲,然后对比,玩味。

那么问题来了,为什么会如此?

数学系做数据分析很正常,往往从Linear regression,Linear classification这些考验数学基础的地方入手,如cmu的这份教学大纲。

统计机器学习内部也有派别,一派的代表就是prml,似乎更强调工程实践性,下图左;另一派的代表就是小黄书《The Elements of Statistical Learning》,下图右。

   左, prml;                  右, little yellow book

当然了,到底学习的是哪个派别跟课程设在cse or math没有太多相关,主要还是看讲课教授的品味。

  • 不要问我学哪一本比较好,我觉得都学了比较好。
  • 不要问我哪一本更有优势,正妹从哪个角度看都是正妹。

正所谓知己知彼百战不殆,你若有心干掉数学系出身的竞争对手,建议“深入敌后,趁其课,学其书,使其优势化为乌有”。

这也是交叉学科领域的生存之道。

最后,cmu的课程设计更偏重数学修炼,这也是名校的潜规则。

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

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

    科班出身,贝叶斯护体,正本清源,故拿”九阳神功“自比,而非邪气十足的”九阴真经“: 现在看来,此前的八层功力都为这第九层作基础: 本系列第九篇,助/祝你早日hold住神功第九重,加入血统纯正的人工智能 ...

  2. [Bayesian] “我是bayesian我怕谁”系列 - Variational Autoencoders

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

  3. [Bayesian] “我是bayesian我怕谁”系列 - Variational Inference

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

  4. [Bayesian] “我是bayesian我怕谁”系列 - Boltzmann Distribution

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

  5. [Bayesian] “我是bayesian我怕谁”系列 - Continuous Latent Variables

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

  6. [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes+prior

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

  7. [Bayesian] “我是bayesian我怕谁”系列 - Exact Inferences

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

  8. [Bayesian] “我是bayesian我怕谁”系列 - Exact Inference

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

  9. [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes with Prior

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

随机推荐

  1. PHPStorm调试PHP代码~实际操作+mark~~

    因为wamp自己已经下载了xdebug,只要配置开启就行了. 1. 配置php.ini(有就打开注释,没有就加上) XDEBUG Extension[xdebug]zend_extension =&q ...

  2. Spring第五篇【cglib、手动实现AOP编程】

    前言 到目前为止,已经简单学习了Spring的Core模块.也会怎么与Struts2框架进行整合了-.于是我们就开启了Spring的AOP模块了-在讲解AOP模块之前,首先我们来讲解一下cglib代理 ...

  3. 框架应用:Mybatis (三) - 关系映射

    你有一张你自己的学生证?(一对一) 你这一年级有多少个学生?(一对多) 班上学生各选了什么课?(多对多) 两张表以上的操作都需要联立多张表,而用SQL语句可以直接联立两张表,用工程语言则需要手动完成这 ...

  4. Ruby Rose动态壁纸制作记录

    为Wallpaper Engine做的动态壁纸,使用Unity制作,在这里记录一下制作过程和一些遇到的坑,以后有了github账号再搬到那边去. 最后大概要做出这样的效果,截图来自RWBY " ...

  5. 记一次 node.js 的populate用法

    最近在学习node.js做一个简单的博客的网站,用的express框架和mongodb的数据库.之前没有接触过这个数据库,所有在一开始写的时候遇到了一些问题,如何初始化model类型,又如何实现简单的 ...

  6. java类成员的访问权限

    private:这是安全级别最高的访问权限,尽在该类中可以访问到: 默认访问权限:又称包访问权限,顾名思义,仅在该包内可以访问: protected:在包访问权限的基础上,该类的子类也可以访问到: p ...

  7. CentOS7下安装MariaDB

    环境:Window10 上建立 VMWare 虚拟机,EasyInstaller 方式安装 CentOS 7 1. “失败”的经历 备份原 repo 文件,并更改 yum 源(方法详见修改yum源)为 ...

  8. Day2 基本数据类型

    一.python数据类型 1.1数字 2 是一个整数的例子. 长整数 不过是大一些的整数. 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4 ...

  9. struts2---自定义类型转换器

    从servlet我们知道从页面获取到的参数都是string类型,但是struts2中基本的数据类型,它可以自动帮我们转化为其对应的包装类,就像获取到123,可以自动转化为Integer,但是比如201 ...

  10. Python CSV 超简明用法

    平常经常会用CSV存储数据,不可避免的会跟CSV文件的读写操作扯上关系. Python有CSV这个Package来解决这个问题,官网也有比较详细的教程 https://docs.python.org/ ...