第七章 贝叶斯分类器
7.1 贝叶斯决策论
贝叶斯决策论(Bayesian Decision theory)是概率框架下实施决策的基本方法。
假设有N种情况的类别标记,即y={c1,c2,…,cN}y = \left\{ c_{1},c_{2},\ldots,c_{N} \right\}y={c1,c2,…,cN},λij\lambda_{\text{ij}}λij是将一个真实的标记为cjc_{j}cj的样本误分类为cic_{i}ci所产生的损失。基于后验概率P(ci∣x)P\left( c_{i} \middle| x \right)P(ci∣x)可获得将样本x分类为cic_{i}ci所产生的期望损失(expected loss)。即在样本x上的“条件风险”(conditional risk)
R(ci∣x)=∑j=1NλijP(cj∣x) R\left( c_{i} \middle| x \right) = \sum_{j = 1}^{N}\lambda_{\text{ij}}P\left( c_{j} \middle| x \right) R(ci∣x)=j=1∑NλijP(cj∣x)
判定准则h:χ→y\chi \rightarrow yχ→y以最小化总风险
R(h)=Ex[R(h(x)∣x)] R\left( h \right) = \mathbb{E}_{x}\left\lbrack R\left( h\left( x \right) \middle| x \right) \right\rbrack R(h)=Ex[R(h(x)∣x)]
贝叶斯判定准则(Bayes decision rule):为最小化总体风险,只需在每个样本上选择那个能使条件风险R(c∣x)\mathbf{R}\left( \mathbf{c} \middle| \mathbf{x} \right)R(c∣x)**最小的类别标记。即
h∗(x)=argminR(c∣x) h^{*}\left( x \right) = arg\operatorname{min}{R\left( c \middle| x \right)} h∗(x)=argminR(c∣x)
h∗(x)h^{*}\left( x \right)h∗(x)称为贝叶斯最优分类器(Bayes optimal classifier),与之对应的总体风险R(h∗)R\left( h^{*} \right)R(h∗)称为贝叶斯风险(Bayes risk)。1−R(h∗)1 - R\left( h^{*} \right)1−R(h∗)反映了分类器所能达到的最好性能。
若目标是最小化分类错误率,则误差损失λij\lambda_{\text{ij}}λij可写为
λij={0, if i=j1,otherwise \lambda_{\text{ij}} = \left\{ \begin{matrix} 0,\ if\ i = j \\ 1,otherwise \\ \end{matrix} \right.\ λij={0, if i=j1,otherwise
此时条件风险
R(c∣x)=1−P(c∣x) R\left( c \middle| x \right) = 1 - P\left( c \middle| x \right) R(c∣x)=1−P(c∣x)
则最小化分类误差率的贝叶斯最优分类器为
h∗(x)=argP(c∣x) h^{*}\left( x \right) = \arg\operatorname{}{P\left( c \middle| x \right)} h∗(x)=argP(c∣x)
即对每个样本x选择能使后验概率P(c∣x)P\left( c \middle| x \right)P(c∣x)最大的类别标记。
策略
1、判别式模型(discriminative models):给定x,可通过直接建模P(c∣x)P\left( c \middle| x \right)P(c∣x)来预测c(决策树、BP神经网络、SVM)
2、生成式模型(generative models):先对联合概率分布P(x,c)P\left( x,c \right)P(x,c)建模,然后由此获得P(c∣x)P\left( c \middle| x \right)P(c∣x)
对生成式模型,必然考虑
P(c∣x)P(x,c)P(x) P\left( c \middle| x \right)\frac{P\left( x,c \right)}{P\left( x \right)} P(c∣x)P(x)P(x,c)
基于贝叶斯定理,P(c∣x)P\left( c \middle| x \right)P(c∣x)可写成
P(c∣x)=P(c)P(x∣c)P(x) P\left( c \middle| x \right) = \frac{P\left( c \right)P\left( x \middle| c \right)}{P\left( x \right)} P(c∣x)=P(x)P(c)P(x∣c)
其中P(c)P\left( c \right)P(c)是类先验概率(prior probability),P(x∣c)P\left( x \middle| c \right)P(x∣c)是样本x相对于类标记c的类条件概率(class-conditional probability)
7.2 极大似然估计
估计类条件概率的一种策略是先假定某具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。
概率模型的训练过程就是参数估计(parameter estimation)过程。
极大似然估计(Maximum Likelihood Estimation,MLE)是根据数据采样来估计概率分布参数的经典方法。
令DcD_{c}Dc表示训练集D中第c类样本组合的集合,假设这些样本是独立同分布的,则参数θc\theta_{c}θc对于数据集DcD_{c}Dc的似然为
P(Dc∣θc)=∏x∈DcP(x∣θc) P\left( D_{c} \middle| \theta_{c} \right) = \prod_{x \in D_{c}}^{}{P\left( x \middle| \theta_{c} \right)} P(Dc∣θc)=x∈Dc∏P(x∣θc)
对θc\theta_{c}θc进行极大似然估计就是去寻找最大化似然P(Dc∣θc)P\left( D_{c} \middle| \theta_{c} \right)P(Dc∣θc)的参数值θ^c{\hat{\theta}}_{c}θ^c
上式使用对数似然(log-likelihood),则
LL(θc)=logP(Dc∣θc)=∑x∈DclogP(x∣θc) \text{LL}\left( \theta_{c} \right) = \log{P\left( D_{c} \middle| \theta_{c} \right) = \sum_{x \in D_{c}}^{}{\log{P\left( x \middle| \theta_{c} \right)}}} LL(θc)=logP(Dc∣θc)=x∈Dc∑logP(x∣θc)
此时参数θc\theta_{c}θc的极大似然估计θ^c{\hat{\theta}}_{c}θ^c为
θ^c=argLL(θc) {\hat{\theta}}_{c} = \arg\operatorname{}{LL(\theta_{c})} θ^c=argLL(θc)
7.3 朴素贝叶斯分类器
朴素贝叶斯分类器采用了属性条件独立性假设(attribute conditional independence assumption):对已知类别,假设所有属性相互独立。
基于属性条件独立性假设,则P(c∣x)P\left( c \middle| x \right)P(c∣x)可重写为
P(c∣x)=P(c)P(x∣c)P(x)=P(c)P(x)∏i=1dP(xi∣c) P\left( c \middle| x \right) = \frac{P\left( c \right)P\left( x \middle| c \right)}{P\left( x \right)} = \frac{P\left( c \right)}{P\left( x \right)}\prod_{i = 1}^{d}{P\left( x_{i} \middle| c \right)} P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)
其中d为属性数目,xix_{i}xi为x在第i个属性上的取值。
贝叶斯判定准则为
hnb(x)=argP(c)∏i=1dP(xi∣c) h_{\text{nb}}\left( x \right) = \arg\operatorname{}{P\left( c \right)}\prod_{i = 1}^{d}{P\left( x_{i} \middle| c \right)} hnb(x)=argP(c)i=1∏dP(xi∣c)
朴素贝叶斯分类器的训练过程就是基于训练集D来估计类先验概率P(c)P\left( c \right)P(c),并为每个属性估计条件概率P(xi∣c)P\left( x_{i} \middle| c \right)P(xi∣c)。
令DcD_{c}Dc表示训练集D中第c类样本组合的集合,若有充足的独立同分布样本,则容易估计出类先验概率
P(c)=∣Dc∣∣D∣ P\left( c \right) = \frac{\left| D_{c} \right|}{\left| D \right|} P(c)=∣D∣∣Dc∣
对离散属性,令Dc,xiD_{c,x_{i}}Dc,xi表示训练集DcD_{c}Dc中第i个属性上取值为xix_{i}xi的样本组合的集合,则条件概率P(xi∣c)P\left( x_{i} \middle| c \right)P(xi∣c)为
P(xi∣c)=∣Dc,xi∣∣Dc∣ P\left( x_{i} \middle| c \right) = \frac{\left| D_{c,x_{i}} \right|}{\left| D_{c} \right|} P(xi∣c)=∣Dc∣∣Dc,xi∣
对连续属性可考虑概率密度函数,假定p(xi∣c)∼N(μc,i,σc,i2)p\left( x_{i} \middle| c \right)\mathcal{\sim N}\left( \mu_{c,i},\sigma_{c,i}^{2} \right)p(xi∣c)∼N(μc,i,σc,i2),其中μc,i\mu_{c,i}μc,i和σc,i2\sigma_{c,i}^{2}σc,i2分别是第c类样本在第i个属性上取值的均值和方差,则有
P(xi∣c)=12πσc,iexp(−(xi−μc,i)22σc,i2) P\left( x_{i} \middle| 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 半朴素贝叶斯分类器
半朴素贝叶斯分类器的基本想法:适当考虑一部分属性间的相互依赖信息,从而既不进行完全联合概率计算,又不至于彻底忽略了比较强的属性依赖关系。
“独依赖估计”(One-Dependent Estimator, ODE)是半朴素贝叶斯分类器最常用的一种策略。
独依赖:假设每个属性在类别之外最多仅依赖一个其他属性,即
P(c∣x)∝P(c)∏i=1dP(xi∣c,pai) P\left( c \middle| x \right) \propto P(c)\prod_{i = 1}^{d}{P\left( x_{i} \middle| c,pa_{i} \right)} P(c∣x)∝P(c)i=1∏dP(xi∣c,pai)
其中paipa_{i}pai为属性xix_{i}xi所依赖的属性,称为xix_{i}xi的父属性。
最直接的做法是假设所有属性都依赖同一个属性,称为超父,然后通过交叉验证等模型选择方法来确定超父属性,由此形成了SPODE(Super-Parent ODE)方法。
TAN(Tree Augmented naïve Bayes):在最大带权生成树(maximum weighted spanning tree)算法的基础上,通过以下步骤将属性间依赖关系约简为树形结构:
1、计算任意两个属性之间的条件互信息(conditional mutual information)
I(xi,xj∣y)=∑xi,xj;c∈yP(xi,xj∣c)logP(xi,xj∣c)P(xi∣c)P(xj∣c) I\left( x_{i},x_{j} \middle| y \right) = \sum_{x_{i},x_{j};c \in y}^{}{P\left( x_{i},x_{j} \middle| c \right)}\log\frac{P\left( x_{i},x_{j} \middle| c \right)}{P\left( x_{i} \middle| c \right)P\left( x_{j} \middle| c \right)} I(xi,xj∣y)=xi,xj;c∈y∑P(xi,xj∣c)logP(xi∣c)P(xj∣c)P(xi,xj∣c)
2、以属性为结点构建完全图,任意两个结点之间边的权重设为I(xi,xj∣y)I\left( x_{i},x_{j} \middle| y \right)I(xi,xj∣y)
3、构建此完全图的最大带权生成树,挑选根变量,将边置为有向
4、加入类别结点y,增加从y到每个属性的有向边
AODE(Averaged One-Dependent Estimator)是一种基于集成学习机制、更为强大的独依赖分类器。AODE尝试将每个属性作为超父来构建SPODE,然后将那些具有足够训练数据支撑的SPODE集成起来作为最终结果。即
P(c∣x)∝∑i=1∣Di∣≥m′dP(c,xi)∏j=1dP(xj∣c,xi) P\left( c \middle| x \right) \propto \sum_{\begin{matrix} i = 1 \\ \left| D_{i} \right| \geq m' \\ \end{matrix}}^{d}{P\left( c,x_{i} \right)\prod_{j = 1}^{d}{P\left( x_{j} \middle| c,x_{i} \right)}} P(c∣x)∝i=1∣Di∣≥m′∑dP(c,xi)j=1∏dP(xj∣c,xi)
其中DxiD_{x_{i}}Dxi是在第i个属性上取值为xix_{i}xi的样本的集合,m′m'm′为阈值常数。
AODE需估计P(c,xi)P\left( c,x_{i} \right)P(c,xi)和P(xj∣c,xi)P\left( x_{j} \middle| c,x_{i} \right)P(xj∣c,xi),则
P(c,xi)=∣Dc,xi∣+1∣D∣+N×Ni P\left( c,x_{i} \right) = \frac{\left| D_{c,x_{i}} \right| + 1}{\left| D \right| + N \times N_{i}} P(c,xi)=∣D∣+N×Ni∣Dc,xi∣+1
P(xj∣c,xi)=∣Dc,xi,xj∣+1∣Dc,xi∣+Nj P\left( x_{j} \middle| c,x_{i} \right) = \frac{\left| D_{c,x_{i},x_{j}} \right| + 1}{\left| D_{c,x_{i}} \right| + N_{j}} P(xj∣c,xi)=∣Dc,xi∣+Nj∣∣Dc,xi,xj∣∣+1
其中N是D中可能的类别数,NiN_{i}Ni是第i个属性可能的取值数,Dc,xiD_{c,x_{i}}Dc,xi是类别c且在第i个属性上取值为xix_{i}xi的样本的集合,Dc,xi,xjD_{c,x_{i},x_{j}}Dc,xi,xj是类别c且在第i和第j个属性上取值分别为xix_{i}xi和xjx_{j}xj的样本的集合
7.5 贝叶斯网
贝叶斯网(Bayesian network)也称为信念网(belief network),借助有向无环图(Directed Acyclic Graph,DAG)来刻画属性之间的依赖关系并使用条件概率表(Conditional Probability Table,CPT)来描述属性的联合概率分布。
7.5.1 结构
贝叶斯网结构有效地表达了属性间的条件独立性。
给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立,于是B=⟨G,Θ⟩B = \left\langle G,\Theta \right\rangleB=⟨G,Θ⟩将属性x1,x2,…,xdx_{1},x_{2},\ldots,x_{d}x1,x2,…,xd的联合概率分布定义为
PB(x1,x2,…,xd)=∏i=1dPB(xi∣πi)=∏i=1dθxi∣πi P_{B}\left( x_{1},x_{2},\ldots,x_{d} \right) = \prod_{i = 1}^{d}{P_{B}\left( x_{i} \middle| \pi_{i} \right) = \prod_{i = 1}^{d}\theta_{x_{i}|\pi_{i}}} PB(x1,x2,…,xd)=i=1∏dPB(xi∣πi)=i=1∏dθxi∣πi
三种典型依赖关系
1、同父结构:给定父结点x1x_{1}x1的取值,则x3x_{3}x3和x4x_{4}x4条件独立
2、V型结构:也称为冲撞结构,给定子结点x4x_{4}x4的取值,x1x_{1}x1和x2x_{2}x2必不独立;若x4x_{4}x4的取值完全未知,则V结构下x1x_{1}x1和x2x_{2}x2却是相互独立的,称为边际独立性(marginal independence)。
3、顺序结构:给定x的值,则y和z条件独立
道德图(moral graph):有向图中V型结构且两个父结点加上无向边连接,将有向边改为无向边产生的无向图。
7.5.2 学习
评分函数:评测贝叶斯网与训练数据的契合程度,并寻找结构最优的贝叶斯网。
常用评分函数通常基于信息论准则,此类准则将学习问题看作一个数据压缩任务,学习的目标是找到一个能以最短编码长度描述训练数据的模型。
编码的长度包括了描述模型自身所需的字节长度和使用该模型描述数据所需的字节长度。
最小描述长度(Minimal Description Length,MDL)准则:综合编码长度最短的贝叶斯网
给定训练集D={x1,x2,…,xm}D = \left\{ x_{1},x_{2},\ldots,x_{m} \right\}D={x1,x2,…,xm},贝叶斯网B=⟨G,Θ⟩B = \left\langle G,\Theta \right\rangleB=⟨G,Θ⟩在D上的评分函数为
s(B∣D)=f(θ)∣B∣−LL(B∣D) s\left( B \middle| D \right) = f\left( \theta \right)\left| B \right| - LL\left( B \middle| D \right) s(B∣D)=f(θ)∣B∣−LL(B∣D)
其中∣B∣\left| B \right|∣B∣是贝叶斯网的参数个数;f(θ)f\left( \theta \right)f(θ)表示描述每个参数θ\thetaθ所需的字节数;而
LL(B∣D)=∑i=1mlogPB(xi) \text{LL}\left( B \middle| D \right) = \sum_{i = 1}^{m}{\log{P_{B}\left( x_{i} \right)}} LL(B∣D)=i=1∑mlogPB(xi)
是贝叶斯网B的对数似然。
若f(θ)=1f\left( \theta \right) = 1f(θ)=1,即每个参数用1个字节描述,则AIC(Akaike
Information Criterion)评分函数
AIC(B∣D)=∣B∣−LL(B∣D) \text{AIC}\left( B \middle| D \right) = \left| B \right| - LL\left( B \middle| D \right) AIC(B∣D)=∣B∣−LL(B∣D)
若f(θ)=12logmf\left( \theta \right) = \frac{1}{2}\log mf(θ)=21logm,即每个参数用12logm\frac{1}{2}\log m21logm字节描述,则BIC(Bayesian Information Criterion)评分函数
BIC(B∣D)=logm2∣B∣−LL(B∣D) \text{BIC}\left( B \middle| D \right) = \frac{\log m}{2}\left| B \right| - LL\left( B \middle| D \right) BIC(B∣D)=2logm∣B∣−LL(B∣D)
若f(θ)=0f\left( \theta \right) = 0f(θ)=0,则评分函数退化为负对数似然,学习任务退化为极大似然估计。
若贝叶斯网B=⟨G,Θ⟩B = \left\langle G,\Theta \right\rangleB=⟨G,Θ⟩网络结构G固定,则评分函数s(B∣D)s\left( B \middle| D \right)s(B∣D)第一项为常数。参数θxi∣πi\theta_{x_{i}|\pi_{i}}θxi∣πi能直接在训练数据上通过经验估计获得
θxi∣πi=P^D(xi∣πi) \theta_{x_{i}|\pi_{i}} = {\hat{P}}_{D}\left( x_{i} \middle| \pi_{i} \right) θxi∣πi=P^D(xi∣πi)
常用策略:1、贪心法;2、通过给网络结构施加约束来削减搜索空间。
7.5.3 推断
通过一些属性变量的观测值来推测其他属性变量的取值。
推断(inference):通过已知变量观测值来推测待查询变量的过程
证据(evidence):变量观测者
吉布斯采样(Gibbs sampling):在贝叶斯网所有变量的联合状态空间与证据E=eE = eE=e一致的子空间进行随机漫步(random walk)。每一步仅依赖前一步的状态(马尔科夫链,Markov chain)。在一定条件下,无论从什么初始状态开始,马尔科夫链第t步的状态分布在t→∞t \rightarrow \inftyt→∞时必收敛于一个平稳分布(stationary distribution)。

7.6 EM算法
隐变量(latent variable):未观测变量
令X表示已观测变量集,Z表示隐变量集,Θ\ThetaΘ表示模型参数。若对Θ\ThetaΘ做极大似然估计,则对应最大化对数似然
LL(Θ∣X,Z)=lnP(X,Z∣Θ) \text{LL}\left( \Theta \middle| X,Z \right) = \ln{P\left( X,Z \middle| \Theta \right)} LL(Θ∣X,Z)=lnP(X,Z∣Θ)
计算Z的期望来最大化已观测数据的对数边际似然(marginal likelihood)
LL(Θ∣X)=lnP(X∣Θ)=ln∑ZP(X,Z∣Θ) \text{LL}\left( \Theta \middle| X \right) = \ln{P\left( X \middle| \Theta \right) = \ln{\sum_{Z}^{}{P\left( X,Z \middle| \Theta \right)}}} LL(Θ∣X)=lnP(X∣Θ)=lnZ∑P(X,Z∣Θ)
EM(Expectation-Maximization)算法是常用的估计参数隐变量的利器,基本思想:若参数Θ\ThetaΘ已知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可方便地对参数Θ\ThetaΘ做极大似然估计(M步)
以初始值Θ0\Theta^{0}Θ0为起点,上式可迭代执行以下步骤直至收敛:
1、基于Θt\Theta^{t}Θt推断变量Z的期望,记为ZtZ^{t}Zt
2、基于已观测变量X和ZtZ^{t}Zt对参数Θ\ThetaΘ做极大似然估计,记为Θt+1\Theta^{t +1}Θt+1
基于Θt\Theta^{t}Θt计算隐变量Z的概率分布P(X∣Z,Θt)P\left( X \middle| Z,\Theta^{t} \right)P(X∣Z,Θt),则EM算法的两个步骤为
1、E步:以当前参数Θt\Theta^{t}Θt推断隐变量分布P(X∣Z,Θt)P\left( X \middle| Z,\Theta^{t}
\right)P(X∣Z,Θt),并计算对数似然LL(Θ∣X,Z)\text{LL}\left( \Theta \middle| X,Z
\right)LL(Θ∣X,Z)关于Z的期望
Q(Θ∣Θt)=EZ∣X,ΘtLL(Θ∣X,Z)
Q\left( \Theta \middle| \Theta^{t} \right) = \mathbb{E}_{Z|X,\Theta^{t}}\text{LL}\left( \Theta \middle| X,Z \right)
Q(Θ∣∣Θt)=EZ∣X,ΘtLL(Θ∣X,Z)
2、M步:寻找参数最大化期望似然
Θt+1=argmaxQ(Θ∣Θt)
\Theta^{t + 1} = \arg\operatorname{max}{Q\left( \Theta \middle| \Theta^{t} \right)}
Θt+1=argmaxQ(Θ∣∣Θt)