1、贝叶斯决策论
贝叶斯决策论考虑如何基于概率和误判损失来选择最优的类别标记。用多分类任务来解释其基本原理。
假设有N种可能的类别标记,即Y={c1,...,cN},λij是一个真实标记为cj的样本误分类为ci所产生的损失。基于后验概率P(ci∣x)可获得将样本x分类为ci所产生的期望损失,即在样本x上的“条件风险”
R(ci∣x)=j=1∑NλijP(cj∣x)
我们的任务是寻找一个判定准则h:X→Y以最小化总体风险
R(h)=Ex[R(h(x)∣x)]
对每个样本x,若h能最小化条件风险R(h(x)∣x),则总体风险R(h)也将被最小化。则有贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择那个能使条件风险R(c∣x)最小的类别标记,即
h∗(x)=c∈YargminR(c∣x)
此时h∗称为贝叶斯最优分类器,与之对应的总体风险R(h∗)称为贝叶斯风险。1−R(h∗)反映了分类器所能达到的最佳性能,即通过机器学习所能产生的模型精度的理论上限。
若目标是最小化分类错误率,则误判损失
λij={0,1,if i=jotherwise
此时条件风险
R(c∣x)=1−P(c∣x)
于是,最小化分类错误率的贝叶斯最优分类器为
h∗(x)=c∈YargmaxP(c∣x)
即对每个样本x,选择能使后验概率P(c∣x)最大的类别标记。
从这个角度来看,机器学习所要实现的是基于有限的训练样本集尽可能准确地估计出后验概率P(c∣x)。大体来说,主要有两种策略:给定x,可通过直接建模P(c∣x)来预测c,这样得到的是“判别式模型”;也可先对联合概率分布P(x,c)建模,然后再由此获得P(c∣x),这样得到的是“生成式模型”。对于决策树、支持向量机、BP神经网络等,都可以归入判别式模型的范畴。对于生成式模型来说,则要考虑
P(c∣x)=P(x)P(x,c)
基于贝叶斯定理,P(c∣x)可以写为
P(c∣x)=P(x)P(x∣c)P(c)
其中,P(c)是类先验概率;P(x∣c)是样本x相对于类标记c的类条件概率,或称为“似然”,或称为“似然”;P(x)是用于归一化的“证据”因子。因此估计P(c∣x)的问题就转化为如何基于训练数据D来估计先验P(c)和似然P(x∣c)。
(对概率和似然定义上的区分:概率,用于在已知一些参数的情况下,预测接下来在观测上所得到的结果;似然性,则是用于在已知某些观测所得到的结果时,对有关事物之性质的参数进行估值,也就是说已观察到某事件后,对相关参数进行猜测。 对同一个似然函数,其所代表的模型中,某项参数值具有多种可能,但如果存在一个参数值,使得概似函数值达到最大的话,那么这个值就是该项参数最为“合理”的参数值。例如,抛三次硬币,出现两次正面,一次反面,假设正面的概率是p,则事件A两次正面发生的联合概率是P(A∣p)=3p2(1−p),可以知道该联合概率取最大值对应的p=2/3。则在我们观测到事件A时,我们对参数p进行估计,p=2/3就是最合理的,即使真实的p=1/2。)
类先验概率P(c)表达了样本空间中各类样本所占的比例。对类条件概率P(x∣c)来说,它涉及关于x所有属性的联合概率,难以直接根据样本出现的频率来估计。
2、 朴素贝叶斯分类器
朴素贝叶斯器采用“属性条件独立性假设”:对已知类别,假设所有属性相互独立,即假设每个属性独立地对分类结果发生影响。则上式基于属性条件独立性假设,可以重写为:
P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)
其中d为属性数目,xi为x在第i个属性上的取值。由于对所有类别来说P(x)相同,因此贝叶斯判定准则有
hnb(x)=c∈YargmaxP(c)i=1∏dP(xi∣c)
这就是朴素贝叶斯分类器的表达式。朴素贝叶斯分类器的训练过程就是基于训练集D来估计类先验概率P(c),并为每个属性估计条件概率P(xi∣c)。
令Dc表示训练集D中第c类样本组成的集合,若有充足的独立同分布样本,则可以容易的估计出类先验概率
P(c)=∣D∣∣Dc∣
对离散属性而言,令Dc,xi表示Dc中在第i个属性上取值为xi的样本组成的集合,则条件概率P(xi∣c)可估计为
P(xi∣c)=∣Dc∣∣Dc,xi∣
对连续属性可以考虑概率密度函数,假定p(xi∣c)∼N(μc,i,σc,i2),其中μc,i和σc,i2分别是第c类样本在第i个属性上取值的均值和方差,则有
p(xi∣c)=2πσc,i21exp(−2σc,i2(xi−μc,i)2)
由上四式,对某个测试样本进行分类时,先计算出P(c),再计算出P(xi∣c),则可以根据朴素贝叶斯分类器来进行判别,即判断属于哪个类别的概率更大。
为了避免其他属性携带的信息被训练集中未出现的属性值抹去,再估计概率值时通常要进行“平滑”,常用“拉普拉斯修正”,即
P(c)=∣D∣+N∣Dc∣+1P(xi∣c)=∣Dc∣+Ni∣Dc,xi∣+1
3、半朴素贝叶斯分类器
半朴素贝叶斯分类器的基本想法是适当考虑一部分属性间的相互依赖信息。“独依赖估计(ODE)”是半朴素贝叶斯分类器最常用的一种策略,独依赖就是假设每个属性在类别之外最多仅依赖于一个其他属性,即
h(x)=max(P(c)i=1∏dP(xi∣c,pai))
其中pai为属性xi所依赖的属性,称为xi的父属性。如果每个属性xi的父属性已知,则类似于朴素贝叶斯的计数法来计算概率。如果不知道每个属性的父属性,最直接的做法是假设所有属性都依赖于同一个属性,称为“超父(SP)”,由此形成了SPODE方法。即
P(c)=D+NDc+1
P(xi∣c,pai)=Dc,pai+NiDc,pai,xi+1
除了假设所有属性都依赖于同一个属性,还可以尝试假设将每个属性作为超父来构建SPODE,然后集成起来作为最终结果:
h(x)=max(j=1∑dP(c,xj)i=1∏dP(xi∣c,xj))
P(c,xi)=D+NiDc,xi+1
P(xj∣c,xi)=Dc,xi+NjDc,xi,xj+1
其实就是把每个属性作为超父属性,然后求和,比较最终大小。