首页 > 代码库 > 朴素贝叶斯分类器(一)

朴素贝叶斯分类器(一)

    这两天看了下朴素贝叶斯分类器,在这里根据自己的理解做个简单笔记,也顺便整理一下思路。

 

一、简介

1. 什么是朴素贝叶斯分类器?
    朴素贝叶斯分类器是一种应用基于独立假设的贝叶斯定理的简单概率分类器。基于独立假设的意思是假设样本每个特征与其他特征都不相关,例如,一个物体具有颜色、大小、重量和材质等特征,这些特征互不相关,即不管什么颜色不会影响大小,不管大小如何也不会影响其颜色。

   

2. 什么是贝叶斯定理?

    贝叶斯定理(Bayes‘ theorem)是概率论中的一个结论,它跟随机变量条件概率(Conditional probability)以及边缘概率分布有关。贝叶斯定理是关于随机事件A和B条件概率(或边缘概率)的一则定理,实际上就是求条件概率的一则公式。

所谓条件概率,就是指事件B发生的情况下,事件A发生的概率,用P(A|B)表示。

下面介绍贝叶斯定理的推导过程:

image

如上文氏图所示,可以看出事件A和事件B同时发生的概率P(A∩B)等于事件B发生的概率P(B)乘以事件B发生的情况下事件A发生的概率P(A|B),

也等于事件A发生的概率P(A)乘以事件A发生的情况下事件B发生的概率P(B|A),用公式表示即:

 

P(A∩B) = P(A) * P(B|A) 或 P(A∩B) = P(B) * P(A|B)

 

变形上面的公式可得:

 

P(A|B) = P(A) * P(B|A) / P(B)

 

这就是条件概率公式,其中:

P(A|B)是事件B发生的情况下A发生的条件概率,因该值受B的影响而产生,被称为“后验概率”。

P(A)叫做事件A的先验概率(或边缘概率),它不考虑事件B方面的因素,在运用贝叶斯定理时,该值都是已知(根据情况预估的一个值)。

P(B|A)/P(B)可以理解为可能性因子,是对先验概率的一个补充,使结果更接近真实概率

于是,贝叶斯定理可以表示为:

后验概率 = 先验概率 * 可能性因子

一般运用贝叶斯定理时,首先预估一个先验概率,后面的可能性因子根据统计数据算出,如果可能性因子<1,说明事件发生的概率可能性变小(比先验概率低),如果可能性因子>1,说明事件发生的概率可能性变大(比先验概率高),如果可能性因子等于1,说明事件B对事件A发生的概率无影响。

 

说明:运用贝叶斯定理时,统计数据越多越丰富,最后计算的结果会越接近真实概率!也就是说,在运用的过程中,即使刚开始结果计算不准确,但随着统计数据的增加,可能性因子会不断调整(校准,这个过程也称训练过程),计算结果会不断向真实概率修正。

 

二、运用:

有如下统计数据,现有一男子喉咙疼,请问该男子患咽炎的概率是多少?

性别 症状 病因
喉咙疼 感冒
发烧 感冒
喉咙疼 咽炎
发烧 咽炎
发烧 感冒
喉咙疼 咽炎

 

上述问题中,按照贝叶斯定理,可以把“性别”、“症状”和“病因”都看作是事件,问题则是求性别是男和症状为喉咙疼的情况下咽炎发生的概率,即求P(咽炎|男×喉咙疼)。

根据贝叶斯定理,可得:

P(咽炎|男×喉咙疼) = P(咽炎)×P(男×喉咙疼|咽炎)/P(男*喉咙疼)

假设“性别”和“症状”是相互独立的,则:

P(咽炎|男×喉咙疼) = P(咽炎)×((P(男|咽炎)×P(喉咙疼|咽炎))/(P(男)×P(喉咙疼))

其中,P(咽炎)为先验条件,((P(男|咽炎)×P(喉咙疼|咽炎))/(P(男)×P(喉咙疼))为可能性因子,现假设咽炎发生的概率为50%,根据上述的数据,计算结果为:

P(咽炎|男×喉咙疼) = 0.50 × (0.33×0.67)/(0.33×0.50) = 0.67

通过计算结果可知,该男子患咽炎的概率为67%。

如果我们再增加一条记录:

性别 症状 病因
喉咙疼 咽炎

则计算结果为:

P(咽炎|男×喉咙疼) = 0.50 × (0.50×0.75)/(0.43×0.57) = 0.77

由此可见,随着统计数据的增加,计算结果越接近真实概率。