【机器学习】一文理解贝叶斯定理

贝叶斯定理的由来


贝叶斯定理是18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出得重要概率论理论。贝叶斯定理源于他生前为解决一个“逆概”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发表出来的。在贝叶斯写这篇文章之前,人们已经能够计算“正向概率”,如“假设袋子里面有 N 个白球,M 个黑球,你伸手进去摸一把,摸出黑球的概率是多大”。

在这里插入图片描述

而一个自然而然的问题是反过来:“如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测”。这个问题,就是所谓的逆向概率问题。

在这里插入图片描述

贝叶斯定理的思想出现在18世纪,但真正大规模派上用途还得等到计算机的出现。因为这个定理需要大规模的数据计算推理才能凸显效果,它在很多计算机应用领域中都大有作为,如自然语言处理,机器学习,推荐系统,图像识别,博弈论等等。

贝叶斯定理的定义与推导


机器学习可以理解为通过观测数据((x)x)推测结果(y),同时学习推断规则(c),使得推断结果:

                                                                          \LARGE \hat{y}=c\left ( x \right )

与真实值 y误差尽可能的小。举个例子,我拿到了一个硬币,并观察到了它的尺寸((x)x),就可以通过推断规则(c)来估计投掷结果是正面还是反面(y),下面都会举硬币的例子,我们能观测到硬币的尺寸X(大、中、小),可能的投掷结果为y:正(1)、反(0)。

1. 当我们一无所知时,如何进行推断?

假设我们第一次接触硬币正反的问题,什么都不知道。因为一无所知,只能预测正面和反面的概率都是0.5。

扫描二维码关注公众号,回复: 9401196 查看本文章

假设我们虽然第一次接触硬币问题,但神告诉我们这种硬币出现正面的概率 p\left ( 1 \right )= 0.8,反面的概率是 p\left ( 0 \right )= 0.2,在这种情况下,我们就会倾向于预测结果是正面,且预测错误的概率是1-p\left ( 1 \right )=p\left ( 0 \right )=0.2

