第七章:贝叶斯分类器

目录

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个类别,令\lambda _{ij}代表将第j类样本误分类为第i类所产生的损失,则基于后验概率将样本x分到第i类的条件风险为:

R(c_i|x)=\sum_{j=1}^{N}\lambda _{ij}P(c_j|x)

贝叶斯判定准则(Bayes decision rule):

H^*(x)=arg min_{c\in y}R(c|x)

  • h^*称为贝叶斯最优分类器(Bayes optimal classifier),其总体风险称为贝叶斯风险(Bayes risk)
  • 反映了学习性能的理论上限

P(c | x)在现实中通常难以直接获得
从这个角度来看,机器学习所要实现的是基于有限的训练样本尽可能准确地估计出后验概率

 若目标是最小化分类错误率,则误判损失\lambda _{ij}可写为:

条件风险为:R(c|x)=1-P(c|x),此时需要取到P(c|x)的最大值

  • 两种基本策略:

判别式模型:

思路:直接对P(c|x)建模

代表:

  • 决策树
  • BP神经网络
  • SVM

生成式模型:

思路:选对联合概率分布P(x,c)建模,再由此获得P(c|x),P(c|x)=\frac{P(x,c)}{P(x)}

代表:贝叶斯分类器 

7.2 极大似然估计

估计类条件概率策略:

先假设某种概率分布形式,再基于训练样例对参数进行估计

假定P(x | c)具有确定的概率分布形式,且被参数\theta _c唯一确定,则任务就是利用训练集D来估计参数\theta _c

\theta _c对于训练集D中第c类样本组成的集合D_c的似然(Likelihood)为

连乘易造成下溢,因此通常使用对数似然(Log-Likelihood)

LL(\theta _c)=logP(D_c|\theta _c)=\sum_{x\in D_c}^{}logP(x|\theta _c)

于是,\theta _c的极大似然估计为\theta _c= arg max LL(\theta _c)

7.3 朴素贝叶斯分类器

基于贝叶斯公式来估计后验概率P(c | a)的主要困难在于:类条件概率 P(x I c) 是所有属性上的联合概率,难以从有限的训练样本直接 估计而得.为避开这个障碍,朴素贝叶斯分类器(naÏve Bayes classifier) 采用了 "属性条件独立性假设" (attribute conditional ependence assu'mption):

 基本思路:假定属性相互独立

d为属性数,x_i 为x在第i个属性上的取值

P(x)对所有类别相同,于是

 估计P(c):

P(c)=\frac{|D_c|}{|D|}

估计P(x|c):

  • 对离散属性,令De.,.,表示D中在第主个属性上取值为x的样本组成的集合,则
    P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|}
  • 对连续属性,考虑概率密度函数,假定

使用下图中的例子:

 由于0.038 > 6.80 x 10^-5,因此,朴素贝叶斯分类器将测试样本“测1”判别为“好瓜”.

  • 拉普拉斯修正

若某个属性值在训练集中没有与某个类同时出现过,则直接计算会出现问题,因为概率连乘将“抹去”其他属性提供的信息

例如,若训练集中未出现“敲声=清脆”的好瓜,
则模型在遇到“敲声=清脆”的测试样本时概率估值直接为0

令N表示训练集D中可能的类别数,N,表示第i个属性可能的取值数

\widehat{P}(c)=\frac{|D_c|+1}{|D|+N},  \widehat{P}(x_i|c)=\frac{|D_{c,x_i}|+1}{|D_c|+N_i}

假设了属性值与类别的均匀分布,这是额外引入的 bias

7.4 半朴素贝叶斯分类器

基本思路:适当考虑一部分属性间的相互依赖信息

策略:“独依赖估计”(One-Dependent Estimator,简称ODE),所谓“独依赖”就是假设每个属性在类别之外最多仅依赖于一个其他属性,即

问题的关键在于:如何确定每个属性的父属性,不同的做法产生不同的独依赖分类器.

最直接的做法是假设所有属性都依赖于同一个属性,称为“超父”(super-parent),然后通过交叉验证等模型选择方法来确定超父属性,由此形成了SPODE (Super-Parent ODE)方法.如下图所示

