本文主要是介绍贝叶斯公式(先验/后验概率),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转自https://www.cnblogs.com/yemanxiaozu/p/7680761.html
前言
以前在许学习贝叶斯方法的时候一直不得要领,什么先验概率,什么后验概率,完全是跟想象脱节的东西,今天在听喜马拉雅的音频的时候突然领悟到,贝叶斯老人家当时想到这么一种理论前提可能也是基于一种人的直觉.
先验概率:是指根据以往经验和分析得到的概率.[1]
意思是说我们人有一个常识,比如骰子,我们都知道概率是1/6,而且无数次重复实验也表明是这个数,这是一种我们人的常识,也是我们在不知道任何情况下必然会说出的一个值.而所谓的先验概率是我们人在未知条件下对事件发生可能性猜测的数学表示!*
后验概率:事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小[1]
举个栗子
首先我想问一个问题,桌子上如果有一块肉喝一瓶醋,你如果吃了一块肉,然后你觉得是酸的,那你觉得肉里加了醋的概率有多大?你说:80%可能性加了醋.OK,你已经进行了一次后验概率的猜测.没错,就这么简单.
形式化:
我们设A为加了醋的概率,B为吃了之后是酸的概率.C为肉变质的概率
思考思考再思考
那么先验概率在这个公式中有没有出现呢?有,P(A)就是一种先验概率.
那么什么是P(B|A)呢? 类条件概率.
那么P(B|A)为什么叫类条件概率呢?马上解释.
在写这个随笔之时,我脑子中又有一种构想,所谓的后验概率,是一种果因概率,即在一个结果已经发生的条件下,可能是其中某一个原因造成的概率有多大.这里引用一段”概率论与数理统计”[2]中关于贝叶斯公式的解释:
“如果我们把事件A看做’结果’,把诸事件B1,B2…看做导致这个结果的可能的’原因’,则可以形象地把全概率公式看做成为’由原因推结果’;而贝叶斯公式则恰好相反,其作用于’由结果推原因’:现在有一个’结果’A以发生,在众多可能的’原因’中,到底是哪一个导致了这结果”
这也佐证了我构想的正确性
那么这个P(原因1导致结果)和P(结果|原因1)之间到底有什么联系呢?让我们举一个图像识别的例子
再举个栗子
假如给你一些图片,这些图片中有的图上有动物的角,这些图片占了1/10(即先验概率),且已知在有角的条件下是犀牛的概率是0.8(类条件概率1,注意这个概率互补的概率是有角条件下不是犀牛的概率),已知在无角条件下是犀牛概率的是0.05(类条件概率2),现在拿起一张图,发现是一张犀牛的图,那么这张图上带角的概率有多大(求后验概率)
由图中公式可知P(图片上由动物的角|是犀牛) = 0.8*0.1/(0.8*0.1+0.05*0.9)=0.64
可以看到P(图片上由动物的角且是犀牛)=0.08与P(是犀牛|图片上由动物的角)=0.8之间差别非常大.
再通过比较可以发现,分母中的类条件概率实际上把一个完整的问题集合S通过特征进行了划分,划分成S1/S2/S3…,拿我刚刚提出的所谓果因概率来讨论,类条件概率中的类指的是把造成结果的所有原因一(yi) 一(yi)进行列举,分别讨论.
总结:
“概率论只不过是把常识用数学公式表达了出来”—拉普拉斯
我想之所以贝叶斯方法在机器学习中如此重要,就是因为人们希望机器人能像人那样思考,而很多问题是需要计算机在已知条件下做出最佳决策的决策,而贝叶斯公式就是对人脑在已知条件下做出直觉判断的一种数学表示.
参考文献:
[1].百度百科-先验概率
[2].概率论与数理统计 –陈希孺
这篇关于贝叶斯公式(先验/后验概率)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!