基于贝叶斯的文本分类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京理工大学经济管理学院
课程作业
课程名称:本文信息处理
作业题目:基于朴素贝叶斯实现文本分类姓名:赵华
学号: 114107000778
成绩:
基于朴素贝叶斯实现文本分类
摘要贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义。然后,介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论贝叶斯分类中最简单的一种:朴素贝叶斯分类。
关键词社区发现标签传播算法社会网络分析社区结构
1引言
数据挖掘在上个世纪末在数据的智能分析技术上得到了广泛的应用。分类作为数据挖掘中一项非常重要的任务,目前在商业上应用很多。分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该分类器可以将数据集合中的数据项映射到给定类别中的某一个,从而可以用于后续数据的预测和状态决策。目前,分类方法的研究成果较多,判别方法的好坏可以从三个方面进行:1)预测准确度,对非样本数据的判别准确度;2)计算复杂度,方法实现时对时间和空间的复杂度;3)模式的简洁度,在同样效果情况下,希望决策树小或规则少。
分类是数据分析和机器学习领域的基本问题。没有一个分类方法在对所有数据集上进行分类学习均是最优的。从数据中学习高精度的分类器近年来一直是研究的热点。各种不同的方法都可以用来学习分类器。例如,人工神经元网络[1]、决策树[2]、非参数学习算法[3]等等。与其他精心设计的分类器相比,朴素贝叶斯分类器[4]是学习效率和分类效果较好的分类器之一。
朴素贝叶斯方法,是目前公认的一种简单有效的分类方法,它是一种基于概率的分类方法,被广泛地应用于模式识别、自然语言处理、机器人导航、规划、机器学习以及利用贝叶斯网络技术构建和分析软件系统。
2贝叶斯分类
2.1分类问题综述
对于分类问题,其实谁都不会陌生,说我们每个人每天都在执行分类操作一点都不夸张,只是我们没有意识到罢了。例如,当你看到一个陌生人,你的脑子下意识判断TA是男是女;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱、那边有个非主流”之类的话,其实这就是一种分类操作。
从数学角度来说,分类问题可做如下定义:
已知集合:和,确定映射规则,使得任意有且仅有一个使得成立。(不考虑模
糊数学里的模糊集情况)
其中C叫做类别集合,其中每一个元素是一个类别,而I叫做项集合,其中每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f。
这里要着重强调,分类问题往往采用经验性方法构造映射规则,即一般情况下的分类问题缺少足够的信息来构造100%正确的映射规则,而是通过对经验数据的学习从而实现一定概率意义上正确的分类,因此所训练出的分类器并不是一定能将每个待分类项准确映射到其分类,分类器的质量与分类器构造方法、待分类数据的特性以及训练样本数量等诸多因素有关。
例如,医生对病人进行诊断就是一个典型的分类过程,任何一个医生都无法直接看到病人的病情,只能观察病人表现出的症状和各种化验检测数据来推断病情,这时医生就好比一个分类器,而这个医生诊断的准确率,与他当初受到的教育方式(构造方法)、病人的症状是否突出(待分类数据的特性)以及医生的经验多少(训练样本数量)都有密切关系。
2.2贝叶斯分类的基础——贝叶斯定理
贝叶斯定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。这里先解释什么是条件概率:
表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A
的条件概率。其基本求解公式为:
贝叶斯定理之所以有用,是因为我们在生活中经常遇到这种情况:我们可以很容易直接得出P(A|B),P(B|A)则很难直接得出,但我们更关心P(B|A),贝叶斯定理就为我们打通从P(A|B)获得P(B|A)的道路。贝叶斯定理公式如下:
2.3朴素贝叶斯分类的原理与流程
朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。
朴素贝叶斯分类的正式定义如下:
1、设为一个待分类项,而每个a为x的一个特征属性。
2、有类别集合。
3、计算。
4、如果,则。
那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做:
1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。
2、统计得到在各类别下各个特征属性的条件概率估计。即
3、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:
因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:
根据上述分析,朴素贝叶斯分类的流程可以由下图表示:
图1朴素贝叶斯分类流程图
3实验过程及结果分析
3.1数据来源
共两类数据,每个类别下分别有1979个文档。
3.2实验过程
本实验调用jieba分词,过滤停用词,选取前5000个高频词作为特征项,每个类别抽取1000个样本,90%训练,10%测试,调用nltk包下的贝叶斯分类器进行分类,并计算准确度。实验流程如下图2所示:
图2实验流程图
3.3实验结果
调用贝叶斯分类器,每个类别选取900个文档作为训练集,101个作为训练集,得出实验结果如下图3所示,准确度为0.9455,较高的准确度应该跟数据集的质量比较高有关。
图3 实验结果 4结论与展望
本文根据统计词频选取特征项,尚存在不足,在特征项抽取方面有待完善。
参考文献
[1]
P H Sorensen,et al.Implementation of neural network based nonlinear predictive control[J].1999,28(1):37-51 [2]
杨平,等.神经网络预测控制算法及其应用[J].控制工程,2003,10(4):349-351 [3]
王雪松,程玉虎.一种基于时间差分算法的神经网络预测控制系统[J].信息与控制,2004,33(5):531-535. [4] 陈博,钱锋,刘漫丹.一种基于BP 网络的预测控制算法及其应用[J].华东理工大学学
报,2003,29(4):400-404.
朴素贝叶斯分类
最终数据集 切词结果数据
切词 停用词过滤
初始语料库 90%训练数据集 10%测试数据集