图7.4.1 “超父”

TAN:在最大带树生成树基础形成

  • (1) 计算任意两个属性之间的条件互信息(conditional mutual information)

  • (2) 以属性为结点构建完全图,任意两个结点之间边的权重设为I(zs,Zj l 3);
  • (3) 构建此完全图的最大带权生成树,挑选根变量,将边置为有向;(4)加入类别结点g,增加从gy到每个属性的有向边.

如下图所示:

图7.4.2 TAN

 TAN仅保留了强相关属性之间的依赖性

  • AODE:

一种基于集成学习机制、更为强大的独依赖分类器.AODE尝试将每个属性作为超父来构建SPODE,然后将那些具有足够训练数据支撑的SPODE集成起来作为最终结果,即

  •  估计\widehat{P}(c,x_i)

  •  估计\widehat{P}(x_j|c,x_i)

AODE无需模型选择,既能通过预计算节省预测时间,也能采取懒惰学习方式在预测时再进行计数,并且易于实现增量学习.
通过考虑属性间的高阶依赖来进一步提升泛化性能呢,随着k的增加,准确估计概率P(x_i|y,pa_i)所需的训练样本数量将以指数级增加.因此,若训练数据非常充分,泛化性能有可能提升;但在有限样本条件下,则又陷入估计高阶联合概率的泥沼.

7.5 贝叶斯网

