首页 > 代码库 > 贝叶斯分类器

贝叶斯分类器

首先在贝叶斯分类器之前先说贝叶斯理论

(1)贝叶斯分类器

假设有N种可能的分类标记,即为y={c1,c2,...,cN} λij 是将一个真实的标记cj的样本误分类为ci发损失,后验概率P(ci|x)可获得样本x分类为ci的期望,则在样本x上的“条件风险”是

技术分享

我们需要最小化这个风险,也就是在每个样本上选择那个能使条件风险R(c|x)最小的类别标记,即

技术分享

如果λij的取值为

技术分享

则此时的条件风险为

技术分享

此时的最小化分类错误率的贝叶斯分类器为:

技术分享

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

通过上边的转化,只需求得P(c|x)的最大值即可,这是利用的是贝叶斯定理,可得以下公式

技术分享

其中,p(c)表示某个记录所有类标记的概率,也就是说,随机一个记录,属于某一个类的概率,这个值可以根据大数定理来求得。

而P(x|c)表示的是样本x相对于类标记C的条件概率。

而p(x)对于每一个x的值都是一样的,因此这个问题,最终转化为求p(c)*p(x|c)最大的值。值得注意的是,p(x|c)它涉及到了关于x的所有属性的联合概率。

一直觉得先验后验概率觉得挺乱的,下面试百度的这两个概念

(2)贝叶斯的先验后验概率

技术分享

 (3)朴素贝叶斯分类器

通过(1)中的推到,可以得最终的问题即为求技术分享的最大值,但是这时候P(x|c)是所有属性的联合概率,在朴素贝叶斯分类器中,假设所有的属性都是互相独立的,因此最最后的问题,可以转化为,

技术分享

其中d表示属性的数目,xi表示在第i个属性上x的取值。

因此可以得到朴素贝叶斯分类器的表达式:

技术分享

从上式可以得到,朴素贝叶斯分类器的训练过程就是基于训练集D来估计类的先验概率p(c),并为每个属性估计条件概率p(xi|c)

令DC表示训练集D中第c类样本组成的集合,若有充足的独立同分布的样本,怎容易估计出类的先验概率

技术分享

对于离散的属性,

 

贝叶斯分类器