贝叶斯决策理论与贝叶斯分类器

一、贝叶斯决策理论

贝叶斯决策论是概率框架下实施决策的基本方法,对于分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。

  • 1.1最小风险贝叶斯决策

    假设有N种可能的类别标记, 即 γ={c1,c2,...,cN} γ = { c 1 , c 2 , . . . , c N } . λij λ i j 是将一个真实类别为 cj c j 的样本误分类为为 ci c i 的损失。 基于后验概率 P(ci|x) P ( c i | x ) 可得将样本x分类为 ci c i 所产生的期望损失, 或者称为条件风险(Conditional Risk)

    R(ci|x)=j=1n λijP(cj|x) R ( c i | x ) = ∑ j = 1 n   λ i j P ( c j | x )

    我们的任务是寻找一个判定准则 h:χy h : χ ↦ y 以最小化总体风险:
    R(h)=Ex[R(h(x)|x)] R ( h ) = E x [ R ( h ( x ) | x ) ]

    显然,对每个样本x,若h能最小化条件风险 R(h(x)|x) R ( h ( x ) | x ) ,则总体风险 R(h) R ( h ) 也将被最小化,这即是最小化整体风险(也称贝叶斯判别准则),只需在每个样本上选择那个能使条件风险 R(c|x) R ( c | x ) 最小的类别标记,即:
    h(x)= argmincyR(c|x) h ∗ ( x ) =   a r g m i n c ∈ y ⁡ R ( c | x )

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

  • 1.2最小错误率贝叶斯决策
    若目标是最小化分类错误率,则误判损失 λij λ i j 可写成:
    λij={01,if i=jotherwise λ i j = { 0 i f   i = j 1 , o t h e r w i s e

    此时条件风险 R(cj|x)=Mi=1P(ci|x)(ij)=1P(cj|x) R ( c j | x ) = ∑ i = 1 M P ( c i | x ) ( 注 : i 不 等 于 j ) = 1 − P ( c j | x )
    于是,最小化分类错误率的贝叶斯最优错误率:
    h(x)= argmaxcyp(c|x) h ∗ ( x ) =   a r g m a x c ∈ y ⁡ p ( c | x )

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

二、朴素贝叶斯分类器

1. 朴素贝叶斯的理论基础

朴素贝叶斯算法是基于贝叶斯定理与特征条件独立假设的分类方法。

这里提到的贝叶斯定理、特征条件独立假设就是朴素贝叶斯的两个重要的理论基础。

1.1 贝叶斯定理

先看什么是条件概率。
P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为: P(A|B)=P(AB)P(B) P ( A | B ) = P ( A B ) P ( B )
贝叶斯定理便是基于条件概率,通过P(A|B)来求P(B|A):

P(B|A)=P(A|B)P(B)P(A) P ( B | A ) = P ( A | B ) P ( B ) P ( A )

顺便提一下,上式中的分母P(A),可以根据全概率公式分解为:
P(A)=i=1nP(Bi)P(A|Bi) P ( A ) = ∑ i = 1 n P ( B i ) P ( A | B i )

1.2 特征条件独立假设

这一部分开始朴素贝叶斯的理论推导,从中你会深刻地理解什么是特征条件独立假设。

给定训练数据集 x,y ( x , y ) ,其中每个样本x都包括n维特征,即 x=(x1,x2,x3,...,xn) x = ( x 1 , x 2 , x 3 , . . . , x n ) ,类标记集合含有k种类别,即 y=(y1,y2,...,yk) y = ( y 1 , y 2 , . . . , y k )

如果现在来了一个新样本x,我们要怎么判断它的类别?从概率的角度来看,这个问题就是给定x,它属于哪个类别的概率最大。那么问题就转化为求解 P(y1|x),P(y2|x),...,P(yk|x)P(y1|x),P(y2|x),...,P(yk|x) P ( y 1 | x ) , P ( y 2 | x ) , . . . , P ( y k | x ) P ( y 1 | x ) , P ( y 2 | x ) , . . . , P ( y k | x ) 中最大的那个,即求后验概率最大的输出: argmaxykP(yk|x) a r g m a x y k P ( y k | x )
P(yk|x) P ( y k | x ) 怎么求解?答案就是贝叶斯定理:

P(yk|x)=P(x|yk)P(yk)P(x) P ( y k | x ) = P ( x | y k ) P ( y k ) P ( x )
根据全概率公式,可以进一步地分解上式中的分母:

P(yk|x)=P(x|yk)P(yk)kP(x|yk)P(yk)1 P ( y k | x ) = P ( x | y k ) P ( y k ) ∑ k P ( x | y k ) P ( y k ) 【 公 式 1 】

先不管分母,分子中的 P(yk) P ( y k ) 是先验概率,根据训练集就可以简单地计算出来。

而条件概率 P(x|yk)=P(x1,x2,...,xn|yk) P ( x | y k ) = P ( x 1 , x 2 , . . . , x n | y k ) ,它的参数规模是指数数量级别的,假设第i维特征 xi x i 可取值的个数有 Si S i 个,类别取值个数为k个,那么参数个数为: kni=1Si k ∏ i = 1 n S i
这显然不可行。针对这个问题,朴素贝叶斯算法对条件概率分布作出了独立性的假设,通俗地讲就是说假设各个维度的特征 x1,x2,...,xn x 1 , x 2 , . . . , x n 互相独立,在这个假设的前提上,条件概率可以转化为:

P(x|yk)=P(x1,x2,...,xn|yk)=ni=1P(xi|yk) P ( x | y k ) = P ( x 1 , x 2 , . . . , x n | y k ) = ∏ i = 1 n P ( x i | y k ) 【公式2】

这样,参数规模就降到 ni=1Sik ∑ i = 1 n S i k
以上就是针对条件概率所作出的特征条件独立性假设,至此,先验概率 P(yk) P ( y k ) 和条件概率 P(x|yk) P ( x | y k ) 的求解问题就都解决了,那么我们是不是可以求解我们所要的后验概率 P(yk|x) P ( y k | x ) 了?

答案是肯定的。我们继续上面关于 P(yk|x) P ( y k | x ) 的推导,将【公式2】代入【公式1】得到:

P(yk|x)=P(yk)ni=1P(xi|yk)kP(yk))ni=1P(xi|yk) P ( y k | x ) = P ( y k ) ∏ i = 1 n P ( x i | y k ) ∑ k P ( y k ) ) ∏ i = 1 n P ( x i | y k )

