贝叶斯决策

学习了一个学期的模式识别课程,老师讲的很好,深入浅出,无奈我脑子不够用没有理解到其中精髓,现在整理了一下听课笔记,以备以后需要时翻阅。这篇文章记录的是贝叶斯决策,其中包括最大后验、最大似然和贝叶斯决策的直观理解和数学理论。

关于先验和后验

关于什么是先验概率和后验概率, 余生最年轻在他的博客里解释的很好。先验(Priori )概率直观上理解,所谓“先”,就是在事情之前,即在事情发生之前事情发生的概率。是根据以往经验和分析得到的概率。比如抛硬币,我们都认为正面朝上的概率是0.5,这就是一种先验概率,在抛硬币前,我们只有常识。这个时候事情还没发生,我们进行概率判断。所谓的先验概率是对事情发生可能性猜测的数学表示。

后验(Posteriori)概率直观上理解是事情已经发生了,事情发生可能有很多原因,判断事情发生时由哪个原因引起的概率。 比如今天你没去学校,原因有两个,可能是生病了,也可能是自行车坏了。然后上课时老师发现你没来。(这里是一个结果,就就是你没来学校这件事情已经发生了)老师叫学霸计算一下概率,分别是因为生病了没来学校的概率和自行车坏了没来学校的概率。很显然,后验概率就是在事情发生后判断由哪一个原因引起的概率。这里的事情是你上学迟到,原因有生病了和自行车坏了

这两公式计算的 P(生病|迟到) 和 P(自行车坏了|迟到) 的就是后验概率。更详细的介绍可以在参考资料[1]中转到 余生最年轻的博文。

最大化后验(Maximum A Posteriori,MAP)准则

在对一个物体进行分类时,最直观的方法是根据这个物体的特征,选择最契合这个特征的类,这种思想就是最大化后验准则。形式化地描述就是根据某个物体的特征向量x,估计每个类在这特征向量下的后验概率,然后选择后验概率最大的类:
assign ⁡ x  to class  ω i  if  g i ( x ) > g j ( x ) ∀ j ≠ i \operatorname{assign} x \text { to class } \omega_{i} \text { if } g_{i}(x)>g_{j}(x) \forall j \neq i assignx to class ωi if gi(x)>gj(x)j=i
其中:
g i ( x ) = P ( ω i ∣ x ) g_{i}(x)=P\left(\omega_{i} | x\right) gi(x)=P(ωix)
是后验概率。

根据贝叶斯公式进一步看这个后验概率:
P ( ω i ∣ x ) = P ( ω i ) P ( x ∣ ω i ) P ( x ) P\left(\omega_{i} | x\right)=\frac{P\left(\omega_{i}\right) P\left(x | \omega_{i}\right)}{P(x)} P(ωix)=P(x)P(ωi)P(xωi)
P(x)和P(ω)作为先验概率。如果我们没有先验知识,只能忽略掉先验,这时候决策准则就变成了**最大似然(Maximum Likelihood,ML)**准则:
g i ( x ) = P ( x ∣ ω i ) g_{i}(x)=P\left(x | \omega_{i}\right) gi(x)=P(xωi)
最大似然准则一个的直观理解是”在什么样的状态下,最可能产生现在的观测到的数据” 。《模式分类》中的一个例子如下:

假设我们需要设计一个能分开鲈鱼和鲑鱼的分类器(约定ω1代表鲑鱼,ω2代表鲈鱼)。当我们唯一能利用的信息是先验概率时,即只知道鲈鱼和鲑鱼的出现概率P(ω1)和P(ω2),那么我们就按照以下准则判断:若P(ω1)>P(ω2)就判定为ω1,反之亦然。

如果只进行一次判决,这样的准则还是合理的,但是如果我们需要多次进行判断,那这样判断就很奇怪。好在大多数情况下,我们不会只根据先验进行判断,假设我们已经统计出了鲈鱼和鲑鱼身长的概率:
P ( x ∣ ω 1 ) = 1 2 π e − 1 2 ( x − 4 ) 2 P ( x ∣ ω 2 ) = 1 2 π e − 1 2 ( x − 10 ) 2 P\left(x | \omega_{1}\right)=\frac{1}{\sqrt{2 \pi}} e^{-\frac{1}{2}(x-4)^{2}} \quad P\left(x | \omega_{2}\right)=\frac{1}{\sqrt{2 \pi}} e^{-\frac{1}{2}(x-10)^{2}} P(xω1)=2π 1e21(x4)2P(xω2)=2π 1e21(x10)2
那么,在进行判断时,我们可以根据鱼的身长x最大化P(x|ω)判断属于哪一类,如下图,这样就是最大似然准则。
在这里插入图片描述

错误率

决策的好坏可以通过错误率进行衡量,错误率可以根据全概率公式总合每个类分错的概率和这个类的概率,下面的公式很直观地解释了错误率。
 P[error  ] = ∑ i = 1 c P [  error  ∣ ω i ] P [ ω i ] \text { P[error } ]=\sum_{i=1}^{c} P\left[\text { error } | \omega_{i}\right] P\left[\omega_{i}\right]  P[error ]=i=1cP[ error ωi]P[ωi]
