《统计学习方法》笔记(4):朴素贝叶斯

来源:互联网 发布:旅游大数据应用 编辑:程序博客网 时间:2024/06/07 06:19

慢慢发现,《统计学习方法》蛮适合有一定基础的人。这是一本重理论、轻应用的书,许多理论性的问题,在书中都可以找到答案;然而,由于缺少对应用场景的描述,并不利于初学者的快速理解。

 

本文结合我自己的理解,从基本原理、应用场景、优点和缺点等四个方面对朴素贝叶斯算法进行分析,也许这样对算法的理解会更加全面。

 

1、基本原理

朴素贝叶斯算法是基于贝叶斯定理和特征条件独立假设的分类算法;该算法基于联合概率分布求取条件概率,是典型的生成算法。

贝叶斯定理如下:P(A|B)*P(B)=P(B|A)*P(A)。该公式可以这样理解记忆:左边和右边都等于P(A∩B)。这样,只要已知P(B|A)、P(A)和P(B),就能够算得P(A|B)。

 

2、应用场景

光看上面的公式,可能还无法深入理解朴素贝叶斯分类的方法。结合应用场景,就会容易理解很多。

其主要应用场景包括:垃圾邮件的识别、文档的分类(例如:将文档分为体育类和财经类)。如果用在垃圾邮件的识别方面,那么基本的思路是:

1)分析经过人工标记的邮件,其中有些为垃圾邮件(标记为“1”),有些为正常邮件(标记为“0”);

2)对邮件进行分词,根据已有邮件信息可以计算得到P(X|Y),表示在已知邮件Y=1(或0)的条件下,包含某个词X的可能性。

3)根据贝叶斯定理,已知P(X|Y)、P(X)(一封邮件包含某个词的概率)、P(Y)(一封邮件为垃圾邮件的概率),就可以计算得到P(Y|X)(在包含某个词时该邮件为垃圾邮件的概率)。

4)根据计算得到的P(Y=0|X)和P(Y=1|X),取其中较大者为邮件所属分类。

 

3、优点

朴素贝叶斯算法如其名,其优点是算法易于理解,且能够增量训练,学习速度快。而且学习样本越是庞大,越是能够体现其快速的优越性。而且,在实际应用中,朴素贝叶斯算法的分类正确率并不低。

 

4、缺点

朴素贝叶斯算法的应用条件是,各特征参量之间相互独立,而现实世界很可能难以满足特征参量相互独立的要求,从而可能导致分类正确率的降低。在邮件分类的场景中,就可以理解为,要求各个单词之间是相互独立的。

该算法另一个问题在于,无法反映特征参量之间的相互关联特性。例如一般将有“赛马”字样的邮件归为垃圾邮件,但如果“赛马”和“概率论”同时出现时邮件很有可能就是篇学术论文。

 

总之,朴素贝叶斯算法有其应用价值;对于数据工程师而言,重要的是能够区分该在何时、何种场景下使用。

0 0