于是朴素贝叶斯分类器可表示为:

f(x)=argmaxykP(yk|x)=argmaxykP(yk)ni=1P(xi|yk)kP(yk)ni=1P(xi|yk) f ( x ) = a r g m a x y k P ( y k | x ) = a r g m a x y k P ( y k ) ∏ i = 1 n P ( x i | y k ) ∑ k P ( y k ) ∏ i = 1 n P ( x i | y k )
因为对所有的 yk y k ,上式中的分母的值都是一样的(为什么?注意到全加符号就容易理解了),所以可以忽略分母部分,朴素贝叶斯分类器最终表示为:

f(x)=argmaxP(yk)ni=1P(xi|yk) f ( x ) = a r g m a x P ( y k ) ∏ i = 1 n P ( x i | y k )
关于 P(yk)P(xi|yk) P ( y k ) , P ( x i | y k ) 的求解,有以下三种常见的模型.

1.3三种常见的模型
1.3.1多项式模型

当特征是离散的时候,使用多项式模型。多项式模型在计算先验概率 P(yk) P ( y k ) 和条件概率 P(xi|yk) P ( x i | y k ) 时,会做一些平滑处理,具体公式为:

P(yk)=Nyk+αNyk+nα P ( y k ) = N y k + α N y k + n α

其中,N是总的样本个数,k是总的类别个数, Nyk N y k 是类别为 yk y k 的样本个数,α是平滑值。

P(xi|yk)=Nykxi+αNyk+nα P ( x i | y k ) = N y k x i + α N y k + n α

Nyk N y k 是类别为 yk y k 的样本个数,n是特征的维数, Nyk,xi N y k , x i 是类别为 yk y k 的样本中,第i维特征的值是 xi x i 的样本个数,α是平滑值。

当α=1时,称作Laplace平滑,当0<α<1时,称作Lidstone平滑,α=0时不做平滑。

如果不做平滑,当某一维特征的值 xi x i 没在训练样本中出现过时,会导致 P(xi|yk)=0 P ( x i | y k ) = 0 ,从而导致后验概率为0。加上平滑就可以克服这个问题。

举例来说,比如说有10个西瓜,其中6个好瓜,4个坏瓜,此时有这个特征西瓜颜色{青黑,花纹},6个好瓜中从来没有出现过青黑色,这时出现一个瓜是青黑色,根据我们的贝叶斯算法思想,此时它是好瓜的概率是0,这显然是不符合常理的,这是因为我们的数据集太小没有收集到青黑色的好瓜,但是没有收集到不等于不存在,平滑处理就可以帮助我们避免这个现象。

