CS229 朴素贝叶斯(Naive Bayes)
1 前置概念
-
先验概率:在不知道事务特征的情况下,根据以往的经验,判断出这件事发生的概率,这个概率就是先验概率,即:
-
后验概率:与先验概率相对应,是知道了事务特征判断出来的从而得出的事件发生的概率就是后验概率,即:
-
联合概率:两件事同时发生的改率,比如A发生且B发生,可以写作:
- 贝叶斯定理:贝叶斯定理起初是为了解决逆概率的问题,通过现象倒推本质,比如,如果在一个黑箱里摸球,箱中有3个红球7个黑球,可以轻易得出摸出红球的概率是0.3,现在假设不知道盒中有多少个黑球多少个红球,通过不断的摸球,不断的计算,摸球,再修正自己的结果,最终可以预测到黑盒中红球和黑球的比例。
贝叶斯公式如下:
分析这个公式,可以得到很多有意思的事情。首先叫做先验概率,
叫做后验概率,而剩余的部分则剩下了:
,观察这个部分,因为我们知道,条件概率公式是:
,即两事件的联合概率比上作为条件的那个事件单独的概率,带入条件概率公式可以得到剩余部分变成了:
。
此时,分析A事件和B事件的关系可以得到:
- 当A,B相互独立的时候,
,此时
,后验概率就等于先验概率。
- 当A,B相交时,两者存在重叠部分,
,此时
,后验概率就小于先验概率。
- 当A,B相包含时,
,或
,此时
,后验概率就大于于先验概率。
画出文氏图可以很清楚的看出这三种情况:
因此这个剩余部分起到一个修正先验概率的作用,因此叫做可能性函数。
2 朴素贝叶斯算法
朴素贝叶斯是一种生成式模型,是在贝叶斯算法上做了简化,即假设定给定目标值的条件下,各个特征相互独立,这个简化使得各个特征对分类结果的影响较为平均,一定程度上降低了分类器的分类效果,但是极大的简化了算法的复杂度。引入CS229中的例子做解释。
使用朴素贝叶斯做垃圾邮件的分类器,首先构建特征向量,用特征向量来描述一封邮件。选取字典或者历史邮件中嘴常用的10000个词,一封邮件中出现的词标为1,未出现的词标为0,这样就得到了一个10000维的向量,每个元素的值为0或1,这个向量就是可以用来描述一封邮件的特征向量。
其中, 是向量中第 i 个元素,
。
目标是建模计算出 和
,然后根据这两项计算出
,
,这样就可以使用贝叶斯公式计算出后验概率了。首先使用朴素贝叶斯的假设,假设
给定
的情况下,是相互独立的,因此:
模型参数化:
由此写出联合似然函数:
使用极大似然估计法求解得到:
因此,使用贝叶斯公式计算概率如下: