贝叶斯公式是概率论中的一个重要公式,它以18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)的名字命名。它用于计算在给定一些先验信息的情况下,估计某一事件的概率。
贝叶斯公式在许多领域中都有广泛的应用,包括统计学、机器学习、人工智能、自然语言处理、医学诊断、金融建模等,在许多实际问题中都是一种有力的工具。
接下来,我们通过一个例子来逐步去理解相关的概率公式(概率、条件概率、联合概率、贝叶斯概率):
样本数 | 职业 | 体型 | 是否喜欢 |
---|---|---|---|
1 | 程序员 | 超重 | 不喜欢 |
2 | 产品 | 匀称 | 喜欢 |
3 | 程序员 | 匀称 | 喜欢 |
4 | 程序员 | 超重 | 喜欢 |
5 | 美工 | 匀称 | 不喜欢 |
6 | 美工 | 超重 | 不喜欢 |
7 | 产品 | 匀称 | 喜欢 |
1. 概率
概率是描述事件发生可能性的一种数学和统计概念。它通常用来衡量某个事件发生的可能性或概率。概率可以是一个介于0和1之间的数值,其中0表示事件绝对不会发生,1表示事件肯定会发生,而0.5表示事件发生的可能性为50%。
例如:
喜欢的概率是多少?记作:P(喜欢)=4/7
职业是产品的概率是多少?记作:P(职业=产品)=2/7
“P” 在概率表示中是 “Probability“(概率)的缩写。
2. 条件概率
条件概率考虑的问题是:在事件 A 已经发生的条件下计算事件 B 的发生概率,记作:P(B|A)
例如:在喜欢的条件下(事件A),职业是程序员的概率?
记作:P(职业=程序员|喜欢)
- 在喜欢条件下,将样本限制在了 2、3、4、7 号样本;
- 在 2、3、4、7 号样本中职业是程序员的有 2 个;
- 故:P(职业=程序员|喜欢) = 2/4 = 1/2
P(A|B) 和 P(B|A) 相同吗?
答案:不同
P(喜欢|职业=程序员)=2/3,很显然与 P(职业=程序员|喜欢)是不同的。
3. 联合概率
联合概率表示两个事件共同发生的概率。事件 A 与 B 的联合概率表示为 P(AB) 、P(A,B) 、P(A∩B)。计算公式如下::
例如:职业是程序员(事件A)并且体型匀称(事件B)的概率是多少?
记作:P(职业=程序员,体型=匀称)
套公式:P(职业=程序员,体型=匀称) = P(职业=程序员) * P(体型=匀称|职业=程序员)
- 数据集中,共有 7 个样本
- 职业是程序员有 1、3、4 共 3 个样本,则其概率为:3/7
- 在职业是程序员的条件下,体型是匀称只有 3 号样本,共 1 个样本,则其概率为:1/3
- 则即是程序员又体型匀称的概率为:3/7 * 1/3 = 1/7
灰色的椭圆表示 A 事件的发生概率,红色的椭圆表示 B 事件的发生概率,它们相交的部分表示事件 A 和 B 同时发生的概率。
注意:P(AB) 和 P(BA) 是等价的。
4. 贝叶斯公式
我们前面提到过,P(A|B) 和 P(B|A) 是不同的,但是这两者之间有存在一定的关系。贝叶斯公式就是用来描述 P(A|B) 和 P(B|A) 之间的转换关系。即:从已知的条件概率中推导出另一个条件概率。
例如:我们要计算 P(喜欢|职业=程序员,体型=超重) 的概率值是多少?
编号 | 职业 | 体型 | 喜欢的概率? |
---|---|---|---|
1 | 程序员 | 超重 | ? |
根据贝叶斯公式,我们可以将上面的计算过程转换为如下:
其中:
- P(职业=程序员,体型=超重|喜欢)=P(体型=超重|喜欢) * P(职业=程序员|喜欢,体型=超重)
- P(职业=程序员,体型=超重) = P(职业=程序员) * P(体型=超重|职业=程序员)
计算过程:
- P(体型=超重|喜欢) = 1/4
- P(职业=程序员|喜欢,体型=超重) = 1/1
- P(喜欢) = 4/7
- P(职业=程序员,体型=超重 = 3/7*2/3 = 2/7
- 最后得到:P(喜欢|职业=程序员,体型=超重) = 1/2 = 0.5
我们通过对数据的观察,发现在喜欢和不喜欢中各有一例 [职业=程序员,体型=超重] 样本,即:喜欢的概率为 0.5。
最后,让我们再通俗的去理解下贝叶斯公式,当我们想知道 P(A|B) 时,即:在 B 的条件下 A 的概率。首先,我们就需要根据历史数据来进行估计,估计过程如下:
- P(A) 表示先验概率,即:只通过历史数据大体来得到一个参考概率值;
- P(B|A) 将会更深层次的利用历史数据中,各个不同维度数据的概率信息来校准初步估计得到的概率值 P(A),从而得到后验概率;
- 分母 P(B) 的目的仅仅是为了归一化,使得概率值为 0-1 之间。