贝叶斯网(亦称“信念网”):它借助有向无环图(Directed Acyclic Graph,简称DAG)来刻画属性之间的依赖关系,并使用条件概率表(Conditional Probability 'Table,简称CPT)来描述属性的联合概率分布.
具体来说,一个贝叶斯网B由结构G和参数白两部分构成,即B=(G,\theta).网络结构G是一个有向无环图,其每个结点对应于一个属性,若两个属性有直接依赖关系,则它们由一条边连接起来;参数\theta定量描述这种依赖关系,假设属性x_i在G中的父结点集为,则\theta包含了每个属性的条件概率表\theta _{x_i|\pi _i}=P_B(x_i|\pi _i),如下图所示
 

图7.5.1 贝叶斯网

7.5.1 结构

贝叶斯网结构有效地表达了属性间的条件独立性.给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立,于是B=(G,\theta)将属性x1 , x2,. . . , xd的联合概率分布定义为

贝叶斯网中三个变量之间的依赖关系,如下图所示

在“同父”(common parent)结构中,给定父结点a1的取值,则xg与a4条件独立.在“顺序”结构中,给定α的值,则y 与z条件独立.V型结构(V-structure)亦称“冲撞”结构,给定子结点x4的取值, x1与x2必不独立;奇妙的是,若x4的取值完全未知,则V型结构下x1与x2却是相互独立的.我们做一个简单的验证:

这样的独立性称为“边际独立性”(marginal independence)

事实上,一个变量取值的确定与否,能对另两个变量间的独立性发生影响,这个现象并非V型结构所特有.

为了分析有向图中变量间的条件独立性,可使用“有向分离”(D-separation).

把有向图转变为一个无向图:

  • 找出有向图中的所有V型结构,在V型结构的两个父结点之间加上一条无向边;
  • 将所有有向边改为无向边.

由此产生的无向图称为“道德图”(moral graph),令父结点相连的过程称为“道德化”(moralization)[Cowell et al., 1999].

图7.5.3 ,图7.5.1的道德图

7.5.2 学习

贝叶斯网络学习的首要任务:根据训练数据集来找出结构最“恰当”的贝叶斯网

方法:“评分搜索”,先定义一个评分函数(score function),以此来评估贝叶斯网与训练数据的契合程度,然后基于这个评分函数来寻找结构最优的贝叶斯网.引入了关于我们希望获得什么样的贝叶斯网的归纳偏好.

常用评分函数通常基于信息论准则,此类准则将学习问题看作一个数据压缩任务,学习的目标是找到一个能以最短编码长度描述训练数据的模型,此时编码的长度包括了描述模型自身所需的字节长度和使用该模型描述数据所需的字节长度.对贝叶斯网学习而言,模型就是一个贝叶斯网,同时,每个贝叶斯网描述了一个在训练数据上的概率分布,自有一套编码机制能使那些经常出现的样本有更短的编码.于是,我们应选择那个综合编码长度(包括描述网络和编码数据)最短的贝叶斯网,这就是“最小描述长度”(Minimal DescriptionLength,简称MDL)准则.

评分函数可写为

s(B|D)=f(\theta )|B|-LL(B|D)

LL(B|D)=\sum_{i=1}^{m}logP_B(x_i)

于是,学习任务就转化为一个优化任务,即寻找一个贝叶斯网B使评分函数s(B|D)最小.

每个参数用1字节描述,则得到AIC (Akaike InformationCriterion)评分函数

AIC(B|D)=|B|-LL(B|D)

每个参数用log m字节描述,则得到BIC (BayesianInformation Criterion)评分函数

BIC(B|D)=\frac{log m }{2}|B|-LL(B|D)

若f(\theta)=0,即不计算对网络进行编码的长度,则评分函数退化为负对数似然,相应的,学习任务退化为极大似然估计.

参数\theta _{x_i}|\pi _i能直接在训练数据D上通过经验估计获得,即

\theta _{x_i}|\pi _i=\widehat{P}_D(x_i|\pi _i)

因此,为了最小化评分函数s(B|D),只需对网络结构进行搜索,而候选结构的最优参数可直接在训练集上计算得到.

两种求得近似解策略:

  • 第一种是贪心法,例如从某个网络结构出发,每次调整一条边(增加、删除或调整方向),直到评分函数值不再降低为止;
  • 第二种是通过给网络结构施加约束来削减搜索空间,例如将网络结构限定为树形结构等.

7.5.3 推断

贝叶斯网训练好之后就能用来回答“查询”(query),即通过一些属性变量的观测值来推测其他属性变量的取值.例如在西瓜问题中,通过已知变量观测值来推测待查询变量的过程称为“推断”(inference),已知变量观测值称为“证据”(evidence).

当网络结点较多、连接稠密时,难以进行精确推断,此时需借助“近似推断”,通过降低精度要求,在有限时间内求得近似解.在现实应用中,贝叶斯网的近似推断常使用吉布斯采样(Gibbs sampling)来完成,这是一种随机采样方法

可近似估算

P(Q=q|E=3)\simeq \frac{n_q}{T}

实质上,吉布斯采样是在贝叶斯网所有变量的联合状态空间与证据E= e一致的子空间中进行“随机漫步"(rannlor chain),每一步仅依赖于前一步的状态,这是一个“马尔可夫链”(Markov chain).

7.6 EM算法

在现实应用中往往会遇到“不完整”的训练样本

未观测变量的学名是“隐变量”(latent variable)

最大化对数似然:

LL(\theta |X,Z)=lnP(X,Z|\theta )

然而由于Z是隐变量,无法直接求解.

此时我们可通过对Z计算期望,来最大化已观测数据的对数“边际似然”(marginal likelihood)

LL(\theta |X)=lnP(X|\theta )=ln\sum_{Z}^{}P(X,Z|\theta )

EM 算法:一种迭代式的方法,

基本想法:若参数\Theta已知,则可根据训练数据推断出最优隐变量Z的值(E步); 反之,若Z的值已知,则可方便地对参数\Theta做极大似然估计(M 步).

于是,以初始值\Theta为起点,迭代执行以下步骤直至收敛:

  • 基于推断隐变量Z的期望,记为Z^t
  • 基于已观测变量X和Z^t对参数\Theta做极大似然估计,记为\Theta^t+1;

进一步,若我们不是取Z的期望,而是基于计算隐变量Z的概率分布P(Z | X,0'),

则EM算法的两个步骤是:

  • E步(Expectation):以当前参数推断隐变量分布P(Z |X,\Theta^t),并计算对数似然LL(\Theta |X,Z)关于Z的期望

  • M步(Maximization):寻找参数最大化期望似然,即

事实上,隐变量估计问题也可通过梯度下降等优化算法求解,但由于求和的项数将随着隐变量的数目以指数级上升,会给梯度计算带来麻烦;而EM 算法则可看作一种非梯度优化方法.

  • 29
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值