1 / 17
文档名称:

基于朴素贝叶斯的文本分类算法.docx

格式:docx   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于朴素贝叶斯的文本分类算法.docx

上传人:rabbitco 2016/7/27 文件大小:0 KB

下载得到文件列表

基于朴素贝叶斯的文本分类算法.docx

文档介绍

文档介绍:基于朴素贝叶斯的文本分类算法摘要: 常用的文本分类方法有支持向量机、 K- 近邻算法和朴素贝叶斯。其中朴素贝叶斯具有容易实现, 运行速度快的特点, 被广泛使用。本文详细介绍了朴素贝叶斯的基本原理, 讨论了两种常见模型: 多项式模型( MM) 和伯努利模型( BM), 实现了可运行的代码, 并进行了一些数据测试。关键字:朴素贝叶斯;文本分类 Text Classification Algorithm Based on Naive Bayes Author: soulmachine Email : soulmachine@ Blog : tract :Usually there are three methods for text classification: SVM 、 KNN and Na? ve Bayes. Na? ve Bayes is easy to implement and fast, so it is widely used. This article introduced the theory of Na? ve Bayes and discussed two popular models: multinomial model(MM) and Bernoulli model(BM) in details, implemented runnable code and performed some data tests. Keywords : na? ve bayes; text classification 第1章贝叶斯原理 贝叶斯公式设A、B 是两个事件,且 P(A)>0 ,称为在事件 A 发生的条件下事件 B 发生的条件概率。乘法公式 P(XYZ)=P(Z|XY)P(Y|X)P(X) 全概率公式 P(X)=P(X|Y 1 )+ P(X|Y 2 )+…+ P(X|Y n) 贝叶斯公式在此处,贝叶斯公式,我们要用到的是以上公式, 请读者参考《概率论与数理统计( 第五版)》的 节“条件概率”( 这里将原书中的 A 换成了 X,B 换成了 Y ),获得更深的理解。 贝叶斯定理在分类中的应用在分类( classification ) 问题中, 常常需要把一个事物分到某个类别。一个事物具有很多属性,把它的众多属性看做一个向量,即 x=(x 1 ,x 2 ,x 3,…,x n) ,用 x 这个向量来代表这个事物。类别也是有很多种, 用集合 Y={y 1 ,y 2,…y m} 表示。如果 x 属于 y1 类别, 就可以给 x打上 y1 标签,意思是说 x 属于 y1 类别。这就是所谓的分类(Classification) 。 x 的集合记为 X ,称为属性集。一般 X和Y 的关系是不确定的,你只能在某种程度上说 x有多大可能性属于类 y1 ,比如说 x有 80% 的可能性属于类 y1 ,这时可以把 X和Y 看做是随机变量, P(Y|X) 称为 Y的后验概率( posterior probability ),与之相对的, P(Y) 称为 Y的先验概率( prior probability ) [2]。在训练阶段,我们要根据从训练数据中收集的信息,对 X和Y 的每一种组合学****后验概率 P(Y|X) 。分类时,来了一个实例 x ,在刚才训练得到的一堆后验概率中找出所有的 P(Y|x) , 其中最大的那个 y ,即为 x 所属分类。根据贝叶斯公式,后验概率为在比较不同 Y 值的后验概率时,分母 P(X) 总是常数,因此可以忽略。先验概率 P(Y) 可以通过计算训练集中属于每一个类的训练样本所占的比例容易地估计。我们来举个简单的例子,让读者对上述思路有个形象的认识[3]。考虑一个医疗诊断问题, 有两种可能的假设:(1) 病人有癌症。(2) 病人无癌症。样本数据来自某化验测试, 它也有两种可能的结果: 阳性和阴性。假设我们已经有先验知识: 在所有人口中只有 的人患病。此外,化验测试对有病的患者有 98% 的可能返回阳性结果, 对无病患者有 97% 的可能返回阴性结果。上面的数据可以用以下概率式子表示: P(cancer)=,P( 无 cancer)= P( 阳性|cancer)=,P( 阴性|cancer)= P( 阳性|无 cancer)= , P( 阴性|无 cancer)= 假设现在有一个新病人,化验测试返回阳性,是否将病人断定为有癌症呢? 在这里, Y={cancer ,无 cancer} ,共两个类别,这个新病人是一个样本,他有一个属性阳性,可以令 x=( 阳性)。我们可以来计算各个类别的后验概率: P(cancer | 阳性)= P(