贝叶斯分类器学习

1:贝叶斯决策论

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

贝叶斯判定准则

我们的目标是最小化总体风险。寻找一个方法h,对于每个样本x,使得条件风险最小化,这样就可以是总体风险最小化。为最小化总体风险,只需在每个样本上选择那个能使得条件风险R(c|x)最小化的类别标记c,即

这就是贝叶斯判定准则。h*称为贝叶斯最优分类器,与之对应,总风险R(h*)称为贝叶斯风险。1-R(h*)分类器所能达到的最好性能。当损失λij表示为:样本被错误分类时,λij=1;没有错误分类时,λij=0。R(c|x)表示样本被错误分类的概率,即错误分类率,P(c|x)是后验概率。可以看出,我们的目标是最小化错误分类率,则此时条件风险为

 那么,我们可以将最小化条件风险的目标转化为最大化后验概率,于是,贝叶斯最优分类器变为

而对于P(c|x)有两种策略求得:
① 判别式模型:给定x,通过直接建模P(c|x)来预测c。如:决策树、BP神经网络、支持向量机。
② 生成式模型:先对联合概率分布P(x,c)建模,然后再由此得到P(x|c)。如:贝叶斯分类器。
则通过一开始的相关概率中的几个概率可以知道,贝叶斯最优分类器可以变为

其中
P(x)与类标记c无关,因此在最后一步中从最大化目标中略去。

P(c)为类先验概率,其表示样本空间中各类样本所占比例,根据大数定律,当训练集包含足够的样本时,P(c)可通过各类样本频数进行估计;

P(x|c)为样本x关于类别c的类条件概率,或者称为"似然"。它涉及关于x所有属性的联合概率,如果直接用样本出现的频率来估计将会十分困难。因此对于类条件概率,我们使用极大似然估计来估计。

2:极大似然估计

极大似然估计源自于频率主义学派,他们认为参数虽然未知,但却是客观存在的规定值,因此,可以通过优化似然函数等准则确定参数数值。本节使用极大似然估计对条件概率进行估计。令Dc表示训练集D中第c类样本组成的集合,假设这些样本是独立同分布的,则参数θc(θc是确定条件概率P(x|c)的唯一参数向量)对数据集Dc的似然为

似然函数可以记为

 对θc进行极大似然估计,就是寻找能最大化似然P(Dc|θc)的参数值θ^c。由于似然函数连乘易造成问题,因此对上述的似然函数对数化,对数化似然函数之后如下

因此求得θc的极大似然估计θ^c为

 使用极大似然估计方法估计参数虽然简单,但是其结果的准确性严重依赖于每个问题所假设的概率分布形式是否符合潜在的真实数据分布,不符合的话很可能产生误导性的结果。
求解极大似然估计的步骤

3:朴素贝叶斯分类器

从前面的讲解可知,使用贝叶斯公式来估计后验概率的困难是难以从现有的训练样本中准确的估计出条件概率P(x|c)的概率分布。朴素贝叶斯分类器为了避开这个障碍,朴素贝叶斯方法对条件概率分布作了条件独立性的假设。具体地,条件独立性假设是

有了条件概率的简化条件之后,贝叶斯准则改写为

 这就是朴素贝叶斯分类器的表达式。

下面对先验概率P(c)条件概率P(xi|c)进行极大似然估计求得后验概率。

对先验概率P(c)容易求出

条件概率

1)对离散属性而言,令Dc,xi表示Dc中在第i个属性上取值为xi的样本组成的集合,则条件概率P(xi|c)的似然估计为

对连输属性需要考虑其密度函数。如p(xi|c)服从正态分布,则有

4:贝叶斯网

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

4.1 结构

贝叶斯网中,给定父结点集,假设每个属性与它的非后裔属性独立,也就是说不存在依赖关系的属性相互独立,于是属性x1,x2,……,xd的联合概率定义为

在贝叶斯网中,三个变量之间典型的依赖关系,分别为

4.2 学习

贝叶斯学习的首要任务是根据训练数据集找出结构最恰当的贝叶斯网。"评分搜索"来解决这个问题。具体是先定义一个评分函数,以此评估贝叶斯网与训练数据的契合程度,然后基于这个函数来寻找结构最优的贝叶斯网。这个评分函数由我们希望获得什么样的贝叶斯网而确定。

