机器学习期末复习——第七章
贝叶斯决策论(Bayesian Decision Theory)是概率框架下实施决策的基本方法。对于分类任务而言,在所有相关概率都已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。
一、重点知识点回顾
1. 朴素贝叶斯分类器
(1)基本的朴素贝叶斯分类器
对于贝叶斯公式而言:
P(c∣x)=p(x)P(c)P(x∣c)
如果想直接使用该公式来估计后验概率P(c∣x),主要的困难在于:似然概率P(x∣c)是所有属性上的联合属性,难以从有限的训练样本当中直接估计而得。
因此,朴素贝叶斯分类器具有一个关键前提假设:属性条件独立性假设,假设每个属性独立地对分类结果产生影响。基于该假设,贝叶斯公式可重写为:
P(c∣x)=p(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)
由于对所有类别而言p(x)是相同的,因此朴素贝叶斯分类器的表达式即为:
hnb(x)=c∈yargmaxP(c)i=1∏dP(xi∣c)
显然,朴素贝叶斯分类器的训练过程就是基于训练集D来估计类先验概率P(c),并为每个属性估计条件概率P(xi∣c)。
(2)带有拉普拉斯修正的朴素贝叶斯分类器
然而,朴素贝叶斯分类器也存在一些缺陷:如果某个属性值在训练集中没有与某个类同时出现过,而直接基于朴素贝叶斯分类器的表达式进行判别,则将出现问题。例如,在使用西瓜数据集3.0训练朴素贝叶斯分类器时,对一个“敲声=清脆”的测试例,有:
P清脆|是=P(敲声=清脆|好瓜=是)=80=0
那么再将此结果带入连乘表达式后得到的结果就是0,这显然不太合理。
为了避免其他属性携带的信息被训练集中未出现的属性值“抹去”,在估计概率值时通常要进行“平滑”(Smoothing),一个常见的做法是拉普拉斯修正修正。具体来说,令N表示训练集D中可能的类别数,Ni表示第i个属性可能的取值数,则先验概率和似然概率的计算公式将分别被修正为:
P^(c)=∣D∣+N∣Dc∣+1
P^(xi∣c)=∣Dc∣+Ni∣Dc,xi∣+1
2. 贝叶斯网
贝叶斯网的每一个结点对应于一个属性,若两个属性有直接依赖关系,则它们用一条边连接起来。
3. EM算法
在前边的讨论中,我们一直假设训练样本所有属性变量的值都可以被观测到,即训练样本是完整的。但是在现实应用中,我们往往会遇到不完整的训练样本,例如由于西瓜的根蒂已经脱落,无法看出是“蜷缩”还是“硬挺”,则训练样本的“根蒂”属性变量值未知。
上述未观测变量的学名是隐变量,而EM(Expectation-Maximization)算法正是常用的估计参数隐变量的利器。作为一种迭代式的方法,EM算法的基本思想是:
- 若参数Θ已知,则可根据训练数据推断出最优隐变量Z的值,此即E步;
- 反之,若Z的值已知,则可方便地对参数Θ做极大似然估计,此即M步。
简要来说,EM算法使用两个步骤交替计算:第一步是E步,利用当前估计的参数值来计算对数似然的期望值;第二步是M步,寻找能使E步产生的似然期望最大化的参数值。然后,新得到的参数值重新被用于E步…直至收敛到局部最优解。