机器学习第七章——贝叶斯分类器

一、贝叶斯决策论

对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记.

假设有Ⅳ种可能的类别标记,即y= {C1,C2,...,cN},入ij是将一个真实标记为cz的样本误分类为c所产生的损失.基于后验概率P(c | a)可获得将样本α分类为c所产生的期望损失(expected loss),即在样本α 上的“条件风险”(conditional risk)

我们的任务是寻找一个判定准则h : X→y以最小化总体风险

贝叶斯判定准则(Bayes decision rule):为最小化总体风险,只需在每个样本上选择那个能使条件风险R(c | a)最小的类别标记,即

此时, h*称为贝叶斯最优分类器(Bayes optimal classifier),与之对应的总体风险R(h*)称为贝叶斯风险(Bayes risk). 1 -.R(h*)反映了分类器所能达到的最好性能,即通过机器学习所能产生的模型精度的理论上限.

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

此时条件风险

 于是,最小化分类错误率的贝叶斯最优分类器为

判别式模型”(discriminative models):给定a,可通过直接建模P(c | a)来预测c;

生成式模型”(generative models):也可先对联合概率分布P(a, c)建模,然后再由此获得P(c | a);

显然,前面介绍的决策树、BP神经网络、支持向量机等,都可归入判别式模型的范畴.对生成式模型来说,必然考虑

基于贝叶斯定理,P\left ( c\mid x \right )可写为

二、朴素贝叶斯分类器

朴素贝叶斯分类器(naive Bayes classifier)采用了“属性条件独立性假设”(attribute conditional independence assumption):对已知类别,假设所有属性相互独立.
基于属性条件独立性假设:

其中d为属性数目,x_{i}x在第i个属性上的取值.
由于对所有类别来说P(x)相同,因此贝叶斯判定准则有

这就是朴素贝叶斯分类器的表达式.
D_{c}表示训练集D中第c类样本组成的集合,若有充足的独立同分布样本,则可容易地估计出类先验概率

对离散属性而言,令D_{c,x_{i}}表示D_{c}中在第i个属性上取值为x_{i}的样本组成的集合,则条件概率P(x_{i}|c)可估计为

连续属性可考虑概率密度函数,假定P(x_{i}|c)\sim N(\mu _{c,i},\sigma ^{2}_{c,i}),其中\mu _{c,i}\sigma ^{2}_{c,i}别是第c类样本在第i个属性上取值的均值和方差,则有

三、半朴素贝叶斯分类器

半朴素贝叶斯分类器的基本想法是适当考虑一部分属性间的相互依赖信息,从而既不需进行完全联合概率计算,又不至于彻底忽略了比较强的属性依赖关系.

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

其中 pa_{i}为属性x_{i}所依赖的属性,称为x_{i}的父属性.

SPODE (Super-Parent ODE):假设所有属性都依赖于同一个属性,称为“超父”(super-parent),然后通过交叉验证等模型选择方法来确定超父属性

TAN (Tree Augmented naive Bayes)则是在最大带权生成树(maximum weighted spanning tree)算法的基·础上,通过以下步骤将属性间依赖关系约简为如上图所示的树形结构:

  1. 计算任意两个属性之间的条件互信息(conditional mutual information)
  2. 以属性为结点构建完全图,任意两个结点之间边的权重设为I(x_{i},x_{j}|y);
  3. 构建此完全图的最大带权生成树,挑选根变量,将边置为有向;
  4. 加入类别结点y,增加从y到每个属性的有向边.

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

其中D_{x_{i}}是在第i个属性上取值为x_{i}的样本的集合, m'为阈值常数.显然,AODE需估计P(c, x_{i})P(x_{j}, | c, x_{i}).有

其中N_{i}是第i个属性可能的取值数,D_{c,x_{i}},是类别为c且在第i个属性上取值为x_{i}的样本集合,D_{c,x_{i},x_{j}};是类别为c且在第i和第j个属性上取值分别为x_{i}x_{j}的样本集合.

四、贝叶斯网

贝叶斯网(Bayesian network)亦称“信念网”(belief network),它借助有向无环图(Directed Acyclic Graph,简称DAG)来刻画属性之间的依赖关系,并使用条件概率表(Conditional Probability Table,简称CPT)来描述属性的联合概率分布.如下图

