朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特这条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。朴素贝叶斯法实现简单,学习与预测的效率都和高,是一种常用的方法。
什么是条件概率?
所谓"条件概率"(Conditional probability),就是指在事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。
根据文氏图,可以看到在事件B发生的情况下,事件A发生的概率就是P(A∩B)除以P(B)。
即:P(A|B)=P(A∩B) / P(B),--> P(A∩B) = P(A|B)P(B),同理,P(A∩B) = P(B|A)P(A),所以,P(A|B)P(B) = P(B|A)P(A)
所以:P(A|B) = P(B|A)P(A) / P(B),这就是贝叶斯公式。
朴素贝叶斯原理
朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y)。首先学习先验概率分布及条件概率分布,然后相乘得到联合概率分布。
先验概率分布:
条件概率分布:
这里 表示特征向量,表示特征向量中的第一个特征值,一个表示一个训练数据中的
朴素贝叶斯法对条件概率分布作了条件独立性的假设。条件独立假设是:
条件独立性假设是说用于分类的特征在类确定的条件下都是条件独立的。朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。
我们正常的需求是根据输入x,通过学习到的模型计算在x的条件下y的概率,也就是计算后验概率
根据贝叶斯定理:
将(4.3)代入(4.4):
于是,朴素贝叶斯分类器可表示为:
因为分母是相同的,所以:
后验概率最大化由何而来
上式(4.6)中我们对(4.5)取了最大值,即满足的最大的那个才是我们需要的分类,我们选择了后验概率最大的那个分类,这是为什么呢?
将一个输入x分到后验概率最大的类中,等价于期望风险最小化,假设我们选择0-1损失函数:
f(X)为分类决策函数,这时,期望风险函数为:
期望是对联合分布 P(X,Y) 取的,由此取条件期望:
为了使期望风险最小化,只需对X=x逐个极小化,由此得到:
这样,根据期望风险最小化准则就得到了后验概率最大化准则:
朴素贝叶斯的参数估计
极大似然估计
朴素贝叶斯是生成模型,我们需要知道联合概率分布P(X,Y),所以需要学习 和 ,使用极大似然估计先验概率:
为指示函数。设第j个特征可能取值的集合为,条件概率的极大似然估计为:
这样有了条件概率,有了Y的先验概率,我们就可以通过求上面的(4.7)式,得出后验概率最大的分类
算法1:朴素贝叶斯算法:
(1)计算先验概率及条件概率(也就是我们上面提及的两个公式)
(2)对于给定的示例,计算
(3)确定实例x的分类
例子: