朴素贝叶斯分类算法公式推导


由于学习《机器学习:算法原理与编程实践》,对一些算法进行总结,加深理解与记忆。

1、贝叶斯公式理解

我们上高中学概率就有接触贝叶斯公式:其中P(A)为样本空间中事件A的概率,P(B)为样本空间中事件B的概率,P(A|B)为事件B发生的条件下事件A发生的概率,P(B|A)为事件A发生的条件下事件B的概率,P(A)和P(B)称为全概率,P(A|B)和P(B|A)称为条件概率。
在这里插入图片描述
例:假设,样本有10个苹果(8个红色,2个黄色),有10个梨(9个黄色,1个绿色)。我们现在仅考察颜色特征,现在我们任取一个黄色的水果,那么这个水果是梨的概率是多少呢?
解:根据问题分析我们要求解的目标是P(梨|黄色),那么根据上述贝叶斯公式有:P(梨|黄色) = P(黄色|梨)P(梨)/P(黄色)
那么根据样本空间知道10个梨当中有9个是黄色的,则P(黄色|梨) = 9/10 = 0.9(称为先验概率);P(梨) = 10/(10+10) = 0.5(一共有20个水果,其中有10个是梨);P(黄色) = 11/20 = 0.55(一共有20个水果,其中有2个黄色苹果,9个黄色梨,则11个黄色水果)。
则P(梨|黄色)= 0.9*0.5/0.55 = 0.818 = 81.8%

2、朴素贝叶斯分类

朴素贝叶斯分类是一种非常简单的分类方法,因其思想基础的简单性所以称为朴素:一个对象的特征向量中每个维度都是相互独立的。例如,黄色是苹果和梨共同的属性,但是苹果和梨是相互独立的;对于文本分类则认为词袋中的两两词之间的关系是相互独立的。下面我们将扩展到多维的情况:
(1)设x={a1,a2,…,am}为一个待分类项,而每个a为x的一个特征属性。
(2)有类别集合C={y1,y2,…,yn}。
(3)计算P(y1|x),P(y2|x),…,P(yn|x)。
(4)如果P(yk|x) = max{P(y1|x),P(y2|x),…,P(yn|x)},则特征x属于类别yk。
根据上述定义,我们要判断某特征为x的物体属于类别yk的概率,那关键在于计算第(3)步中的各个条件概率。
根据贝叶斯公式有:
在这里插入图片描述
由于分母对于所有类别来说为常数(例如前面苹果梨的例子,对于苹果和梨两个类别来说P(黄色)都是0.55),则只需将分子进行最大化;又因为特征属性是条件独立的,所以:
在这里插入图片描述
那么对于一个已知分类的待分类项集合,即训练集,统计得到各个类别下各个特征属性的条件概率估计(对于文本分类中,即统计训练集中在每个类别中,字典里每个词的频率):
在这里插入图片描述
根据上述分析,朴素贝叶斯分类流程如下:
step1: 训练数据生成训练样本集:TF-IDF
step2. 对每个类别计算P(yi),即每个类别样本在训练集中的概率。
step3. 对每个特征属性计算所有划分的条件概率。
step4. 对每个类别计算P(x|yi)P(yi)。
step5. 以P(x|yi)P(yi)的最大项作为x的所属类别。

3、优缺点

优点:算法实现过程简单
缺点:前面提到朴素贝叶斯分类作了一个对象的特征向量中每个维度是相互独立的假设,但是现实生活中这个假设并不是总是成立的,那么在特征属性相关性小的情况下分类性能良好,而当特征属性相关性较大时,分类效果不好。

猜你喜欢

转载自blog.csdn.net/Sandy_WYM_/article/details/88771777
今日推荐