1结构 

贝叶斯网结构有效地表达了属性间的条件独立性.给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立,于是B=\left \langle G,\Theta \right \rangle将属性x_{1}, x_{2},. . . , x_{d}的联合概率分布定义为

为了分析有向图中变量间的条件独立性,可使用“有向分离”(D-separation).我们先把有向图转变为一个无向图:

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

由此产生的无向图称为“道德图”(moral graph),令父结点相连的过程称为“道德化”(moralization)
基于道德图能直观、迅速地找到变量间的条件独立性.假定道德图中有变量x, y和变量集合z=\left \{ z_{i} \right \},若变量x和y 能在图上被z分开,即从道德图中将变量集合z去除后, x 和y 分属两个连通分支,则称变量x和y 被z有向分离,x\perp y\mid z成立.

2学习

贝叶斯网学习的首要任务就是根据训练数据集来找出结构最“恰当”的贝叶斯网.“评分搜索”是求解这一问题的常用办法.具体来说,我们先定义一个评分函数(score function),以此来评估贝叶斯网与训练数据的契合程度,然后基于这个评分函数来寻找结构最优的贝叶斯网.
每个贝叶斯网描述了一个在训练数据上的概率分布,自有一套编码机制能使那些经常出现的样本有更短的编码.于是,我们应选择那个综合编码长度(包括描述网络和编码数据)最短的贝叶斯网,这就是“最小描述长度”(Minimal DescriptionLength,简称MDL)准则.

给定训练集D= {x_{1}, x_{2},. . . , x_{m}},贝叶斯网B=\left \langle G,\Theta \right \rangle在D上的评分函数可写为

其中,\left | B \right |是贝叶斯网的参数个数;f(\theta )表示描述每个参数\theta所需的字节数;而

是贝叶斯网B的对数似然.
f(\theta )=1,即每个参数用1字节描述,则得到AIC (Akaike InformationCriterion)评分函数

f(\theta )=\frac{1}{2}\log m,即每个参数用\frac{1}{2}\log m字节描述,则得到BIC(BayesianInformation Criterion)评分函数

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

其中\hat{P}_{D }\left( \cdot \right )是D上的经验分布.

3推断

在现实应用中,贝叶斯网的近似推断常使用吉布斯采样(Gibbs sampling)来完成,这是一种随机采样方法,我们来看看它是如何工作的.

Q={Q_{1},Q_{2},.. . ,Q_{n}}表示待查询变量, E={E_{1}, E_{2},...,E_{k}}为证据变量,已知其取值为e ={e_{1},e_{2},... ,e_{k}}.目标是计算后验概率P(Q=q\mid E= e),其中q= {q_{1},q_{2},..., q_{n}}是待查询变量的一组取值.
如下图所示,吉布斯采样算法先随机产生一个与证据E=e一致的样本q^{0}作为初始点,然后每步从当前样本出发产生下一个样本.具体来说,在第t次采样中,算法先假设q^{t}=q^{t-1},然后对非证据变量逐个进行采样改变其取值,采样概率根据贝叶斯网B和其他变量的当前取值(即Z=z)计算获得.假定经过T次采样得到的与q一致的样本共有n_{q}个,则可近似估算出后验概率

五、EM算法

在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是“完整”的.但在现实应用中往往会遇到“不完整”的训练样本。
未观测变量的学名是“隐变量”(latent variable).令X表示已观测变量集,Z表示隐变量集,\Theta表示模型参数.若欲对\Theta做极大似然估计,则应最大化对数似然

然而由于Z是隐变量,上式无法直接求解.此时我们可通过对Z计算期望,来最大化已观测数据的对数“边际似然”(marginal likelihood)

EM (Expectation-Maximization)算法是一种迭代式的方法,其基本想法是:若参数\Theta已知,则可根据训练数据推断出最优隐变量Z的值(E步); 反之,若Z的值已知,则可方便地对参数\Theta做极大似然估计(M步).
于是,以初始值\Theta ^{0}为起点,对上式,可迭代执行以下步骤直至收敛:

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

这就是EM算法的原型.
进一步,若我们不是取Z的期望,而是基于\Theta ^{t}计算隐变量Z的概率分布P(Z\mid X,\Theta ^{t}),则EM算法的两个步骤是:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值