深入浅出贝叶斯公式、极大似然估计和最大后验估计

前言

表面上看,此公式仅仅是条件概率公式。但实际上贝叶斯公式蕴含着很多道理。根据张颢老师的描述,其可以表达成一种学习的过程,本文对其理解进一步细化为个人的理解,相当于学后感。

一、贝叶斯公式的理解

1.1 认知层面

P ( B ∣ A ) = P ( A ∣ B ) P ( B ) P ( A ) ( 1 ) P(B\mid A) = \frac{P(A\mid B)P(B)}{P(A)} (1) P(BA)=P(A)P(AB)P(B)1
A是数据,B是认知(我们也可以理解为根据数据学到的东西)。

  1. P(B),先验概率。我们在最原始的时候对于某种事物的认知是基于先验知识的。例如,一箱小球,我们并不知道里面有多少个小球,分别是什么颜色。但伟大的古人告诉我,此箱子里的小球比10个要多,而且有不止一种颜色。此时,我对这个小球是有一定的认知的,这就是先验概率P(B)。
  2. P ( B ∣ A ) P(B\mid A) P(BA),后验概率,也就是新的认知。基于数据的情况下,我们的认知会产生什么变化。例如,还是那一箱小球,我自己去摸了10个,全是黑色的,那么我的大脑就会重溯,我认为箱子里面也许只有一种颜色的小球。
  3. P ( A ) P(A) P(A)
  4. P ( A ∣ B ) P(A\mid B) P(AB),似然。我基于认知的情况下去采集数据,这里反映了一个非常深刻的道理,没有办法在绝对的客观下去采集数据,我们看待事物时同样也是这个道理。例如美国CNN媒体在拍摄中国时,不可避免地(故意的)带着有色眼镜去拍摄。

1.2 信任层面

另一种说法是,贝叶斯公式表达了,有多大的把握去相信一个现象是事件发生的本质。
将式(1)展开
P ( B ∣ A ) = P ( A ∣ B ) P ( B ) P ( A ∣ B ) P ( B ) + P ( A ∣ ∼ B ) P ( ∼ B ) ( 2 ) P(B\mid A) = \frac{P(A\mid B)P(B)}{P(A\mid B)P(B) + P(A\mid \sim B)P(\sim B) } (2) P(BA)=P(AB)P(B)+P(AB)P(B)P(AB)P(B)2
借用博客中的例子,假设说A代表汽车的警报响了,B代表汽车被砸了。与上例不同,警报响了仅仅是某一个事件,并不是某一批事件发生的情况,但归根结底我们研究问题的思路是相同的。
如果汽车的警报响了,我们通常是什么反应?我们会认为汽车被砸了吗,我们通常不会在意,因为虚警的情况实在太多了。所以虚警很多是我们的先验,我们的先验非常影响我们认同这件事发生的可能性。
同时,如果这个世界上警报响的方式只有一种,也就是说没有 ∼ B \sim B B,那么(2)式右侧为0,也就是说警报只要一响,车就被砸了。
另一种分析是,假设汽车被砸的概率 P ( B ) P(B) P(B)本身就非常小,那么不管 P ( A ∣ B ) P(A\mid B) P(AB)有多大,那其实 P ( B ∣ A ) P(B\mid A) P(BA)也不会很大。也就是说当一件事情发生的概率特别小的时候,不管我们获取到什么样的信息,都有可能是误会。

二、分类任务中的体现

在分类任务中,A代表数据,也是某个具体的样本。B是认知,也可以细化成某一个物体的类别。值得注意的是,输入“数据”,实际上是输入特征,一般把数据编码(或统计)为特征。
我们如果求出 P ( B ∣ A ) P(B\mid A) P(BA),就相当于知道了某一个新样本(测试集)的在每个类的概率是多少,从而知道在我们的模型下,这个样本属于哪一类。

例如 P ( 狗 ∣ 数 据 ) P(狗\mid 数据) P() = 0.1, P ( 猫 ∣ 数 据 ) P(猫\mid 数据) P()=0.9,那么我就认为这个数据分类为

三、极大似然估计(MLE)

似然函数

似然函数
P ( x ∣ θ ) ( 3 ) P(x\mid \theta) (3) P(xθ)(3)
其中 θ \theta θ是模型的参数,x是样本。当我们有很多采样数据但不知道它背后的分布时(x是已知, θ \theta θ是未知)时,它描述了不同分布出现这样的采样结果的概率分别是多少。

MLE

接着,如果我们去找到使这个结果最大的分布,这个过程就叫MLE。
极大似然估计:根据已知的实验结果估计最有可能导致这样结果的概率分布的概率值( θ \theta θ)。根据这个定义很容易发现,这样估计出来的概率分布也许和真实的分布不太相同,例如用一条直线去拟合一堆离散点,拟合并不代表真实。
在一个婴儿(先验知识很匮乏的模型)抛硬币时,如果抛10次7次是正面。他会认为硬币朝上的概率是70%。(此时就不太真实了,因为数据量小,不符合大数定律)
他为什么会这样认为,这就引入了似然。朝上的概率是分布,抛10次的结果是数据,我们用MLE怎么去看这个分布呢?假设每一次抛硬币是独立同分布的,对于这样的0-1事件,我们可以得到。
P ( x ∣ θ ) = θ 7 ( 1 − θ ) 3 a r g m a x P ( x ∣ θ ) = 0.7 P(x\mid \theta) = \theta ^7(1- \theta)^3 \\ argmaxP(x\mid \theta) = 0.7 P(xθ)=θ7(1θ)3argmaxP(xθ)=0.7
很明显这并不准,原因有二。第一,婴儿没有先验知识。第二,没有先验知识的情况下数据量不够。假设,是一个成人抛硬币,同样是这个结果,但根据他的先验知识他也会认为硬币向上的概率是0.5。假设,数据量非常大,符合大数定律,那么这个概率会趋于0.5,婴儿也学得会。

最大后验估计

上面提到不准的原因有二。第一,婴儿没有先验知识。第二,没有先验知识的情况下数据量不够。后者就不说了,是采样层面的问题,那么如何加入先验知识呢?
后验公式(贝叶斯公式)
P ( B ∣ A ) = P ( A ∣ B ) P ( B ) P ( A ) P ( θ ∣ x ) = P ( x ∣ θ ) P ( θ ) P ( x ) P(B\mid A) = \frac{P(A\mid B)P(B)}{P(A)} \\ P(\theta \mid x) = \frac{P(x\mid \theta)P(\theta)}{P(x)} P(BA)=P(A)P(AB)P(B)P(θx)=P(x)P(xθ)P(θ)
可以看到,这个公式的分母加入了先验 P ( θ ) P(\theta) P(θ),分母是一个可以通过数据集计算的值,如果我们将 a r g m a x P ( θ ∣ x ) argmaxP(\theta \mid x) argmaxP(θx)就相当于最大化分子,那么这就叫最大后验估计。简而言之,与极大似然估计相比就是加入了先验的估计。

如果我们加入先验知识,硬币向上的概率为0.5,那么就算10次抛硬币有7次正面, θ \theta θ算出来是0.558而不是0.7。当然了,如果抛100W次硬币有70W次是正面,先验再强 θ \theta θ算出来都会接近0.5。这告诉我们,第一,实验结果有可能改变我们的认知,即我们的初始认知不一定是正确的,第二,先验知识在偶然事件中很影响我们对于问题的判断。

引用

https://blog.csdn.net/u011508640/article/details/72815981
统计学习方法 李航
B站视频 张颢

你可能感兴趣的:(深入浅出系列,人工智能)