《机器学习》阅读心得——七、贝叶斯分类器

来源:互联网 发布:怎么查看淘宝店家电话 编辑:程序博客网 时间:2024/06/05 11:41

      • 1 贝叶斯决策论
      • 2 极大似然估计
      • 3 朴素贝叶斯分类器
      • 4 半朴素贝叶斯分类器
      • 5 贝叶斯网
        • 51 结构
        • 52 学习
        • 53 推断
      • 6 EM算法

7.1 贝叶斯决策论

  贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。
  假设有N种可能的类别标记,即y={c1,c2,...cN}λij是一个将真实标记为cj的样本误分类为ci所产生的损失。基于后验概率P(ci|x)可获得将样本x误分类为ci所产生的期望损失,即在样本x上的“条件风险”

R(ci|x)=j=1NλijP(cj|x)(7.1)

  在这里我们需要寻找一个判定准则h:XY以最小化总体风险
R(h)=Ex[R(h(x)|x)](7.2)

  显然,对每个样本x,若h能最小化条件风险R(h(x)|x),则总体风险R(h)也将被最小化。这就产生了贝叶斯判定准则:为最小化总体风险,需要在每个样本上选择能使条件风险R(c|x)最小的类别标记,即
h(x)=argminR(c|x)(7.3)

  此时,h被称为贝叶斯最优分类器,与之对应的总体风险R(h)称为贝叶斯风险。不难看出,欲使用贝叶斯判定准则来最小化决策风险,首先要获得后验概率P(c|x)。从这个角度来看,机器学习所要实现的是基于有限的训练样本集尽可能准确的估计出后验概率。大体来说,主要有两种策略:给定x,可通过直接建模P(c|x)来预测c,这样得到的是“判别式模型”,比如决策树、BP神经网络,支持向量机等;也可先对联合概率分布P(x,c)建模,然后再由此获得P(c|x),这样得到的是“生成式模型”。
  对生成式模型来说,需要考虑
P(c|x)=P(c)P(x|c)P(x)(7.4)

  其中,P(c)是类“先验”概率,P(x|c)是样本x相对于类标记c的类条件概率,或称为“似然”。
  类先验概率P(c)表达了样本空间中各类样本所占的比例。根据大数定律,当训练集包含充足的独立同分布样本时,P(c)可通过各类样本出现的概率来进行估计。
  对类条件概率P(x|c)来说,由于它涉及到x所有属性的联合概率,因此直接计算是困难的,下文给出了一些估计方法。

7.2 极大似然估计

  估计类条件概率的一种方法是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。假定P(x|c)具有确定的形式且被参数向量θc唯一确定,下文将根据训练集D估计参数θc
  令Dc表示训练集D中第c类样本组成的集合,假设这些样本是独立同分布的,则参数θc对于数据集Dc的似然是

P(DC|θc)=P(x|θc)(7.5)

  通过假定概率密度函数服从某种分布,可以求得参数的极大似然估计值。但这种方法的缺点是估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布,如若不然,很可能产生误导性的结果。

7.3 朴素贝叶斯分类器

  为避免直接计算x的联合概率分布,朴素贝叶斯分类器采用了“属性条件独立性假设”,对已知类别,假设所有属性互相独立。根据这个假设,式(7.4)可以改写为

P(c|x)=P(c)P(x|c)P(x)=P(c)P(x)i=1dP(xi|c)(7.6)

  其中d为属性数目,xi是x在第i个属性上的取值。
  由于对所有类别来说P(x)相同,因此基于式(7.6)的贝叶斯判定准则有
hnb(x)=argmaxP(c)i=1dP(xi|c)(7.7)

  令Dc表示训练集D中第c类样本组成的集合,若有充足的独立同分布样本,可估计出类先验概率
P(c)=|Dc||D|(7.8)

  对离散属性来说,令Dc,xi表示Dc中在第i个属性上取值为x_i的样本组成的集合,则条件概率P(xi|c)可估计为
P(xi|c)=|Dc,xi||D|(7.9)

  朴素贝叶斯分类器的训练准则就是基于训练集D来估计类先验概率P(c),并为每个属性估计条件概率P(xi|c)。但当某个属性值在训练集中没有出现过,即后验概率为0,基于式(7.6)进行计算将会得到0,其他属性携带的信息被“抹去”了。为了避免这种情况产生,在估计概率值时要进行“平滑”处理,常用“拉普拉斯修正”。具体来说,令N表示训练集D中可能的类别数,Ni表示第i个属性可能的取值数,式(7.8)和式(7.9)修正为
P^(c)=|Dc|+1|D|+N(7.10)

P^(xi|c)=|Dc,xi|+1|D|+N(7.11)

  拉普拉斯修正避免了因训练集样本不充分而导致概率估值为零的问题,并且在训练集变大时,修正过程所引入的先验概率的影响也会逐渐变得可忽略,使得估值趋向于实际概率值。

7.4 半朴素贝叶斯分类器

  在朴素贝叶斯分类器中,有一个重要假设就是属性条件独立性。然而,在实际情况下,这个假设往往很难成立。从对属性条件独立性进行一定程度的放松出发,产生了一类称为“半朴素贝叶斯分类器”的学习方法。
  半朴素贝叶斯分类器的基本思路就是适当考虑一部分属性间的相互依赖信息,比如“独依赖估计”是半朴素贝叶斯分类器最常用的一种方法。“独依赖”的意思是假设每个属性在类别之外最多依赖于一个其他属性,即

