听同事讲 Bayesian statistics: Part 1 - Bayesian vs. Frequentist
听同事讲 Bayesian statistics: Part 1 - Bayesian vs. Frequentist
摘要:某一天与同事下班一同做地铁,刚到地铁站,同事遇到一熟人正从地铁站出来。俩人见面都特别高兴,聊了许久。过后我问她这人是谁,她说是她的朋友,伯克利的教授Michael Jordan。啊!原来他就是鼎鼎大名的Michael Jordan啊!
同事中牛人众多,姑且先称这位同事为M吧。M美国博士毕业后到英国剑桥又深造了几年,研究方向一直是 Bayesian statistics。说到Michael Jordan,虽然他很多研究都在 machine learning 领域,但其对统计领域也摄入很深,有极为雄厚的理论造诣。他经常参加统计方面的会议,所以同事M和他非常熟悉。M说,Michael Jordan 是一个实用主义者,他既不站在 frequentist 的立场,也不站在 Bayesian 的立场。什么方法能解决问题,他就更倾向与使用哪种方法。其实,他的这种思想也是目前大部分 statistian 和 practician 的理念。
同事M是典型的 Bayesian statistician,经常跟公司里的 frequentist 互开玩笑。由于本人对统计非常感兴趣,经常请教她关于 Bayesian statistics 的问题。其实 Bayesian 的理论并不十分复杂,但它能解决很多实际问题。随着计算机计算能力越来越强,Bayesian 方法也越来越受大家欢迎。那么,首先我们要问的问题是:Bayesian 和 frequentist 到底有什么区别呢?
其实,Bayesian 和 frequentist 的本质区别是理念上的区别。可以举一个简单的例子加以说明。大家知道抛硬币正反两面的概率各位0.5,但有很多硬币由于两面磨损情况不同,正面或反面的概率大于另一面。我们想知道某一枚硬币正面的概率是多少,假设它为 t,那么背面的概率是 1-t。我们可以通过抛硬币的方式来推测出 t 的值。Frequentist 会怎么做呢?Frequentist 认为,这里的未知参数 t 是[0,1]之间某一个固定的值。我们如果抛100次硬币,假设有40次为正面,那么一个很好的猜测是 t=40/100=0.4 。如果我再抛100次硬币,正面的次数可能为42次,那么 t=42/100 = 0.42 。好的,问题出现了,既然 t 是一个固定的值,怎么可能既是0.4又是0.42呢?其实这个问题应该这样理解:很可能 t 既不是0.4也不是0.42,而是某个我们不知道的值,但它的真实值应该离0.4和0.42不远。这里就涉及到一个confidence interval的概念。比如第一组100次硬币95%的 confidence interval 是 [0.4 - 0.1,0.4 + 0.1]。t 的真实值要么在这个区间里,要不不在这个区间里,frequentist 并不能给我们一个答案。如果说抛100次硬币算一次实验,每次实验我们都计算它95%对应的confidence interval。Frequentist 会告诉我们,如果你repeat很多次这样的实验,会有95%的实验它们的confidence interval会包含 t 的真实值。
不知道大家看没看到 frequentist 给出的答案所存在的问题。很多时候实验是不能重复的,在这种情况下confidence interval的意义大打折扣。但 frequentist 只能得出这样的结论:对于未来的很多次重复实验,95%的情况下 t 的真实值落在相应的confidence interval之间。
还有一个问题就是,在某些情况下获取一个data sample的cost很大,比如在这次实验中,我们只允许抛3次硬币。抛3次硬币的结果有不小的可能性是3次都是背面。那么 frequentist 的结论是 t=0 。这显然是一个误差很大的结论,但在这种情况下 frequentist 确无能为力。
那么,Bayesian 是怎么解决这个问题的呢?首先,一个本质的区别是,对于 Bayesian 来说,它关心的并不是 t 是否为某个固定的值,而是它的概率分布(distribution)。这种分布的意义在于它是对 t 的一种 belief。比如抛硬币的例子,如果说我们在抛硬币之前的认为 t 可能是均匀分布在[0,1]之间的任何一个值,也就是说 p (t) = 1。那么当我们有新的 data 作为 evidence 后,也就是说3次抛硬币的结果都是背面,那么这些 evidence 会改变我们对 t 的 belief。这种改变可以通过 Bayes’s rule 来计算。
这里 n=3,假设每次抛硬币都是独立的,1代表正面,0代表背面。那么 p( X1=0, X2=0, X3=0 | t ) = p( X1=0 | t ) * p( X2=0 | t ) * p( X3=0 | t )。硬币是正面的概率为 t,所以 p( X1=0 | t) = p( X2=0 | t) = p( X3=0 | t) = 1 - t。我们用 D 来代表evidence数据,也就是说 D={ X1=0,X2=0,X3=0 }。那么 p(D) = (1-t)^3。而分母是对 t 所有可能的值进行积分,
所以 m(D) = ∫ (1-t)^3 dt= 1/4,那么 p ( t|D )=4*(1-t)^3。之前的 p(t) 我们称之为prior,有了data作为evidence后的 p( t | D )被称为posterior。由于有了新的data,我们更新了对于 t 的belief,但最开始的 belief(也就是prior)对于认识 t 显然有影响。这种影响会随着越来越多的data渐渐减弱。所以,当数据量很少的时候,prior的选择也是很重要的。
Bayesian statistics 非常有趣,在解决很多问题时也非常实用。今后我们会从各个角度来给大家详细的介绍 Bayesian statistics。
听同事讲 Bayesian statistics: Part 1 - Bayesian vs. Frequentist的更多相关文章
- 听同事讲 Bayesian statistics: Part 2 - Bayesian inference
听同事讲 Bayesian statistics: Part 2 - Bayesian inference 摘要:每天坐地铁上班是一件很辛苦的事,需要早起不说,如果早上开会又赶上地铁晚点,更是让人火烧 ...
- Stanford机器学习笔记-3.Bayesian statistics and Regularization
3. Bayesian statistics and Regularization Content 3. Bayesian statistics and Regularization. 3.1 Und ...
- BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)
Statistical approaches to randomised controlled trial analysis The statistical approach used in the ...
- 贝叶斯统计(Bayesian statistics) vs 频率统计(Frequentist statistics):marginal likelihood(边缘似然)
1. Bayesian statistics 一组独立同分布的数据集 X=(x1,-,xn)(xi∼p(xi|θ)),参数 θ 同时也是被另外分布定义的随机变量 θ∼p(θ|α),此时: p(X|α) ...
- Bayesian Statistics for Genetics | 贝叶斯与遗传学
Common sense reduced to computation - Pierre-Simon, marquis de Laplace (1749–1827) Inventor of Bayes ...
- Bayesian statistics
文件夹 1Bayesian model selection贝叶斯模型选择 1奥卡姆剃刀Occams razor原理 2Computing the marginal likelihood evidenc ...
- 【死磕JVM】给同事讲了一遍GC后,他要去面试,年轻人,就是容易冲动!
前言 在一个风和日丽的中午,和同事小勇一起走在公司楼下的小公园里面,看到很多的小姐姐,心想什么时候能够和这些小姐姐一起讨论人生呀,美滋滋,嘿嘿嘿. 收起你的哈喇子好不好,小勇总是在这个时候发出声音,挺 ...
- 什么是WebSocket (经常听别人讲感觉很高大上其实不然)
WebSocket 协议在2008年诞生,2011年成为国际标准.现在所有浏览器都已经支持了.WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真 ...
- 算法很美,听我讲完这些Java经典算法包你爱上她
大家好,我是小羽. 对于编程来说的话,只有掌握了算法才是了解了编程的灵魂,算法对于新手来说的话,属实有点难度,但是以后想有更好的发展,得到更好的进阶的话,对算法进行系统的学习是重中之重的. 对于 Ja ...
随机推荐
- 节点类(CCNode)
节点与渲染树 回顾前面的介绍,我们已经知道了精灵.层和场景如何构成一个游戏的框架.精灵属于层,层属于场景,玩家与精灵互动,并导致游戏画面在不同场景中切换.把每个环节拼接在一起,我们得到了一个完整的关系 ...
- &&与&
if((2>1)&&(4>3))System.out.printf("两边都是true"); else System.out.println(&qu ...
- 【原】个人对win7开机黑屏只有鼠标排障总结
个人对win7开机黑屏只有鼠标排障总结 文:铁乐猫 第一种情况是explorer.exe进程丢失或损坏有关: 判断方法是按Ctrl+Alt+Del键能呼出任务管理器,结束explorer.exe进程, ...
- Linux netstat命令参数解释
netstat –ntlp 显示 tcp 的监听端口 netstat –ntlp 显示 tcp udp 的监听端口 netstat –r 显示路由表 netstat –rn 显示路由表不做名称解析(较 ...
- microchip PIC芯片使用方法
pickit3调试器使用: http://www.eeboard.com/evaluation/pickit3debug/1/ MPLAB环境使用: 1.代码折叠功能 2.代码补全功能 3.函数跳转功 ...
- CI框架篇之预热篇(1)
CodeIgniter 的基本都了解了,现在就开始预热,如果学习一门语言一样,我们最开始都是输出一个'HELLO WORLD'一样, 现在我们也通过输出这样一个内容,来了解基本的使用. CodeIgn ...
- C#语法糖之第二篇: 参数默认值和命名参数 对象初始化器与集合初始化器
今天继续写上一篇文章C#4.0语法糖之第二篇,在开始今天的文章之前感谢各位园友的支持,通过昨天写的文章,今天有很多园友们也提出了文章中的一些不足,再次感谢这些关心我的园友,在以后些文章的过程中不断的完 ...
- 在VS中关于MySQL的相关问题
最近在vs上折腾mysql数据库 遇到了一些小问题,这里记录一下 问题一:数据源选择中没有mysql数据库的选项 解放方法: 1.安装MySql的VS插件(版本请下载最新版)mysql-for-vis ...
- 对于EditText的详细用法
EditText这个控件对于每一个Android开发者来说都是再熟悉不过了,但是,为什么有的人的EditText可以表现的那么好看,而刚入学Android的程序员来讲却丑到爆.这就充分的说明对于Edi ...
- javascript创建对象(一)
对象定义:无序属性的集合,属性包含基本值.对象.函数,相当于一组没有特定顺序的值. 创建自定义对象最简单的方式就是: var movie=new Object(); movie.name=&qu ...