贝叶斯分类器Bayesian Classifier

# 贝叶斯分类器Bayesian Classifier

在一个分类的任务中,假设所有的相关概率已知,那么所谓的贝叶斯分类器就是利用这些已知的概率和分类误判误差来选择最优的类别。以多分类为例,来说明一下它的推导过程。


贝叶斯决策理论

假设有N个类别标签,这里定义几个标记:我们使用 λij 表示将j类样本误分为i类, 使用 P(cj|x) 来表示将样本x分类为j类的概率, 那么样本x被分类为 ci 的误判损失,也就是风险概率即为:

R(ci|x)=j=1NλijP(cj|x).(1)
因此,我们的任务的总体误判损失即为:
R(h)=Ex[R(h(x)|x)].(2)
我们需要的找的就是这样一个规则h, 并且最小化这个总体条件风险,这就是贝叶斯判定准则。 贝叶斯判定准则就是指想要最小化总体的条件风险,那么对于每个样本,都选择可以使得该样本的条件风险最小的类别,表示如下:
h(x)=argminR(h)=argmincyR(c|x).(3)

这里的 h(x) 就是最优贝叶斯分类器,对应的 R(h) 就是贝叶斯风险,相反, 1h(x) 就是最有贝叶斯对应的分类性能,也是机器学习所能达到的性能上限,这也是为什么最优贝叶斯分类器通常作为一种标准来衡量其他的学习器的效果。
我们可以继续简化上述的式子。可以想象,当分诶类确时,也就是 i=j 的时候, λij=0 ;其他情况说明分类错误,那么条件风险可以改写为:
R(c|x)=1P(c|x).(4)
可以理解为,此时的条件风险就是所有分类错误的概率之和。因此,最小化上述条件风险,也就是相当于最大化 P(c|x) ,表示如下:
h(x)=argmaxcyP(c|x).(5)

此时我们的目标转向了 P(c|x) ,通常这个不好直接得到,有两种策略,就是生成式模型和判别式模型。
判别式模型:就是直接建模 P(c|x) 来预测 c 生成式模型:使用联合概率 P(c,x) 进一步得到 P(c|x)c
基于贝叶斯定理,有:
P(c)P(x|c)=P(x)P(c|x).(6)

通过变形就可以得到
P(c|x)=P(c)P(x|c)P(x).(7)
其中 P(x|c) 是似然,那么我们的目标进一步转化成了先验概率 P(c) 和似然 P(x|c) 。之所以不考虑 P(x) 是因为对于所有的类别都相同,因此它不作为影响我们求解的关键。对于 P(c) 在我们假设训练集中的样本的都是独立同分布的,也就是概率相同,相互独立。这也是贝叶斯分类器的一个最重要的假定条件


极大似然估计

接下来,继续上面的工作,处理似然 P(x|c) 。我们将 P(x|c) 记为 P(x|θc) , θc 是一个参数向量,唯一确定与似然。继续假设训练集中的所有样本都是独立同分布的,我们用 Dc 表示是第 c 类样本的集合,那么Dc中的每个样本的先验概率 P(c)=1 ,这是 Dc 的似然就是:

P(Dc|θc)=P(Dc,θc)P(θc)=P(Dc,θc)=xDcP(x|θc).(8)
即似然函数就是:
L(θc)=xDcP(x|θc).(9)

但是上面的概率连乘,在实际操作中可能会因为概率很小的从而使结果趋于0,也就是所谓的下溢(overflow)。因此,通常将其取对数,构成对数似然,如下
LL(θc)=logP(Dc|θc=xDclogP(x|θc).(10)


朴素贝叶斯分类器

上面所说使用公式(7)得到 P(c|x) 时候,是使用所有的属性的联合概率来表示类条件概率的,但是在有限的训练集中,这样作不太妥当,会遇到组合爆炸的问题。因此,基于这样的一个假设:假定每个已知的类别的所有属性都是相互独立的。这样

p(c|x)=P(c)P(x|c)P(x)=P(c)P(x)i=1dP(xi|c).(11)

由于每个类别的 P(x) 相同,所以我们可以得到一个新的分类器
hnb(x)=argmaxcyP(c)i=1dP(xi|c).(12)
这个新的分类器就叫 朴素贝叶斯分类器。所以朴素贝叶斯的“朴素”则体现在它基于属性独立假设,避开了在有限训练集的情况下所有属性的联合分布估计时带来的不便。这样计算的方便之处在于:

  • 首先,在训练集中样本充足的情况下(独立同分布),每个类别的先验概率就是

    P(c)=|Dc||D|.(13)

  • 其次,对于 di=1P(xi|c) 的计算,如果是离散的属性,假如 Dc 中的第 i 个属性取值为xi的样本组成的集合为 Dc,xi ,那么类条件概率为

    P(xi|c)=|Dc,xi||DC|.(14)

  • 对于连续的属性样本,可以借助概率密度函数。如果 P(xi|c) 服从正态分布,则

    P(xi|c)=12πσc,iexp(xiμc,i)22σ2.(15)

    需要注意的是,在使用朴素贝叶斯进行分类时,往往会出现某一个属性的条件概率为0,这会使得整个结果为0(因为概率连乘)。为了避免这种情况, 通常使用拉普拉斯修正来进行优化。即
    P^(c)=|Dc|+1|D|+N.P^(xi|c)=|Dc,xi|+1|DC|+Ni.(16)

    到这里,就可以只用公式(12)进行预测,计算的结果值大的作为该样本的最终分类结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值