一. 贝叶斯决策论
贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。下面我们以多分类任务为例,来解释其基本原理。
(1)假设有N种可能的类别标记,y={c1,c2,...,cn},x 为样本。
(2)基于后验概率P(ci | x)可获得将样本x 分类为ci的期望损失R( ci | x)。这个损失可以理解为如果将x 分为ci类的风险损失最小,那么x最有可能被分为ci类,为什么是这样呢?根据书上R的计算公式,假设lambda为1,那么显然,P(ci | x)越大,R越小。
(3)我们的任务是寻找一个判定准则h:x->y以最小化总体风险R(h)=Ex(R(h(x)|x)]。
显然,若对于每个样本x,若h能使R(h(x)|x)最小,那么总体风险也就最小,这里是怎么理解呢?
其实h(x)就相当于是一个寻找判断x属于哪个类别可能性最大的函数,当h(x)能把x分到最大可能性的类别时,对应的R就最小了。
于是,产生了贝叶斯贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择那个能使条件风险R(c|x)最小的类别标记,即h*(x)=arg minR(c|x)。
此时,h*称为贝叶斯最优分类器,与之对应的总体风险R(h*)被称为贝叶斯风险。1-R(h*)反映了分类器所能达到的最好 性能,即通过机器学习所能产生的模型的精度的理论上限。
若lambda是0,1损失函数。
此时条件风险R(c|x)=1-P(c|x)。
于是,最下化分类错误率的贝叶斯最优分类器为h*(x)=arg max P(c|x)。
所以,h*(x)的目的就是对于每个样本x,选择能使后验概率P(c|x)最大的类别标记。
那么,我们是不是首先就应该获得后验概率P(c|x)?
当然,但是在现实任务中,这通常难以直接获得。从这个角度来看,机器学习所要实现的是基于有限的训练样本集,尽可能准确地估计出后验概率P(c|x)。大体来说有两种策略:
(1)判别式模型:给定x,可通过直接建模P(c|x)来预测c
(2)生成式模型:先对联合概率分布P(x,c)建模,然后由此获得P(c|x).
决策树,BP神经网络,支持向量机等都可以归为判别式模型的范畴。
对于生成式模型,我们必然考虑:
P(c|x)=P(x,c)/P(x)=P(c)P(x|c)/P(x)。
P(c):类“先验"概率
P(x|c):样本x相对于类标记c的类条件概率或成为似然
P(x):用于归一化的“证据”因子,对于给定x,P(x)与类别标记无关。因此,估计P(c|x)的问题就转化为了如何基于训练数据D来估计先验概率P(c)和似然P(x|c)。
类先验概率P(c)表达了样本空间中各类样本所占的比例,根据大数定理,当训练集包含充足的独立同分布样本时,P(c)可通过各类样本出现的频率来进行估计。
对于估计P(x|c)的一种畅通策略就是先假定其具有某种确定的概率分布,再基于训练样本对概率分布的参数进行估计,可以利用极大似然估计法进行参数估计。但直接估计概率分布,在现实中很多情况并不现实,仅凭猜测,很可能导致误导性结果。
二. 朴素贝叶斯分类器
目的:避开类条件概率P(x|c)是所有属性上的联合概率,而难以从有限的训练样本直接估计P(x|c)这一困难。
做法:采用了“属性条件独立性假设”:对已知类别,假设所有属性相互独立。
基于上述假设,P(c|x)=P(x,c)/P(x)=P(c)P(x|c)/P(x)=
因此hnb(x)=arg max
于是,我们可以用一下公式来估计P(c)和P(xi|c).
P(xi|c)=
需要注意,若某个属性值在训练集中没有与某个类同时出现过,则P(xi|c)=0,于是连乘公式将等于0,因此无论该样本的其他属性是什么,哪怕再其他属性上明显像好瓜,分类结果都将是好瓜=否。这显然不太合理。
为了避免这种情况,我们常用“拉普拉斯修正”。具体来说,令N表示训练集D中可能的类别数,Ni表示第i个属性可能的取值数,则
三. 半朴素贝叶斯分类器
为了降低贝叶斯公式中计算P(c|x)的 困难,朴素贝叶斯分类器采用了属性条件独立性假设,但在现实任务中这个假设往往难以成立,于是人们尝试对属性条件独立性假设进行一定程度的放松,由此产生了一类称为“半朴素贝叶斯分类器”的学习方法。
半朴素贝叶斯分类器的基本想法是适当考虑一部分属性间相互依赖信息,从而既不需进行完全联合概率计算,又不至于忽略了比较强的属性依赖关系。
独依赖估计(ODE)是半朴素贝叶斯分类器最常用的一种策略(假设每个属性在类别之外最多依赖一个其他属性)
如何确定每个属性的父属性,不同的做法又产生不同的独依赖分类器。
SPODE
TAN
AODE
四. 贝叶斯网