慢慢发现,《统计学习方法》蛮适合有一定基础的人。这是一本重理论、轻应用的书,许多理论性的问题,在书中都可以找到答案;然而,由于缺少对应用场景的描述,并不利于初学者的快速理解。
本文结合我自己的理解,从基本原理、应用场景、优点和缺点等四个方面对朴素贝叶斯算法进行分析,也许这样对算法的理解会更加全面。
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、缺点
朴素贝叶斯算法的应用条件是,各特征参量之间相互独立,而现实世界很可能难以满足特征参量相互独立的要求,从而可能导致分类正确率的降低。在邮件分类的场景中,就可以理解为,要求各个单词之间是相互独立的。
该算法另一个问题在于,无法反映特征参量之间的相互关联特性。例如一般将有“赛马”字样的邮件归为垃圾邮件,但如果“赛马”和“概率论”同时出现时邮件很有可能就是篇学术论文。
总之,朴素贝叶斯算法有其应用价值;对于数据工程师而言,重要的是能够区分该在何时、何种场景下使用。
本文从基本原理、应用场景、优点及缺点四个方面分析了朴素贝叶斯算法。介绍了该算法如何利用贝叶斯定理进行分类,适用于垃圾邮件识别及文档分类等场景,并探讨了其在实际应用中的优势与局限。
6275

被折叠的 条评论
为什么被折叠?



