机器学习 —— 浅谈贝叶斯和MCMC

2018 年 6 月 8 日 人工智能头条



作者 | 徐炎琨

来源 | 徐炎琨的知乎问答


‍‍Abstract:最近课业内的任务不是很多,又邻近暑假了,就在网上搜了一些有关于机器学习和深度学习的课程进行学习。网上的资料非常繁多,很难甄别,我也是货比三家进行学习。这是这个系列的第一个笔记,是关于贝叶斯和MCMC一些数学原理的讲解和代码的实现,希望能够深入浅出,叙述的容易让人理解。…


浅谈贝叶斯


不论是学习概率统计还是机器学习的过程中,贝叶斯总是是绕不过去的一道坎,大部分人在学习的时候都是在强行地背公式和套用方法,没有真正去理解其牛逼的思想内涵。我看了一下 Chalmers 一些涉及到贝叶斯统计的课程,content 里的第一条都是 Philosophy of Bayesian statistics。


历史背景


什么事都要从头说起,贝叶斯全名为托马斯·贝叶斯(Thomas Bayes,1701-1761),是一位与牛顿同时代的牧师,是一位业余数学家,平时就思考些有关上帝的事情,当然,统计学家都认为概率这个东西就是上帝在掷骰子。当时贝叶斯发现了古典统计学当中的一些缺点,从而提出了自己的“贝叶斯统计学”,但贝叶斯统计当中由于引入了一个主观因素(先验概率,下文会介绍),一点都不被当时的人认可。直到20世纪中期,也就是快200年后了,统计学家在古典统计学中遇到了瓶颈,伴随着计算机技术的发展,当统计学家使用贝叶斯统计理论时发现能解决很多之前不能解决的问题,从而贝叶斯统计学一下子火了起来,两个统计学派从此争论不休。


什么是概率?


什么是概率这个问题似乎人人都觉得自己知道,却有很难说明白。比如说我问你 掷一枚硬币为正面的概率为多少?,大部分人第一反应就是50%的几率为正。不好意思,首先这个答案就不正确,只有当材质均匀时硬币为正面的几率才是50%(所以不要觉得打麻将的时候那个骰子每面的几率是相等的,万一被做了手脚呢)。好,那现在假设硬币的材质是均匀的,那么为什么正面的几率就是50%呢?有人会说是因为我掷了1000次硬币,大概有492次是正面,508次是反面,所以近似认为是50%,说得很好(掷了1000次我也是服你)。


掷硬币的例子说明了古典统计学的思想,就是概率是基于大量实验的,也就是 大数定理。那么现在再问你,有些事件,例如:明天下雨的概率是30%;A地会发生地震的概率是 5%;一个人得心脏病的概率是 40%…… 这些概率怎么解释呢?难道是A地真的 100 次的机会里,地震了 5 次吗?肯定不是这样,所以古典统计学就无法解释了。再回到掷硬币的例子中,如果你没有机会掷 1000 次这么多次,而是只掷了 3 次,可这 3 次又都是正面,那该怎么办?难道这个正面的概率就是 100% 了吗?这也是古典统计学的弊端。


举个例子:生病的几率


一种癌症,得了这个癌症的人被检测出为阳性的几率为 90%,未得这种癌症的人被检测出阴性的几率为 90%,而人群中得这种癌症的几率为 1%,一个人被检测出阳性,问这个人得癌症的几率为多少?


猛地一看,被检查出阳性,而且得癌症的话阳性的概率是 90%,那想必这个人应该是难以幸免了。那我们接下来就算算看。


我们用