得到一个什么样的贝叶斯网是合理的呢?

  • 信息论准则将学习问题看作一个数据压缩的问题,目标是找到以最短编码长度描述训练数据的模型。编码长度包括描述模型自身所需的字节长度和描述数据所需的字节长度。常用评分函数基于上述准则。

    对于贝叶斯网学习,评分函数基于"最小描述长度"准则:选择综合编码长度最短的贝叶斯网
    贝叶斯学习得到的模型是一个贝叶斯网,每个贝叶斯网描述了训练数据上的概率分布,有一套编码机制使得经常出现的样本有更短的编码。
    因此,选择综合编码长度(包括描述网络和编码数据)最短的贝叶斯网

贝叶斯网的评分函数

有了上面的准则,就可以给出贝叶斯网的评分函数了。
给定训练集D={x1,x2,……,xm},贝叶斯网B=(G,Θ)在D上的评分函数为

第一项f(θ)|B|是计算编码贝叶斯网B所需的字节数,其中|B|是贝叶斯网的参数个数;f(θ)表示描述每个参数θ所需的字节数。

第二项是计算B所对应的概率分布PB需多少字节来描述D:其中LL(B|D)指的是贝叶斯网B的对数似然。

由此可把学习任务转化为一个优化任务:寻找一个贝叶斯网B使得评分函数s(B|D)最小。其中,当f(θ)的取值分布为1、1/2logm、0时有

 若贝叶斯网的结构G固定,则评分函数第一项为常数,此时最小化评分函数等价于对于参数Θ的极大似然估计,通过下两式子

可知,参数θxi|πi能直接在训练数据D上通过经验估计得到,即

其中P^D是D上的经验分布,即事件在训练集上出现的频率。因此为了最小化评分函数 s(BID) 只需对网络结构进行搜索,而候选结构的最优参数可直接在训练集上计算得到。然而从所有可能的网络结构空间搜索最优贝叶斯网结构是一个NP难问题,有两种策略在有限时间内求得近似解:
1)贪心算法:例如从某个网络结构出发,每次调整一条边(增加、删除或改变方向),直到评分函数值不再降低为止。
2)通过给网络结构施加约束来削减搜索空间,例如将网络结构限定为树形结构。

4.3 推断

贝叶斯网训练好之后,可以通过一些属性变量的观测值来推测其他属性变量的取值。如,我们观测到西瓜色泽青绿、敲声浊响、根蒂蜷缩,想知道它是否成熟、甜度如何。通过已知变量观测值来推测待查询的过程称为"推断",已知变量观测值称为"证据"。当网络结点较多、连接稠密时,难以进行精确推断,得到后验概率,需要借助"近似推断",通过降低精度要求,求得近似解。贝叶斯网的近似推断常使用吉布斯采样来完成,这是一种随机采用法,接下来看它如何工作。

令Q={Q1,Q2,……,Qn}表示待查询变量,q={q1,q2,……,qn}是待查询变量的一组取值;E={E1,E2,……,Ek}为证据变量,其取值为e={e1,e2,……,ek}。
目标是计算后验概率P(Q=q|E=e)。
如,西瓜问题,待查询变量为Q={好瓜,甜度},证据变量E={色泽,敲声,根蒂}且已知其取值为e={青绿,浊响,蜷缩},查询目标值是q={是,高},即这是好瓜且甜度高的概率有多大。以下是吉布斯采样的流程

5:EM算法

以上的例子中,我们总是假设训练样本都是完整的。但实际上,训练样本往往是有所缺失的。例如,由于西瓜的根蒂脱落,无法看出其根蒂的属性值。这种"未观测"变量,称为"隐变量"

令X表示已观测变量集(属性值都知道),Z表示隐变量集,Θ表示模型参数。对Θ进行极大似然估计,即最大化对数似然函数

由于Z是隐变量,无法直接计算,因此我们使用EM(Expectation-Maximization)算法来估计隐变量。我们可以对Z计算期望,来最大化已观测数据的对数边际似然 

EM算法的基本思想:若参数Θ己知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可方便地对参数Θ做极大似然估计(M步)。步骤如下

 

第一步(E步):用当前估计的参数值求对数似然的期望值;
第二步(M步):寻找参数最大似然估计:寻找能使E步产生的似然期望最大化的参数值,然后该参数值重新被用于E步。
不断重复第一、第二步直到收敛到局部最优解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值