十四、贝叶斯判别法
1.贝叶斯判别的定义
贝叶斯判别的定义,是找到一个错判平均损失最小的判别准则,这句话虽然简单,但还有一些概念需要解析,接下来我们假设有 k k k个总体 G 1 , ⋯ , G k G_1,\cdots,G_k G1,⋯,Gk。
首先,错判损失指的是将属于某类的实体错判为其他类,在实际生活中会导致的损失。比如考虑今天会不会下雨的判别,这决定了你出门是否带雨伞,如果今天实际上出太阳,但你判断今天会下雨,这将导致你需要多承受一把雨伞的重量,带来了一定的损失;但如果今天实际上下雨,但你判断今天会出太阳,这将导致你承担被雨淋的痛苦或者等伞的无聊,也带来损失。这两种损失给你造成的体验是否一样?显然下雨错判为晴天的损失更大一些。而在实际的问题中,不同情况的错判损失也很可能不同,因此有必要加以区分。
使用判别法 D D D将第 i i i类的样本错判为第 j j j类,错判损失记作 L ( j ∣ i ; D ) = L ( j ∣ i ) L(j|i;D)=L(j|i) L(j∣i;D)=L(j∣i),一般错判损失可比较而不可量化,但在应用贝叶斯判别法的情况下必须量化。量化方式可以是经验赋值,对所有错判损失给一个大致的判断;而如果不同类别的错判损失大致相同,则定义 L ( j ∣ i ) = 1 − δ i j L(j|i)=1-\delta_{ij} L(j∣i)=1−δij。
其次,既然是错判平均损失,就存在一种平均准则。使用算术平均是否合适呢?事实上是不合适的。首先,每种错判的发生可能不一样,假设实体来自
i
i
i类,在观测前使用某判别准则将其判断到
j
j
j类的概率是固定的,即
P
(
j
∣
i
)
P(j|i)
P(j∣i),这样,如果实体来自
i
i
i类,则此时的错判损失是
r
i
(
D
)
=
∑
j
=
1
k
P
(
j
∣
i
)
L
(
j
∣
i
)
r_i(D)=\sum_{j=1}^k P(j|i)L(j|i)
ri(D)=j=1∑kP(j∣i)L(j∣i)
但也不能够直接将属于每一类的错判损失求算术平均,因为实体来自每一类的概率本身就不同,这称为先验概率。
先验概率代表了出现类别的概率分布,这是在没有任何样本信息时能做出的关于类的直接判断。假设来自第
i
i
i类的先验概率是
q
i
q_i
qi,那么此时的错判平均损失,实际上是一种关于先验概率的加权平均。现在,我们可以定义判别法
D
D
D的错判平均损失为
g
(
D
)
=
∑
i
=
1
k
q
i
∑
j
=
1
k
P
(
j
∣
i
)
L
(
j
∣
i
)
=
d
e
f
∑
i
=
1
k
q
i
r
i
(
D
)
.
g(D)=\sum_{i=1}^kq_i\sum_{j=1}^kP(j|i)L(j|i)\stackrel {\rm def}= \sum_{i=1}^kq_ir_i(D).
g(D)=i=1∑kqij=1∑kP(j∣i)L(j∣i)=defi=1∑kqiri(D).
这样,贝叶斯判别准则就可以被视为这样的最优化问题:找到一个
D
∗
D^*
D∗,使得
g
(
D
∗
)
=
min
D
g
(
D
)
g(D^*)=\min_Dg(D)
g(D∗)=minDg(D)。
2.贝叶斯判别的解
如何找到使得错判平均最小的判别准则,就是贝叶斯判别的求解问题。现在,我们假设 k k k个 m m m维总体 G 1 , ⋯ , G k G_1,\cdots,G_k G1,⋯,Gk的先验概率分别为 q 1 , ⋯ , q k q_1,\cdots,q_k q1,⋯,qk,每个 G i G_i Gi的联合密度函数为 f i ( X ) f_i(X) fi(X),错判损失为 L ( j ∣ i ) L(j|i) L(j∣i)。任何一种判别法 D D D,都将样本空间 R m \R^m Rm划分成 k k k个(连通与否的)区域 { D 1 , ⋯ , D k } \{D_1,\cdots,D_k\} {D1,⋯,Dk},这里 D j D_j Dj表示样本落在被判别到 j j j类的区域。
据此,我们可以先给出错判概率为
P
(
j
∣
i
)
P(j|i)
P(j∣i),它表示样品
X
X
X本身来自密度函数
f
i
(
X
)
f_i(X)
fi(X),但落在区域
D
j
D_j
Dj内:
P
(
j
∣
i
;
D
)
=
∫
D
j
f
i
(
X
)
d
X
.
P(j|i;D)=\int_{D_j}f_i(X){\rm d}X.
P(j∣i;D)=∫Djfi(X)dX.
所以此时的错判平均损失是
g
(
D
)
=
∑
i
=
1
k
q
i
∑
j
=
1
k
L
(
j
∣
i
)
∫
D
j
f
i
(
X
)
d
X
=
∑
j
=
1
k
∫
D
j
∑
i
=
1
k
q
i
L
(
j
∣
i
)
f
i
(
X
)
d
X
=
d
∑
j
=
1
k
∫
D
j
h
j
(
X
)
d
X
.
\begin{aligned} g(D)=& \sum_{i=1}^k q_i\sum_{j=1}^k L(j|i)\int_{D_j}f_i(X){\rm d}X \\ =&\sum_{j=1}^k \int_{D_j}\sum_{i=1}^k q_iL(j|i)f_i(X){\rm d}X \\ \stackrel {\rm d}=&\sum_{j=1}^k\int_{D_j} h_j(X){\rm d}X. \end{aligned}
g(D)===di=1∑kqij=1∑kL(j∣i)∫Djfi(X)dXj=1∑k∫Dji=1∑kqiL(j∣i)fi(X)dXj=1∑k∫Djhj(X)dX.
这里定义
h
j
(
X
)
=
d
e
f
∑
i
=
1
k
q
i
L
(
j
∣
i
)
f
i
(
X
)
,
h_j(X)\stackrel {\rm def}= \sum_{i=1}^k q_iL(j|i)f_i(X),
hj(X)=defi=1∑kqiL(j∣i)fi(X),
它表示把样品
X
X
X归到
G
j
G_j
Gj类的平均损失,注意到
h
j
(
X
)
h_j(X)
hj(X)与
D
D
D无关,对
h
j
(
X
)
h_j(X)
hj(X)求和,就得到了错判平均损失。对于贝叶斯判别的解
D
∗
D^*
D∗,要使得
g
(
D
∗
)
g(D^*)
g(D∗)是所有
D
D
D中最小的,所以
g
(
D
∗
)
−
g
(
D
)
=
∑
i
=
1
k
∫
D
i
∗
h
i
(
X
)
d
X
−
∑
j
=
1
k
∫
D
j
h
j
(
X
)
d
X
=
∑
i
=
1
k
∑
j
=
1
k
∫
D
i
∗
∩
D
j
[
h
i
(
X
)
−
h
j
(
X
)
]
d
X
≤
0.
\begin{aligned} & g(D^*)-g(D) \\ =&\sum_{i=1}^k \int_{D_i^*}h_i(X){\rm d}X-\sum_{j=1}^k \int_{D_j}h_j(X){\rm d}X \\ =&\sum_{i=1}^k \sum_{j=1}^k \int_{D_i^*\cap D_j}[h_i(X)-h_j(X)]{\rm d}X \\ \le&0. \end{aligned}
==≤g(D∗)−g(D)i=1∑k∫Di∗hi(X)dX−j=1∑k∫Djhj(X)dXi=1∑kj=1∑k∫Di∗∩Dj[hi(X)−hj(X)]dX0.
由此,我们能够得到贝叶斯判别的解是:在所有
h
i
(
X
)
h_i(X)
hi(X)中,如果
h
j
(
X
)
h_j(X)
hj(X)最小,就将
X
X
X判别为第
j
j
j类,在这个判别法的条件下,能够让
g
(
D
∗
)
−
g
(
D
)
≤
0
g(D^*)-g(D)\le 0
g(D∗)−g(D)≤0恒成立。
特别当我们指定错判损失都相等的情况下,如果 h i ( X ) < h j ( X ) h_i(X)<h_j(X) hi(X)<hj(X)即 h i ( X ) − h j ( X ) < 0 h_i(X)-h_j(X)<0 hi(X)−hj(X)<0,那么就有 q j f j ( X ) < q i f i ( X ) q_jf_j(X)<q_if_i(X) qjfj(X)<qifi(X),所以如果在 i , j i,j i,j类中将 X X X判定为 i i i类,就应该让 q i f i ( X ) q_if_i(X) qifi(X)更大,所以错判损失都相等的情况下,贝叶斯判别的解是:在所有 q i f i ( X ) q_if_i(X) qifi(X)中,如果 q j f j ( X ) q_jf_j(X) qjfj(X)最大,就将 X X X判别为第 j j j类。在此基础上,如果先验概率都相等,则在所有 f i ( X ) f_i(X) fi(X)中,如果 f j ( X ) f_j(X) fj(X)最大,就将 X X X判别为第 j j j类。
3.广义马氏距离
对于正态总体,在错判损失都相等的情况下,
q
i
f
i
(
X
)
=
q
i
(
2
π
)
m
/
2
∣
Σ
∣
1
/
2
exp
{
−
1
2
(
X
−
μ
(
i
)
)
′
Σ
−
1
(
X
−
μ
(
i
)
)
}
,
ln
q
i
f
i
(
X
)
=
C
+
ln
q
i
−
1
2
ln
∣
Σ
∣
−
1
2
(
X
−
μ
(
i
)
)
′
Σ
−
1
(
X
−
μ
(
i
)
)
.
q_if_i(X)=\frac{q_i}{(2\pi)^{m/2}|\Sigma|^{1/2}}\exp\left\{-\frac12(X-\mu^{(i)})'\Sigma^{-1}(X-\mu^{(i)}) \right\}, \\ \ln q_if_i(X)=C+\ln q_i-\frac12\ln|\Sigma|-\frac12(X-\mu^{(i)})'\Sigma^{-1}(X-\mu^{(i)}).
qifi(X)=(2π)m/2∣Σ∣1/2qiexp{−21(X−μ(i))′Σ−1(X−μ(i))},lnqifi(X)=C+lnqi−21ln∣Σ∣−21(X−μ(i))′Σ−1(X−μ(i)).
因此,我们定义样本
X
X
X到总体
G
i
G_i
Gi的广义马氏距离为
D
i
2
(
X
)
=
d
i
2
(
X
)
+
ln
∣
S
∣
−
2
ln
q
i
.
D_i^2(X)=d^2_i(X)+\ln |S|-2\ln q_i.
Di2(X)=di2(X)+ln∣S∣−2lnqi.
可以看到,当样本
X
X
X到总体
G
i
G_i
Gi的广义马氏距离最小的时候,它会被归类到
G
i
G_i
Gi。因此,在每一类都是多元正态总体,且错判损失相等的情况下,用广义马氏距离替代马氏距离,贝叶斯判别的解与直接判别法是一样的。
回顾总结
-
贝叶斯判别法,是在定义了先验概率 q i q_i qi与错判损失 L ( j ∣ i ) L(j|i) L(j∣i)的情况下,使平均错判损失最小的判别准则。
-
在贝叶斯判别的条件下,决定样本 X X X应该判别到某一类的,是某一类的平均错判损失,即
h j ( X ) = ∑ i = 1 k q i L ( j ∣ i ) f i ( X ) . h_j(X)=\sum_{i=1}^k q_iL(j|i)f_i(X). hj(X)=i=1∑kqiL(j∣i)fi(X).
样本 X X X被判别到平均错判损失最小的一类,即 X ∈ G j ⇔ h j ( X ) ≤ h i ( X ) , ∀ i X\in G_j\Leftrightarrow h_j(X)\le h_i(X),\forall i X∈Gj⇔hj(X)≤hi(X),∀i。 -
如果 L ( j ∣ i ) = 1 − δ i j L(j|i)=1-\delta_{ij} L(j∣i)=1−δij,也就是错判的损失为1,正判的损失为0,那么判别函数可以化简为
q i f i ( X ) . q_if_i(X). qifi(X).
样本 X X X被判别到 q i f i ( X ) q_if_i(X) qifi(X)最大的一类,即 X ∈ G j ⇔ q j f j ( X ) ≥ q i f i ( X ) , ∀ i X\in G_j\Leftrightarrow q_jf_j(X)\ge q_if_i(X),\forall i X∈Gj⇔qjfj(X)≥qifi(X),∀i。 -
定义广义马氏距离为
D i 2 ( X ) = d i 2 ( X ) + ln ∣ S ∣ − 2 ln ∣ q i ∣ , D_i^2(X)=d_i^2(X)+\ln |S|-2\ln |q_i|, Di2(X)=di2(X)+ln∣S∣−2ln∣qi∣,
对于错判损失为 L ( j ∣ i ) = 1 − δ i j L(j|i)=1-\delta_{ij} L(j∣i)=1−δij的正态总体判别,基于广义马氏距离的直接判别法就是贝叶斯准则下的最优判别法。