1.3.2高斯模型

当特征是连续变量的时候,运用多项式模型就会导致很多 P(xi|yk)=0 P ( x i | y k ) = 0 (不做平滑的情况下),此时即使做平滑,所得到的条件概率也难以描述真实情况。所以处理连续的特征变量,应该采用高斯模型。

贝叶斯决策理论与贝叶斯分类器_第1张图片

1.3.3伯努利模型

与多项式模型一样,伯努利模型适用于离散特征的情况,所不同的是,伯努利模型中每个特征的取值只能是1和0(以文本分类为例,某个单词在文档中出现过,则其特征值为1,否则为0).

伯努利模型中,条件概率 P(xi|yk) P ( x i | y k ) 的计算方式是:

当特征值 xi x i 为1时,
P(xi|yk)=P(xi=1|yk)P(xi|yk)=P(xi=1|yk) P ( x i | y k ) = P ( x i = 1 | y k ) P ( x i | y k ) = P ( x i = 1 | y − k )

当特征值 xi x i 为0时,
P(xi|yk)=1P(xi=1|yk)P(xi|yk)=1P(xi=1|yk) P ( x i | y k ) = 1 − P ( x i = 1 | y k ) P ( x i | y k ) = 1 − P ( x i = 1 | y k )

1.3.4西瓜树上朴素贝叶斯分类器上的例子

其中表4.3的左半部分表格是训练集数据,右半部分表格是测试集数据
贝叶斯决策理论与贝叶斯分类器_第2张图片
贝叶斯决策理论与贝叶斯分类器_第3张图片
对上述引入的青翠例子就要进行拉普拉斯修正。

三、半朴素贝叶斯分类器

朴素贝叶斯采用了“属性条件独立性假设”,但这个假设的确是有些草率了。因为往往属性之间包含着各种依赖。于是,人们尝试对这个假设进行一定程度的放松,由此产生了“半朴素贝叶斯分类器”(semi-naive Bayes classifiers)的学习方法。

半朴素贝叶斯分类器的基本想法是适当考虑一部分属性间的相互依赖信息。独依赖估计(One-Dependent Estimator,简称ODE)是半朴素贝叶斯分类器最常用的一种策略。顾名思义,独依赖是假设每个属性在类别之外最多依赖一个其他属性,即:

P(x|ci)=j=1dP(xj|ci,paj) P ( x | c i ) = ∏ j = 1 d P ( x j | c i , p a j )

.其中, paj p a j 为属性 xj x j 所依赖的属性,称为 xj x j 的父属性。假设父属性 paj p a j 已知,那么可以使用下面的公式估计 P(xj|ci,paj) P ( x j | c i , p a j ) ,注这里 ci c i 指类别:
P(xj|ci,paj)=P(xj,ci,paj)P(ci,paj). P ( x j | c i , p a j ) = P ( x j , c i , p a j ) P ( c i , p a j ) .

于是,问题的关键变成了如何确定每个属性的父属性。不同的做法产生了不同的独依赖分类器。

  • SPODE(Super-Parent ODE)假设所有的属性都依赖于同一个属性,称为超父。

  • TAN(Tree Augmented naive Bayes)则在最大带权生成树算法的基础上发展的一种方法。

  • AODE(Averaged ODE)是一种集成学习的方法,尝试将每个属性作为超父来构建SPODE,与随机森林的方法有所相似。

下面具体描述一下TAN。

TAN

TAN的实施步骤如下:

  • 1、计算任意属性之间的条件互信息

I(xi,xj|y)=xi,xj;ckYP(xi,xj|ck)logP(xi,xj|ck)P(xi|ck)P(xj|ck); I ( x i , x j | y ) = ∑ x i , x j ; c k ∈ Y P ( x i , x j | c k ) log ⁡ P ( x i , x j | c k ) P ( x i | c k ) P ( x j | c k ) ;

  • 2、以属性为节点构建完全图,节点间的权重设为相应的互信息;
  • 3、.构建此完全图的最大带权生成树,挑选根变量,将边置为有向;
  • 4、加入类别结点y,增加从y到每个属性的有向边。
    贝叶斯决策理论与贝叶斯分类器_第4张图片
    容易看出,条件互信息 I(xi,xj|y) I ( x i , x j | y ) 刻画了属性xi和xj在已知类别情况下的相关性。因此,通过最大生成树算法,TAN实际上仅保留了强相关属性之间的依赖性。

你可能感兴趣的:(贝叶斯决策理论与贝叶斯分类器)