此处的p(1)=0.8和p(0)=0.2就叫做先验概率(prior probability指的是在观测前我们就已知的结果概率分布。此处我们不需要观测硬币尺寸,就可以大胆推测硬币的正反。

2. 当我们有了更多信息,该如何利用它们?

显然,前文提到的估算方法是很不准确的,因为没有考虑到硬币的属性。而且现实情况中我们往往可以观测到硬币的一些属性,而非完全一无所知。因此,我们尝试回答:“当我观测到硬币大小时,它正面朝上的概率是多少?”用数学语言表达就是估计:

                                                                           \LARGE p(y=1|x)

相似的,p(y=0|x)代表当我们观测到硬币属性X时,它被投掷后是反面的概率。

我们给p(y=1|x)p(y=0|x)起了个名字,叫做后验概率(posterior probability),指的是在观测到X后我们对结果y的估计。和p(y=1)不同它不是计算y=1的概率,而是计算仅当X被观测到时(满足x条件时)y=1的概率。

先验概率和后验概率之间的关系是什么?简单来看,后验概率可以被看做是对先验概率的一种“更加细致的刻画和更新“,因为此时我们观测到了X,有了额外的信息。

所以后验概率比先验概率更有意义,因为引入了额外的观测信息,所以预测的准确度得到了加强。而大部分机器学习模型尝试得到的,就是后验概率

3. 如何得到后验概率?为什么要引入贝叶斯公式?

后验概率无法直接获得,因此我们需要找到方法来计算它,而解决方法就是引入贝叶斯公式。后验概率这种表达叫做条件概率(conditional probability),一般写作 p\left ( A|B \right ),即仅当B事件发生时A发生的的概率,假设p(A)和p(B)都大于0,易得:

P\left ( A|B \right )=\frac{P\left ( AB \right )}{P\left ( B\right )} ,变形后得到p\left ( AB \right )=p\left ( A|B \right )\cdot p\left ( B \right )

P\left ( B|A \right )=\frac{P\left ( BA\right )}{P\left ( A\right )} ,变形后得到p\left ( BA \right )=p\left ( B|A \right )\cdot p\left ( A \right )

观察后易发现两式左边的联合概率p(AB)和p(BA)是等价的因此右边也等价,得到:p\left ( A|B \right )\cdot p\left ( B \right )=p\left ( B|A \right )\cdot p\left ( A \right )。于是我们就推出了大名鼎鼎的贝叶斯公式

                                                                         \large P\left ( A|B \right )=\frac{P\left ( A \right )\cdot P\left ( B|A\right )}{P\left ( B\right )}

将其带入我们上文中的后验概率中去:

   ·公式1:正面向上的后验概率于是可以改写成 P\left ( y=1|X \right )=\frac{P\left ( y=1\right )\cdot P\left ( X|y=1 \right )}{P\left (X\right )}

   ·公式2:背面向上的后验概率于是可以改写成P\left ( y=0|X \right )=\frac{P\left ( y=0\right )\cdot P\left ( X|y=0 \right )}{P\left (X\right )}

我们发现,在通过贝叶斯公式变形后,后验概率变得可以计算了。观察公式1和2的等号右边,发现这些概率都可以通过观测获得

举个例子,我们假设做了100次硬币实验,有大中小三种硬币(X)。其中30次结果是反面(y=0),在反面时小硬币出现6次。在70次正面向上的情况中(y=1)小硬币出现了7次。我们此时假设X指的是小硬币,观察公式1&2:

分母p(x)代表特定观测X为小硬币出现的概率。那么小硬币的 P\left ( X\right )=\frac{6+7}{100}=0.13

分子上的p(X|y=0)代表当结果是反面时,小硬币的概率。这个也可以通过做实验进行统计, P\left ( X|y=0\right )=\frac{6}{30}=0.2。而分子上的P\left ( X|y=0\right )=\frac{6}{30}=0.2。于是我们就可以因此计算当观测到小硬币正面的后验概率

P\left ( y=1|X \right )=\frac{P\left ( y=1\right )\cdot P\left ( X|y=1 \right )}{P\left (X\right )}=\frac{0.1\times 0.7}{0.13}=0.54 .

同理也可计算观测到小硬币正面的后验概率:

P\left ( y=0|X \right )=\frac{P\left ( y=0\right )\cdot P\left ( X|y=0 \right )}{P\left (X\right )}=\frac{0.2\times 0.3}{0.13}=0.46

贝叶斯决策的预测值是选取后验概率最大的结果。在二分类问题中,也就是对比p(X|y=0)与p(X|y=1),并选择较大的那一个。因为正面的后验概率更大(0.54>0.46),因此我们认为观测到小硬币时的结果是反面的概率更大。

 

4. 贝叶斯决策理论有什么用?

既然贝叶斯决策理论这么好用且最优,为什么不盖过深度学习的锋芒呢?

玩笑过后,需要解释根本原因是贝叶斯决策中假设比较强,实际操作起来并不容易:

我们无法获得真实的先验概率等其他计算要件,需要通过统计学方法进行估计,存在一定的误差。比如我们上面给的例子就是一种估计,而并非直接使用概率计算。

计算所需要的概率往往是不可能的,会面临维度灾难(the curse of dimensionality)在条件概率p(X|y=0)与p(X|y=1),要考虑到观察的特征不止一个(不仅仅是大中小)可能还有重量等其他特征。而且实际计算时往往面临很多数值稳定性问题,所以朴素贝叶斯才会介绍平滑(smoothing)来解决一些特例。

综上所述,直接利用贝叶斯理论进行后验概率估算是不大实用的但对于理论上计算边界(bound),尤其是误差的上界比较有意义。 

发布了36 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42022528/article/details/104473477