您的位置:首页 > 其它

朴素贝叶斯分类器

2017-12-28 11:09 190 查看
贝叶斯决策论

在所有相关概率都已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。

假设有N种可能的类别标记,即Y={c1,c2,...,cN},λij是将一个真实标记为cj的样本误分类为ci所产生的损失。基于后验概率P(ci|x)可获得样本x分类为ci所产生的期望损失,即在样本x上的“条件风险”(在决策论中将期望损失称为风险):

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

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

R(h)=Ex[R(hx)|x]

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

h∗(x)=argminc∈YR(c|x)

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

若木表是最小化分类错误率,则λij可写为:

λij={01ifi=jotherwise

此时条件风险:

R(c|x)=1−P(c|x)

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

h∗(x)=argmaxc∈YP(c|x)

对每个样本x,选择能使后验概率P(c|x)最大的类别标记。

想要使用贝叶斯判定准则来最小化决策风险,首先要获得后验概率P(c|x),这通常难以直接获得。从这个角度出发,机器学习所要实现的是基于有限的训练样本集尽可能准确地估计出后验概率P(c|x)。事实上,很多机器学习方法无须准确估计后验概率就能准确进行分类。

大体来说,主要有两种策略:1.给定x,通过直接建模P(c|x)来预测c,这属于“判别式模型”;也可先对联合概率分布P(c,x)建模,然后再获得P(c|x),这属于“生成式模型”。对于后者,必然考虑:

P(c|x)=P(c)P(x|c)P(x)

类先验概率P(c)对所有类别标记均相同,可通过各类样本出现的频率进行估计。

类条件概率P(x|c)亦称之为”似然”,由于涉及x所有属性的联合分布,直接根据样本出现的频率进行估计将会遇到严重的困难。假设样本的d个属性都是二值的,则样本空间将有2d中可能性,很多取值在训练集中可能根本就没有出现,直接使用频率估计P(x|c)显然不可行,因为“未被观测到”与“出现概率为零”是不同的。

极大似然估计

概念理解:一般来说,时间A发生的概率与某一未知的参数θ有关,θ取值不同,则事件A发生的概率P(A|θ)也不相同,当我们在一次试验中事件A发生了,则认为此时的θ值应是其一切可能取值中使得P(A|θ)达到最大的那一个值,极大似然估计就是要找出这样的值作为参数θ的估计值,从而使得所选取的样本在数据集中出现的可能性最大。

最大似然估计是常用的参数估计方法之一,即已知某个随机样本满足某种概率分布,但是具体的参数未知,参数估计就是通过若干次实验通过其结果推测参数的大概值。

估计类条件概率的一种常用策略是:先假定类条件概率具有某种确定的概率分布形式,再基于训练数据集对概率分布的参数进行估计。具体地,即关于类别c的类条件概率为P(x|c),假设P(x|c)具有确实的形式并且被参数向量θc唯一确定,则我们的任务就是利用训练集D估计参数θc。将P(x|c)记为P(x|θc)。

事实上,概率模型的训练过程就是参数估计的过程。统计学派认为参数虽未知,但是客观存在的固定值,因此可通过优化似然函数来确定参数值;贝叶斯学派认为,参数也可能具有某种分布,可假设参数服从一个先验分布,然后基于观测到的数据来计算参数的后验概率。极大似然估计属于前者。

令Dc表示训练集D中第c类样本组成的集合,假设这些样本是独立同分布的,则参数θc对于数据集Dc的似然:

P(Dc|θc)=∏x∈DcP(x|Dc)

对θc进行极大似然估计就是寻找能使最大化似然P(Dc|θc)的参数θ^c。直观上看,极大似然估计是试图在θc所有可能的取值中找到一个能使数据出现的“可能性”最大的值。

对以上的连乘操作易造成下溢,通常使用对数似然:

LL(θc)=logP(Dc|θc)=∑x∈DclogP(x|θc)

此时参数的最大化似然估计θ^c为:

θ^c=argmaxθcLL(θc)

朴素贝叶斯分类器

基于贝叶斯公式估计后验概率P(c|x)的主要困难在于:类条件概率P(x|c)是所有属性上的联合概率,难以从有限的数据集或者训练样本中直接估计而得。为避开这个障碍,朴素贝叶斯分类器采用了“属性条件独立性假设”:对已知的类别,假设属性相互独立,即每个属性独立的对分类结果产生影响。

由属性条件独立性假设可得:

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

对于所有的类别来说,P(x)相同,因此:

hnb(x)=argmaxc∈YP(c)∏i=1dP(xi|c)

这就是朴素贝叶斯分类器的思想。

基于训练数据集估计类先验概率P(c),并为每一属性估计条件概率P(xi|c)。

P(c)=|Dc||D|

如果属性是离散的:

P(xi|c)=|Dc,xi||Dc|

如果属性是连续的,可以考虑密度函数,假设

p(xi|c)∼N(μc,i,σ2c,i)

其中μc,i和σ2c,i分别是第c类样本在第i个属性上取值的均值和方差,则有:

p(xi|c)=12π−−√σc,iexp⎛⎝−(xi−μc,i)22σ2c,i⎞⎠

声明:本文内容引自周志华老师《机器学习》。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习