《统计学习方法》之朴素贝叶斯与生成模型
1
1
引言
在学习概率论的时候我们会遇到下面这种问题:
下面有两个盒子(可以看成是两类),Class 1中有蓝球3个,红球1个,Class 2中有蓝球1个,红球3个,假设现在我手中已经抽到了一个红球,问分别取自Class 1和Class 2的概率是多少:
在计算概率之前我们设随机变量X表示球的颜色(红色用1表示,蓝色用0表示),随机变量Y表示球的类别,我们的目标是求出
我们知道先验概率分布为:
条件概率分布为:
由贝叶斯公式和全概率公式我们可以计算出:
同样地我们也可以计算出这个红球出自Class 2的概率:
这个例子中可以看出一些贝叶斯估计的思想,当我们有一个实例x的时候,我们要对x进行分类,可以计算条件概率
2
朴素贝叶斯的基本方法
我们设输入空间为
不同于判别模型直接由实例x根据后验概率最大化给出y,朴素贝叶斯模型实际上是算出了联合概率分布
假设我们知道先验分布
在上式中我们做了一个重要的假设,即条件独立性假设,我们假定X每个分量是条件独立的,也就是说在类别
有了上述两个分布之后,我们就可以计算后验概率了,而这是我们将实例x进行分类的依据:
从上式可以看出,对于每一类
3
后验概率最大化的含义
我们基于后验概率
我们设分类决策函数是
表示我们的分类
这是对联合密度函数
这样朴素贝叶斯法可以写成:
我们需要最小化总体风险,只需要在每个样本上选择那个使得条件风险最小,即对于每一个
这样可以得到:
从这里就可以看出最小化总体风险(期望风险最小化)和最大化后验概率本质上是等价的。
4
朴素贝叶斯的参数估计
由上我们可以知道要计算后验概率的关键是知道分类的先验分布和条件分布,由大数定律可以知道我们可以用训练数据中的频率来作为概率的估计,这样我们可以得到朴素贝叶斯的参数估计如下:
条件概率的估计如下:
以上估计又可称为极大似然估计,但这种估计存在一个问题,那就是可能为0,例如,当训练数据集中没有类集合Y中的
其中
5
朴素贝叶斯法的优缺点
1)朴素贝叶斯法原理简单,思想也很直观,易于实现;
2)计算后验概率是需要先验概率和条件概率的,一般这些都需要估计的,而这些可能会对分类结果产生误差;
3)个人认为朴素贝叶斯最大的问题是在条件独立假设这里,这个假设在很多数据中是不太可能满足的,很多数据的各个属性之间多多少少存在联系,不太可能做到独立,这就对使用朴素贝叶斯的数据有很高的要求,否则会牺牲分类的准确性,甚至得到有违直观判断的结果。
6
生成模型
(1)生成模型
朴素贝叶斯模型中,我们计算后验概率的过程中,是先计算了联合概率分布
这种方法称为生成方法的原因是,在学习过程中给出了给定输入X得到输出Y的生成关系也就是联合概率分布
(2)判定模型
判定方法是由数据直接学习决策函数