其中,P[error|ω]是类被分错的概率,所谓分错就是被分成了其他类:
 P[error  ∣ ω i ] = P [  choose  ω j ∣ ω i ] = ∫ R j P ( x ∣ ω i ) d x \text { P[error }\left.| \omega_{i}\right]=P\left[\text { choose } \omega_{j} | \omega_{i}\right]=\int_{\mathbb{R}_{j}} P\left(x | \omega_{i}\right) d x  P[error ωi]=P[ choose ωjωi]=RjP(xωi)dx
那么为什么这个概率到最后变成了一个积分呢?以上面鲑鱼、鲈鱼分类为例,我们根据最大似然准则确定了对鲈鱼和鲑鱼的分类。直观上,错误率就如下图的阴影部分:
在这里插入图片描述
公式表示为:
 P[error  ] = P [ ω 1 ] ∫ R 2 P ( x ∣ ω 1 ) d x + P [ ω 2 ] ∫ R 1 P ( x ∣ ω 2 ) d x \text { P[error } ]=\mathrm{P}\left[\omega_{1}\right] \int_{\mathrm{R}_{2}} \mathrm{P}\left(\mathrm{x} | \omega_{1}\right) \mathrm{d} \mathrm{x}+\mathrm{P}\left[\omega_{2}\right] \int_{\mathrm{R}_{1}} \mathrm{P}\left(\mathrm{x} | \omega_{2}\right) \mathrm{d} \mathrm{x}  P[error ]=P[ω1]R2P(xω1)dx+P[ω2]R1P(xω2)dx
其中,对P[x|ω1]在R2决策区域的积分就是ω1被错分为ω2的概率,对应阴影部分ε1。

上面的错误率是在每个类别的分布(即先验)已知的状态下计算的。我们也可以根据全概率公式综合所有样本计算错误率:
 P[error  ] = ∫ − ∞ + ∞ P [  error  ∣ x ] P ( x ) d x \text { P[error } ]=\int_{-\infty}^{+\infty} \mathrm{P}[\text { error } | x] \mathrm{P}(\mathrm{x}) \mathrm{d} x  P[error ]=+P[ error x]P(x)dx
对于最大后验准则,我们选择P(ω|x)最大的决策。直观上,某类后验概率的最大化对应着其他类的后验概率之和最小化,也就是P[error|x]的最小化,而P(x)是固定的,所以直观上最大后验概率准则最小化了错误率。

更准确的直观理解如下:

最小化错误率意味着最大化正确率,而正确率可以根据下式计算:
P [  correct  ] = ∑ i = 1 c ∫ R i P ( ω i ∣ x ) P ( x ) d x P[\text { correct }]=\sum_{i=1}^{c} \int_{R_{i}} P\left(\omega_{i} | x\right) P(x) d x P[ correct ]=i=1cRiP(ωix)P(x)dx
最大后验决策最大化的是上面的积分,也就是面积。

在这里插入图片描述

贝叶斯(Bayes)准则

最大化后验准则假设每类分错时代价(或者说惩罚)是一样的。然而在实际生活中,往往没有这么理想,如疾病诊断时把实际有病的人分类为健康的代价就比把健康的人分类为有病的代价大。贝叶斯准则就是考虑了误分类带来的不同的风险,最小化风险进行分类。定义贝叶斯风险如下:
ℜ ( ω i ∣ x ) = ∑ j = 1 c C i j P ( ω j ∣ x ) \Re\left(\omega_{i} | x\right)=\sum_{j=1}^{c} C_{i j} P\left(\omega_{j} | x\right) (ωix)=j=1cCijP(ωjx)
其中,Cij表示将j类错分为i类导致的代价,代价乘以该类的概率就是将该类错分为i类的风险。因此分类为i类的贝叶斯风险就是将其他类错分为i类的风险总合。我们在决策时,选择的是贝叶斯风险最小的类,形式化语言为:
x assign ⁡ x  to class  ω i  if  g i ( x ) > g j ( x ) ∀ j ≠ i x\operatorname{assign} x \text { to class } \omega_{i} \text { if } g_{i}(x)>g_{j}(x) \forall j \neq i xassignx to class ωi if gi(x)>gj(x)j=i

g i ( x ) = − ℜ ( α i ∣ x ) g_{i}(x)=-\Re\left(\alpha_{i} | x\right) gi(x)=(αix)

可以发现,当Cij去如下形式时,贝叶斯准则就成为了最大后验准则:
C i j = { 0 i = j 1 i ≠ j C_{i j}=\left\{\begin{array}{ll} {0} & {i=j} \\ {1} & {i \neq j} \end{array}\right. Cij={01i=ji=j
因此,最大后验准则是贝叶斯准则的一个特定情况,最大似然准则是最大后验准则的一个特定情况。

与最大后验准则最小化的错误率相对应,贝叶斯准则最小化的是贝叶斯风险:
 minimize  ℜ ( ω ) = ∫ R ( ω ∣ x ) P ( x ) d x \text { minimize } \quad \Re(\omega)=\int \mathfrak{R}(\omega| x) P(x) d x  minimize (ω)=R(ωx)P(x)dx

关于生成模型和判别模型

贝叶斯决策属于一种生成模型。所谓生成模型就是分别对类的条件密度建模,然后利用贝叶斯公式计算后验概率。其他的生成模型还如概率图模型。

判别模型则不经过概率推导,直接学习出后验概率。判别模型包括KNN、SVM等。

参考资料

[1]余生最年轻:先验概率,后验概率 https://blog.csdn.net/qq_40597317/article/details/81002463

[2]模式识别(第二版)

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