P(c|x)P(c)i=1dP(xi|c,pai)(7.12)

  其中,pai为属性xi所依赖的属性,称为xi的父属性。
  根据不同的确定父属性的方法,可以产生不同的独依赖分类器。最直接的是假设所有属性都依赖于同一个属性,称为“超父”,然后通过交叉验证等方式来确定父属性,因此形成了SPODE方法。TAN方法是基于最大带权生成树算法,保留了强相关属性之间的联系。AODE方法尝试将每一个属性作为超父来构建SPODE,然后将有足够训练数据支撑的SPODE集成起来作为最终结果。
  与朴素贝叶斯分类器相似,AODE的训练过程也是“计数”,即在训练样本集上对符合条件的样本进行计数的过程。AODE无需模型选择,既能通过预计算节省预测时间,也能采取懒惰学习方式在预测时进行计数,并且易于实现增量学习。

7.5 贝叶斯网

  贝叶斯网亦称为“信念网”,它借助有向无环图来刻画属性之间的依赖关系,并使用条件概率表来描述属性的联合概率分布。一个贝叶斯网由结构G和参数Θ构成,即B=G,Θ。网络结构G是一个有向无环图,每个结点对应于一个属性,若两个属性有直接依赖关系,则它们由一条边连接起来;参数Θ定量描述这种依赖关系,假设属性xi在G中的父节点集为πi,则Θ包含了每个属性的条件概率表θxi|πi=PB(xi|πi),示意图如下所示


贝叶斯网络示意图

  根据属性间依赖的涉及程度,贝叶斯分类器形成了一个“谱”。朴素贝叶斯分类器不考虑属性间依赖性,贝叶斯网能够表示任意属性间的依赖性,介于两者之间的是一系列半朴素贝叶斯分类器,考虑属性间的部分依赖性。

7.5.1 结构

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

PB(x1,x2,...,xd)=i=1dPB(xi|πi)=i=1dθxi|πi(7.13)

  为分析有向图中变量间的条件独立性,可使用“有向分离”。先把有向图转变为无向图:
  1. 找出有向图中所有的V型结构图,在V型结构的两个父节点之间加上一条无向边;
  2. 将所有有向边改为无向边。
  由此产生的无向图称为“道德图”,令父节点相连的过程称为“道德化”。道德图能够比较方便的找出变量间的条件独立性。假定道德图中有变量x,y和变量集合z={zi} ,若变量x,y能在图上被z分开,即从道德图中将变量集合z去除后,x和y分属两个连通分支,则称变量x和y被z有向分离,x和y在z的取值给定时独立。

7.5.2 学习

  若网络结构已知,即属性间的依赖关系已知,则贝叶斯网的学习过程只需要对训练样本”计数“,估计出每个节点的条件概率即可。但现实情况下我们往往不知道网络结构,所以贝叶斯网的首要任务是根据训练数据集找出结构最”恰当“的贝叶斯网。为解决这个问题,常用”评分搜索法“。原理上,就是先定义一个评分函数,以此来评估贝叶斯网与训练数据的契合程度,然后基于这个评分函数来寻找结构最优的贝叶斯网。
  常用评分函数通常基于信息论准则,此类准则将学习问题看做一个数据压缩任务,学习的目标是找到一个能以最短编码长度描述训练数据的模型。对贝叶斯网而言,模型就是一个贝叶斯网,同时,每个贝叶斯网描述了一个在训练数据集上的概率分布,自有一套编码机制能使那些经常出现的样本有更短的编码。应当选择哪个综合编码长度(包括描述网络和编码数据)最短的贝叶斯网,即“最小描述长度”准则。
  为了实现该准则,我们只需要对网络结构进行搜索,候选结构的最优参数可直接在训练集上得到。但从所有可能的网络结构空间搜索最优贝叶斯网络结构是一个NP难问题,难以快速求解。有两种常用的策略能在有限的时间内求得近似解:从某个网络结构出发,每次调整一条边,直到评分函数不再降低为止;通过网络结构施加约束来削减搜索空间,例如将网络结构限定为树形结构等。

7.5.3 推断

  贝叶斯网络训练好后就能够通过已知变量观测值来推测待查询变量,这个过程称为“推断”,已知变量被称为“证据”。
  最理想的情况是直接根据贝叶斯网的定义的联合概率分布来计算后验概率,但是这样的“精确推断”是NP难的,我们需要进行“近似推断”,通过降低精度要求,在有限时间内取得近似解。在现实应用中,贝叶斯网的近似推断通常采用吉布斯采样法。
  吉布斯采样是在贝叶斯网所有变量的联合状态空间与证据E=e一致的子空间中进行“随机漫步”,每一步仅依赖于前一步的状态,这是一个“马尔科夫链”。在一定条件下,无论从什么初始状态开始,马尔科夫链的第t步的状态分布在t时必收敛于一个平稳分布。对于吉布斯采样来说,这个分布恰好是后验概率。

7.6 EM算法

  在现实生活中,常常会遇到“不完整”的训练样本,即存在某些属性变量值未知。在这种情况下,使用EM算法,在存在“未观测变量”的情况下,对模型参数进行估计。
  未观测变量的学名是“隐变量”,令X表示已观测变量集,Z表示隐变量集,θ表示模型参数。若欲对Θ作极大似然估计,则应最大化对数似然

LL(Θ|X,Z)=InP(X,Z|Θ)(7.14)

  由于Z是隐变量,无法直接求解上式,此时可通过对Z计算期望,来最大化已观测数据的对数“边际似然”
LL(Θ|X)=lnP(X|Θ)=lnZP(X,Z|Θ)(7.15)

  EM算法是常用的估计参数隐变量的方法,它是一种迭代式的方法,基本思路是:若参数Θ已知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可以对参数Θ做极大似然估计(M步)。以初始值Θ0为起点,对上式,可执行以下步骤至收敛:
  1. 基于Θt推断隐变量Z的期望,记为Zt;
  2. 基于已观测变量XZt对参数Θ做极大似然估计,记为Θt+1

阅读全文
0 0
原创粉丝点击