贝叶斯决策论
贝叶斯决策论是概率框架下实施决策的基本方法。
假设有N种可能的类别标记,即 y=(c1,c2,...,cN)y=(c_1,c_2,...,c_N)y=(c1,c2,...,cN) , λij\lambda_{ij}λij 是将一个真实标记为 cjc_jcj 的样本误分类为 cic_ici 所产生的损失。基于后验概率 P(ci∣x)P(c_i|x)P(ci∣x) 可获得将样本 x 分类为 cic_ici 所产生的期望损失,即在样本 x 上的条件风险
R(ci∣x)=∑j=1NλijP(cj∣x)R(c_i|x)=\sum_{j=1}^N \lambda_{ij} P(c_j|x)R(ci∣x)=j=1∑NλijP(cj∣x)
我们的任务是寻找一个判定准则 h:χ↦yh: \chi \mapsto yh:χ↦y 以最小化总体风险
R(h)=Ex[R(h(x)∣x)]R(h)=E_x[R(h(x)|x)]R(h)=Ex[R(h(x)∣x)]
显然对每个样本 x ,若 h 能最小化条件风险 R(h(x)∣x)R(h(x)|x)R(h(x)∣x),则总体风险 R(h)R(h)R(h) 也将被最小化。这就产生了贝叶斯判定准则:**为最小化总体风险,只需在每个样本上选择那个能使条件风险 R(c∣x)R(c|x)R(c∣x) 最小的类别标记。**即
h∗(x)=argc∈yminR(c∣x)(1)h^*(x)=arg_{c \in y} min R(c|x) \tag{1}h∗(x)=argc∈yminR(c∣x)(1)
此时,h∗(x)h^*(x)h∗(x) 称为贝叶斯最优分类器,与之对应的总体风险 R(h∗)R(h^*)R(h∗) 称为贝叶斯风险。1−R(h∗)1-R(h^*)1−R(h∗) 反映了分类器所能达到的最好性能,即通过机器学习所能产生的模型精度的理论上限。
具体来说,若目标是最小化分类错误率,则误判损失 λij\lambda_{ij}λij 可写为
λij={0,ifi=j1,otherwise\lambda_{ij} =\begin{cases}\\0, if \quad i=j\\1,otherwise \end{cases}λij={0,ifi=j1,otherwise
此时条件风险(将上式代入前面的公式)
R(c∣x)=1−P(c∣x)R(c|x)=1-P(c|x)R(c∣x)=1−P(c∣x)
即对每个样本 x ,选择能使后验概率 P(c∣x)P(c|x)P(c∣x) 最大的类别标记。
基于贝叶斯定理,P(c∣x)P(c|x)P(c∣x) 可以写为
P(c∣x)=P(c)P(x∣c)P(x)(2)P(c|x)=\frac{P(c)P(x|c)}{P(x)} \tag{2}P(c∣x)=P(x)P(c)P(x∣c)(2)
其中,P(c)P(c)P(c) 是类**“先验”概率**;P(x∣c)P(x|c)P(x∣c) 是样本 x 相对于类标记 c 的类条件概率或称为似然;P(x)P(x)P(x) 是用于归一化的证据因子。对给定样本x , 证据因子P(x)P(x)P(x) 与类标记无关。因此,问题转化为如何通过训练数据来估计先验P(c)P(c)P(c)和似然P(x∣c)P(x|c)P(x∣c).
极大似然估计
估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。假设P(x∣c)P(x|c)P(x∣c) 具有确定的形式并且被参数向量 θc\theta_cθc 唯一确定,则我们的任务就是利用训练集D估计参数 θc\theta_cθc .
事实上,概率模型的训练过程就是参数估计过程,对于参数估计,统计学派分别提供了不同的解决方案:**频率主义学派认为参数虽然未知,但却是客观存在的固定值,因此可通过优化似然函数等准则来确定参数值;贝叶斯学派则认为参数是未观察到的随机变量,其本身也可有分布,因此,可假定参数服从一个先验分布,然后基于观测到的数据来计算参数的后验分布。**极大似然估计是频率主义学派的方法,是根据数据采样来估计概率分布参数的经典方法。
令 DcD_cDc 表示训练集 DDD 中第 ccc 类样本组成的集合,假设这些样本是独立同分布的,则参数 θc\theta_cθc 对于数据集 DcD_cDc 的似然是
P(Dc∣θc)=∏x∈DcP(x∣θc)(3)P(D_c|\theta_c)=\prod_{x \in D_c} P(x|\theta_c) \tag{3}P(Dc∣θc)=x∈Dc∏P(x∣θc)(3)
对 θc\theta_cθc 进行极大似然估计,就是寻找能最大化似然 P(Dc∣θc)P(D_c|\theta_c)P(Dc∣θc) 的 θ^c\hat \theta_cθ^c。
上式连乘容易下溢,通常使用对数似然
LL(θc)=logP(Dc∣θc)=∑x∈θclogP(x∣θc)LL(\theta_c) = log P(D_c|\theta_c) = \sum_{x \in \theta_c} log P(x|\theta_c)LL(θc)=logP(Dc∣θc)=x∈θc∑logP(x∣θc)
此时参数 θc\theta_cθc 的极大似然估计 θ^c\hat \theta_cθ^c 为
θ^c=argθcmaxLL(θc)\hat \theta_c = arg_{\theta_c}max LL(\theta_c)θ^c=argθcmaxLL(θc)
这种参数化方法使得类条件概率估计变得简单,但是估计结果的准确性严重依赖于假设概率分布形式是否符合潜在的真实数据分布。现实中,欲做出能较好地接近潜在真实分布的假设(即离散型变量的概率分布,连续型变量的概率密度函数),往往需要利用关于应用任务本身的经验知识。
朴素贝叶斯分类器
基于贝叶斯公式(2)来估计后验概率 P(c∣x)P(c|x)P(c∣x) 的主要困难在于:类条件概率 P(x∣c)P(x|c)P(x∣c) 是所有属性上的联合概率,难以从有限的训练样本直接估计而得(如果基于有限数据直接估计联合概率,计算上遭遇组合爆炸问题,数据上遭遇样本稀疏问题)。为了避开这个障碍,朴素贝叶斯分类器采用了属性独立性假设:对已知类别,假设所有属性相互独立。即每个属性独立的对分类结果发生影响。
P(c∣x)=P(c)P(x∣c)P(x)=P(c)P(x)∏i=1dP(xi∣c)(4)P(c|x)=\frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)}\prod_{i=1}^d P(x_i|c) \tag{4}P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)(4)
d 是属性数目,xix_ixi 为 x 在第 i 个属性上的取值(其实 xix_ixi 实际上是一个“属性-值”对。在上下文明确时,有时xix_ixi 表示属性,有时表示属性的取值)。
由于对所有类别来说 P(x)P(x)P(x) 相同,因此基于公式(1)的贝叶斯判定准则有
hnb(x)=argc∈ymaxP(c)∏i=1dP(xi∣c)(5)h_{nb}(x)=arg_{c \in y}max P(c)\prod_{i=1}^d P(x_i|c) \tag{5}hnb(x)=argc∈ymaxP(c)i=1∏dP(xi∣c)(5)
这就是朴素贝叶斯分类器的表达式。
所以,朴素贝叶斯分类器的训练过程就是基于训练集 D 来估计先验概率 P(c)P(c)P(c), 并为每个属性估计条件概率 P(xi∣c)P(x_i|c)P(xi∣c) 。
上式有连乘,会出现属性没有与类同时出现时,结果为0,为避免其他属性携带的信息被“抹去”,在估计概率值时通常进行“平滑”,常用“拉普拉斯修正”。具体做法是在求 P(xi∣c)P(x_i|c)P(xi∣c) 时,在分子分母上加上一个常数。
半朴素贝叶斯分类器
朴素贝叶斯分类器借助属性独立性假设降低了估计后验概率P(c∣x)P(c|x)P(c∣x)的困难,尝试对属性条件独立性假设进行一定程度的放松。
半朴素贝叶斯分类器的想法是适当考虑一部分属性间的相互依赖信息,从而既不需进行完全联合概率计算,又不至于彻底忽略了比较强的属性依赖关系。“独依赖估计”是半朴素贝叶斯分类器最常用的策略,即假设每个属性在类别之外最多依赖于一个其他属性。
朴素贝叶斯算法小结
朴素贝叶斯的主要优点有:
1)朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
2)对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。
3)对缺失数据不太敏感,算法也比较简单,常用于文本分类。
朴素贝叶斯的主要缺点有:
1) 理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。
2)需要知道先验概率,且先验概率很多时候取决于假设,如果样本不充分,大数定律保证的先验概率就不准确。
3)由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。
4)对输入数据的表达形式很敏感。
贝叶斯网
贝叶斯网是一种经典的概率图模型。也称为信念网,它借助**有向无环图(DAG)来刻画属性之间的依赖关系,并使用条件概率表(CPT)**来描述属性的联合概率分布。
一个贝叶斯网 BBB 由结构 GGG 和参数 Θ\ThetaΘ 两部分构成,即 B=[G,Θ]B=[G, \Theta]B=[G,Θ] .网络 GGG 是一个有向无环图,其每个节点对应于一个属性,若两个属性有直接依赖关系,则它们由一条边连接起来。参数 Θ\ThetaΘ 定量描述这种依赖关系,假设属性 xix_ixi 在 GGG 中的父节点集为 πi\pi_iπi ,则 Θ\ThetaΘ 包含了每个属性的条件概率表 θxi∣πi=PB(xi∣πi)\theta_{x_i|\pi_i}=P_B(x_i|\pi_i)θxi∣πi=PB(xi∣πi) .
参考
周志华《机器学习》
https://www.cnblogs.com/pinard/p/6069267.html