目录
- 7.1 贝叶斯决策论
- 7.2 极大似然估计
- 7.3 朴素贝叶斯分类器
- 7.4 半朴素贝叶斯分类器
- 7.5 贝叶斯网
- 7.5.1 结构
- 7.5.2 学习
- 7.5.3 推断
- 7.6 EM算法
7.1 贝叶斯决策论
对分类任务来说,在所有相关概率都己知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。假设有N种可能的类别标记,即
γ
=
{
c
1
,
c
2
,
.
.
.
,
c
N
}
\gamma =\left \{ c_{1},c_{2},...,c_{N} \right \}
γ={c1,c2,...,cN},
λ
i
j
\lambda _{ij}
λij是将一个真实标记为
c
j
c_{j}
cj 的样本误分类为
c
i
c_{i}
ci
所产生的损失。基于后验概率
P
(
c
i
∣
x
)
P\left ( c_{i}\mid x \right )
P(ci∣x)可获得将样本
x
x
x分类为
c
i
c_{i}
ci所产生的期望损失,,即在样本
x
x
x上的“条件风险”。
R
(
c
i
∣
x
)
=
∑
j
=
1
N
λ
i
j
P
(
c
j
∣
x
)
R(c_i\mid\boldsymbol{x})=\sum_{j=1}^N\lambda_{ij}P(c_j\mid\boldsymbol{x})
R(ci∣x)=j=1∑NλijP(cj∣x)
我们的任务是寻找一个判定准则
h
h
h:
χ
↦
γ
\chi \mapsto \gamma
χ↦γ以最小化总体风险
R
(
h
)
=
E
x
[
R
(
h
(
x
)
∣
x
)
]
R\left(h\right)=\mathbb{E}_{\boldsymbol{x}}\left[R\left(h\left(\boldsymbol{x}\right)\mid\boldsymbol{x}\right)\right]
R(h)=Ex[R(h(x)∣x)]
对每个样本
x
x
x,若
h
h
h能最小化条件风险
R
(
h
(
x
)
∣
x
)
R\left ( h\left ( x \right )\mid x \right )
R(h(x)∣x),则总体风险
R
(
h
)
R\left ( h \right )
R(h)也将被最小化。故此,贝叶斯判定准则由此产生: 为最小化总体风险,只需在每个样本上选择那个能使条件风险
R
(
c
∣
x
)
R\left ( c\mid x \right )
R(c∣x)最小的类别标记,即
h
∗
(
x
)
=
arg
min
c
∈
Y
R
(
c
∣
x
)
{h}^{ * }\left( \mathbf{x}\right) = \underset{c \in \mathcal{Y}}{\arg \min }R\left( {c \mid \mathbf{x}}\right)
h∗(x)=c∈YargminR(c∣x)
h
∗
(
x
)
h^{*} \left ( x \right )
h∗(x)称为贝叶斯最优分类器,
R
(
h
∗
)
R\left ( h^{*}\right )
R(h∗) 称为贝叶斯风险,1-
R
(
h
∗
)
R\left ( h^{*}\right )
R(h∗) 反映了分类器所能达到的最好性能,即通过机器学习所能产生的模型精度的理论上限。
要想使用贝叶斯判定准则来最小化决策风险,首先要获得后验概率
P
(
c
∣
x
)
P\left ( c\mid x \right )
P(c∣x),下面介绍两种策略尽可能准确地估计出后验概率。
(1)判别式模型:给定
x
x
x, 可通过直接建模
P
(
c
∣
x
)
P\left ( c\mid x \right )
P(c∣x)来预测
c
c
c。
(2)生成式模型:先对联合概率分布
P
(
x
∣
c
)
P\left ( x\mid c \right )
P(x∣c)建模,再由此获得
P
(
c
∣
x
)
P\left ( c\mid x \right )
P(c∣x)。
总的来说:贝叶斯决策论是一种基于概率统计的决策理论,它基于最大后验概率来作出分类决策。在分类问题中,我们选择具有最高后验概率的类别作为最终分类结果。
7.2 极大似然估计
令
D
c
D_{c}
Dc表示训练集
D
D
D中第c类样本组成的集合,,假设这些样本是独立同分布的,则参数
θ
c
\theta _{c}
θc对于数据集
D
c
D_{c}
Dc的似然是
P
(
D
c
∣
θ
c
)
=
∏
x
∈
D
c
P
(
x
∣
θ
c
)
P\left( {{D}_{c} \mid {\mathbf{\theta }}_{c}}\right) = \mathop{\prod }\limits_{{\mathbf{x} \in {D}_{c}}}P\left( {\mathbf{x} \mid {\mathbf{\theta }}_{c}}\right)
P(Dc∣θc)=x∈Dc∏P(x∣θc)
对
θ
c
\theta _{c}
θc进行极大似然估计,就是去寻找能最大化似然
P
(
D
c
∣
θ
c
)
P\left ( D_{c}\mid \theta _{c} \right )
P(Dc∣θc)的参数值
θ
^
c
\hat{\theta } _{c}
θ^c。例如,在连续属性情形下,假设概率密度函数
p
(
x
∣
c
)
∼
N
(
μ
c
,
σ
c
2
)
p\left( {\mathbf{x} \mid c}\right) \sim \mathcal{N}\left( {{\mathbf{\mu }}_{c},{\mathbf{\sigma }}_{c}^{2}}\right)
p(x∣c)∼N(μc,σc2),则参数
μ
c
\mu _{c}
μc和
σ
c
2
\sigma _{c} ^{2}
σc2的极大似然估计为
μ
^
c
=
1
∣
D
c
∣
∑
x
∈
D
c
x
{\widehat{\mu }}_{c} = \frac{1}{\left| {D}_{c}\right| }\mathop{\sum }\limits_{{x \in {D}_{c}}}x
μ
c=∣Dc∣1x∈Dc∑x
σ
^
c
2
=
1
∣
D
c
∣
∑
x
∈
D
c
(
x
−
μ
^
c
)
(
x
−
μ
^
c
)
T
{\widehat{\sigma }}_{c}^{2} = \frac{1}{\left| {D}_{c}\right| }\mathop{\sum }\limits_{{\mathbf{x} \in {D}_{c}}}\left( {\mathbf{x} - {\widehat{\mathbf{\mu }}}_{c}}\right) {\left( \mathbf{x} - {\widehat{\mathbf{\mu }}}_{c}\right) }^{\mathrm{T}}
σ
c2=∣Dc∣1x∈Dc∑(x−μ
c)(x−μ
c)T
也就是说,通过极大似然法得到的正态分布均值就是样本均值,方差就是
(
x
−
μ
^
c
)
(
x
−
μ
^
c
)
T
\left( {\mathbf{x} - {\widehat{\mathbf{\mu }}}_{c}}\right) {\left( \mathbf{x} - {\widehat{\mathbf{\mu }}}_{c}\right) }^{\mathrm{T}}
(x−μ
c)(x−μ
c)T的均值。
7.3 朴素贝叶斯分类器
为避免难以从有限的训练样本直接估计类条件概率
P
(
x
∣
c
)
P\left ( x\mid c \right )
P(x∣c)这个障碍,朴素贝叶斯分类器采用了"属性条件独立性假设" :对已知类别,假设所有属性相互独立。换言之,假设每个属性独立地对分类结果发生影响。基于属性条件独立性假设
P
(
c
∣
x
)
=
P
(
c
)
P
(
x
∣
c
)
P
(
x
)
=
P
(
c
)
P
(
x
)
∏
i
=
1
d
P
(
x
i
∣
c
)
P\left( {c \mid \mathbf{x}}\right) = \frac{P\left( c\right) P\left( {\mathbf{x} \mid c}\right) }{P\left( \mathbf{x}\right) } = \frac{P\left( c\right) }{P\left( \mathbf{x}\right) }\mathop{\prod }\limits_{{i = 1}}^{d}P\left( {{x}_{i} \mid c}\right)
P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)
其中d为属性数目,
x
i
x_{i}
xi为
x
x
x在第i个个属性上的取值。
朴素贝叶斯分类器的表达式如下:
h
n
b
(
x
)
=
arg
max
c
∈
Y
P
(
c
)
∏
i
=
1
d
P
(
x
i
∣
c
)
{h}_{nb}\left( \mathbf{x}\right) = \underset{c \in \mathcal{Y}}{\arg \max }P\left( c\right) \mathop{\prod }\limits_{{i = 1}}^{d}P\left( {{x}_{i} \mid c}\right)
hnb(x)=c∈YargmaxP(c)i=1∏dP(xi∣c)
显然,朴素贝叶斯分类器的训练过程就是基于训练集
D
D
D来估计类先验概率
P
(
c
)
P\left ( c \right )
P(c),并为每个属性估计条件概率
P
(
x
i
∣
c
)
P\left ( x_{i}\mid c \right )
P(xi∣c)。
其中类先验概率为
P
(
c
)
=
∣
D
c
∣
∣
D
∣
P\left( c\right) = \frac{\left| {D}_{c}\right| }{\left| D\right| }
P(c)=∣D∣∣Dc∣
对离散属性,条件概率为
P
(
x
i
∣
c
)
=
∣
D
c
,
x
i
∣
∣
D
c
∣
P\left( {{x}_{i} \mid c}\right) = \frac{\left| {D}_{c,{x}_{i}}\right| }{\left| {D}_{c}\right| }
P(xi∣c)=∣Dc∣∣Dc,xi∣
对连续属性,条件概率为
p
(
x
i
∣
c
)
=
1
2
π
σ
c
,
i
exp
(
−
(
x
i
−
μ
c
,
i
)
2
2
σ
c
,
i
2
)
p\left( {{x}_{i} \mid c}\right) = \frac{1}{\sqrt{2\pi }{\sigma }_{c,i}}\exp \left( {-\frac{{\left( {x}_{i} - {\mu }_{c,i}\right) }^{2}}{2{\sigma }_{c,i}^{2}}}\right)
p(xi∣c)=2πσc,i1exp(−2σc,i2(xi−μc,i)2)
7.4 半朴素贝叶斯分类器
半朴素贝叶斯分类器的基本想法是适当考虑一部分属性问的相互依赖信息,从而既不需进行完全联合概率计算,又不至于彻底忽略了比较强的属性依赖关系。“独依赖估计”(ODE)是半朴素贝叶
斯分类器最常用的一种策略。即
P
(
c
∣
x
)
∝
P
(
c
)
∏
i
=
1
d
P
(
x
i
∣
c
,
p
a
i
)
P\left( {c \mid \mathbf{x}}\right) \propto P\left( c\right) \mathop{\prod }\limits_{{i = 1}}^{d}P\left( {{x}_{i} \mid c,p{a}_{i}}\right)
P(c∣x)∝P(c)i=1∏dP(xi∣c,pai)
其中
p
a
i
pa_{i}
pai为属性
x
i
x_{i}
xi 所依赖的属性,称为
x
i
x_{i}
xi的父属性。若
x
i
x_{i}
xi 和
p
a
i
pa_{i}
pai都已知,可以通过相关方法估计概率值
P
(
x
i
∣
c
,
p
a
i
)
P\left( {{x}_{i} \mid c,p{a}_{i}}\right)
P(xi∣c,pai),问题的关键就转化为如何确定每个属性的父属性。最直接的做法是假设所有属性都依赖于同一个属性,称为“超父”,然后通过交叉验证等模型选择方法来确定超父属性,由此形成了SPODE方法。
在(b)图中,所有属性都依赖
x
1
x_{1}
x1,故
x
1
x_{1}
x1是超父属性。
7.5 贝叶斯网
贝叶斯网,亦称“信念网”,,它借助有向无环图来刻画属性之间的依赖关系,并使用条件概率表来描述属性的联合概率分布。
一个贝叶斯网
B
B
B由结构
G
G
G和参数
Θ
\Theta
Θ构成,即
B
=
<
G
,
Θ
>
B=< G,\Theta >
B=<G,Θ>,
G
G
G表示一个有向无环图,
Θ
\Theta
Θ描述图中的边之间的依赖关系。
7.5.1 结构
给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立,于是
B
=
<
G
,
Θ
>
B=< G,\Theta >
B=<G,Θ>将这些属性的联合概率分布定义为
P
B
(
x
1
,
x
2
,
…
,
x
d
)
=
∏
i
=
1
d
P
B
(
x
i
∣
π
i
)
=
∏
i
=
1
d
θ
x
i
∣
π
i
{P}_{B}\left( {{x}_{1},{x}_{2},\ldots ,{x}_{d}}\right) = \mathop{\prod }\limits_{{i = 1}}^{d}{P}_{B}\left( {{x}_{i} \mid {\pi }_{i}}\right) = \mathop{\prod }\limits_{{i = 1}}^{d}{\theta }_{{x}_{i} \mid {\pi }_{i}}
PB(x1,x2,…,xd)=i=1∏dPB(xi∣πi)=i=1∏dθxi∣πi
下图显示了贝叶斯网中三个变量之间的典型依赖关系。
7.5.2 学习
贝叶斯网络的学习包括参数学习和结构学习。参数学习是指从数据中学习节点之间的条件概率分布,而结构学习是指从数据中学习网络的拓扑结构。
7.5.3 推断
在贝叶斯网络中,推断是指根据已知观测值推断其他变量的状态。常用的推断算法包括变量消元、近似推断和马尔可夫链蒙特卡洛等。
7.6 EM算法
EM算法是常用的估计参数隐变量的利器,它是一种迭代式的方法,其基本想法是:若参数
Θ
\Theta
Θ已知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可方便地对参数
Θ
\Theta
Θ做极大似然估计(M步)
以初始值
Θ
0
\Theta^{0}
Θ0为起点,可迭代执行以下步骤直至收敛:
(1)基于
Θ
t
\Theta^{t}
Θt推断隐变量Z的期望,记为
Z
t
Z^{t}
Zt;
(2)基于已观测变量X和
Z
t
Z^{t}
Zt对参数
Θ
\Theta
Θ做极大似然估计,记为
Z
t
+
1
Z^{t+1}
Zt+1
这就是EM算法原型。
若我们不是取Z的期望,而是基于
Θ
t
\Theta^{t}
Θt计算隐变量Z的概率分布
P
(
Z
∣
X
,
Θ
t
)
P\left ( Z\mid X,\Theta ^{t} \right )
P(Z∣X,Θt),则EM算法的步骤是
(1)E步:以当前参数
Θ
t
\Theta^{t}
Θt推断隐变量分布
P
(
Z
∣
X
,
Θ
t
)
P\left ( Z\mid X,\Theta ^{t} \right )
P(Z∣X,Θt),并计算对数似然
L
L
(
Θ
∣
X
,
Z
)
LL(\Theta \mid X,Z)
LL(Θ∣X,Z)关于Z的期望
Q
(
Θ
∣
Θ
t
)
=
E
Z
∣
X
,
Θ
t
L
L
(
Θ
∣
X
,
Z
)
Q\left( {\Theta \mid {\Theta }^{t}}\right) = {\mathbb{E}}_{\mathbf{Z} \mid \mathbf{X},{\Theta }^{t}}{LL}\left( {\Theta \mid \mathbf{X},\mathbf{Z}}\right)
Q(Θ∣Θt)=EZ∣X,ΘtLL(Θ∣X,Z)
(2)M步:寻找参数最大化期望似然,即
Θ
t
+
1
=
arg
max
Θ
Q
(
Θ
∣
Θ
t
)
{\Theta }^{t + 1} = \underset{\Theta }{\arg \max }\;Q\left( {\Theta \mid {\Theta }^{t}}\right)
Θt+1=ΘargmaxQ(Θ∣Θt)