垃圾邮件分类算法的研究与分析_第1页
垃圾邮件分类算法的研究与分析_第2页
垃圾邮件分类算法的研究与分析_第3页
垃圾邮件分类算法的研究与分析_第4页
垃圾邮件分类算法的研究与分析_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.垃圾邮件分类算法的研究与分析西北工业大学 计算机学院 陕西 西安 710129 (School of Computer, Northwestern Polytechnic University Xian 710129 China)摘要:随着互联网的高速发展,电子邮件已经成为人们信息获取和信息交流的一个重要的渠道。与此同时垃圾邮件也成为互联网上的一个日益严重的安全问题,引起了越来越多的社会大众和研究人员的重视和关注。为了有效的分辨垃圾邮件,本文通过对训练数据进行相应的预处理及特征提取,分别使用朴素贝叶斯、C4.5决策树、支持向量机三种方法来对垃圾邮件进行分类,通过测试结果,比对各个分类算法的优

2、劣,并进行了详细的分析。关键词:垃圾邮件 朴素贝叶斯 C4.5决策树 支持向量机Abstract:With the rapid development of the Internet, e-mail plays an important roles in people's information access and information exchange. At the same time, spam has become an increasingly serious security problem on the Internet, causing more and more

3、attention of the community and researchers. In order to effectively distinguish the spam, this paper Pre-processings and extracts feature of the training data, and uses the NaiveBayes, C4.5 Decision Tree and SVM to classify the spam, Through the test results, compare and analysis the advantages and

4、disadvantages of each classification algorithm.Keywords: spam NaiveBayes C4.5 Decision Tree SVM1 引言 Internet 的问世带来了电子邮件业务的出现,网络技术的飞速发展促进了邮件服务的广泛普及及繁荣,电子邮件已经成为生活在信息时代的人们日常生活一个重要部分。电子邮件不仅是一个信息交流的重要渠道,而且也是人们信息获取的重要途径之一。随着互联网的普及,不仅人们的日常事务可以通过电子邮件来进行处理,而且越来越多正式和重要的信息也通过电子邮件来进行传达和交流。随着电子邮件越来越普及和重要性的持续增长,一

5、些商家和不法分子开始利用垃圾邮件这种方式来进行广告信息的传播和用户消费行为信息的获取。根据无线服务机构 Wireless Services Corporation 公司提供的一份最新调查显示,目前美国移动通信市场上所有的电子邮件服务当中,43%的都是垃圾信息,而年前垃圾邮件在电子邮件中的比例为 18%。而在国内,据有关部门统计,国内的电子邮件用户,平均每天发送的短信数量超过了3亿条。邮件甚至被称为继报纸、广播、电视、网络之后的第五媒体。不过在数量庞大的电子邮件背后,垃圾邮件的问题也愈加严重。垃圾邮件可以说是因特网带给人类最具争议性的副产品之一,它的泛滥已经使整个因特网不堪重负,人们不得不花费大

6、量时间来对付邮箱里的垃圾邮件。在这样的情势下,制定切实可行的反垃圾邮件方案无疑是Internet的一个重要课题,而对于反垃圾邮件技术的研究也称为一个新的热点领域。本文根据现有邮件分类的知识,结合训练数据集的特点,选择合适的分类算法,来实现对垃圾邮件的分类。2 相关工作本文垃圾邮件的分类工作主要包括以下三个部分:文本数据预处理,数据集特征选择,分类算法的应用及结果分析。2.1文本数据预处理根据提供的训练数据集及测试数据集,编写程序,提取数据集中所有单词及对应的频率,并更改数据格式,以矩阵的形式存储。初步处理过后的训练数据集Pre-train1.csv第一行表示数据集中出现的所有单词、字母和数字属

7、性共1000个,第2-9001行代表之前的9000条邮件训练数据集,对应第一行的单词,存储了每个单词出现的频率。Pre-train1.csv最后一列添加了label标签,表明每一条数据的属性,ham或spam。在Pre-train1.csv的基础上,我们开始对数据集中的属性进行筛选,去掉统计出来的单个字母,纯数字,以及无意义词汇属性143条,得到最终的数据集Pre-train2.csv共包含857个可靠单词属性,如图1所示,基于Pre-train2.csv数据集,我们进行后续的特征提取。 图1 数据集格式2.2 特征提取2.2.1熵与信息增益熵是信息理论中一个非常重要的概念,表示任何一种能量在

8、空间中分布的均匀程度,能量分布越均匀,越不确定,熵就越大。Shannon将熵应有于信息处理,提出了“信息熵”的概念。信息熵是信息的量化度量,是衡量一个随机变量取值的不确定性程度令 X 为随机变量,如果 X 随机变量的变化越多,通过它获取的信息量就越大,X的信息熵定义为: (2-1)通过观察随机变量 Y 获得的关于随机变量 X 的信息熵定义为: (2-2)信息增益是信息熵的差,表示在消除不确定性后获得的信息量,定义为: (2-3)信息增益是信息论中的一个重要概念,被广泛应用在机器学习领域。对分类系统来说,计算信息增益是针对一个一个的特征项而言的,它通过统计某一个特征项t在类别C中出现与否的文档数

9、来计算特征项t对类别C的信息增益1,定义为考虑出现前后的信息熵之差,某个特征项的信息增益值越大,表示其贡献越大,对分类也越重要。因此,在进行特征选择时,通常选取信息增益值大的若干个单词构造文本的特征向量。本文中,训练数据集中有857个属性,全部参与训练效率过低,因此需要提取出有代表性的词汇,故选用信息增益的方式来从数据集中提取特征。将处理过后的训练数据集导入到WEKA软件中,并在预处理阶段使用AttributeSelection界面中InfoGainAttributeEval来进行信息增益特征提取,同时,将提取出来的特征属性按信息增益由高到低进行排列,结果如图2所示:图2 信息增益特征提取结果

10、根据特征提取结果,选择信息增益排列前400的单词作为最终的训练集,并生成Pre-train(3).arff数据集文件。3 算法实验与分析实验部分采用自主程序设计和WEKA数据挖掘工具相结合的方法,利用经过预处理的训练集,编写MATLAB程序进行垃圾邮件分类,同时,利用WEKA软件中提供的多种常用的分类算法,进行实验。最后对各种分类方法的优劣进行总结。3.1朴素贝叶斯算法朴素贝叶斯分类器2是一种有监督的学习方法,其假设属性的值对给定类的影响而独立于其他属性值。用贝叶斯网表达朴素贝叶斯的分类器如图3所示。图 3 朴素贝叶斯网朴素贝叶斯后验概率3的计算公式如式(3-1) (3-1)其中X表示单词序列

11、,C表示分类。其中的计算公式如式(3-2) (3-2)则分类结果C的选择方式为式(3-3) (3-3)实验部分使用两种方法来实现贝叶斯分类算法,分别是MATLAB编写程序和WEKA平台提供的NaiveBayes算法。MATLAB程序中,根据朴素贝叶斯公式,使用经过预处理的4000条数据作为训练集,实验结果如表1所示:表1 基于MATLAB的朴素贝叶斯实验结果训练数量/条训练属性条错误率40001500.0970在WEKA件中,使用9000条数据,400条属性作为训练集,在Classify条目下选择NaiveBayes分类算法,并选择Supplied test set作为训练模型评价方法,实验结

12、果如表2所示:表2 基于weka平台的朴素贝叶斯分类算法实验结果hamspamtotalham16951420spam61519580total23057010003.2 C4.5决策算法C4.5 算法是目前最具影响的决策树算法, 已广泛应用于数据分类领域,C4.5算法是在ID3算法的基础上改进过来的,不仅可以处理离散型描述属性,还可以处理连续性属性。C4.5算法采用信息增益率作为选择分枝属性的标准,弥补了ID3算法在使用信息增益选择分枝属性时偏向于取值较多的属性的缺陷。作为 ID3 算法的改进算法, C4.5 算法克服了ID3算法的两大缺点: (1) ID3 算法使用信息增益作为评价标准来选

13、择根节点和各内部节点中的分枝属性,信息增益的缺点是倾向于选择取值较多的属性,在某些情况下这类属性可能不会提供太多有价值的信息,而C4.5 算法采用信息增益率作为评价标准,克服了 ID3算法的这点不足; (2) (2) ID3 算法只能处理描述属性为离散的数据集, 而 C4.5 算法既可以处理离散型描述性,又可以处理连续型描述属性。 C4.5 算法也是一种基于信息论的机器学习方法,其核心思想是通过分析训练数据集,在整个数据集上递归地建立一个决策树。 使用WEKA数据挖掘软件提供的C4.5 算法进行分类,实验结果如表3所示表3 C4.5决策树算法实验结果hamspamtotalham4119420

14、spam11569580total42257810003.3支持向量机算法支持向量机算法简称 SVM(Support Vector Machine)算法4,该算法建立在统计学习理论中的 VC 维和结构风险最小化基础之上,并结合最优化理论来得到分类决策函数的分类算法。其基本思想是寻找一个分类超平面,将两类样本分到超平面的两侧他在解决非线性问题、高维模式识别问题等许多问题中显示出许多优势,是统计学习理论中比较实用的算法之一,目前已在人脸识别、手写数字识别、文本分类5、信息检索等领域得到成功应用。支持向量机的数学模型如式(3-4)和式(3-5),该模型保证在满足条件下,超平面距离各样本点距离最大。

15、(3-4) (3-5)利用WEKA软件实现支持矢量机(SMO)算法的实验结果如表4所示表 4 支持向量机算法实验结果hamspamtotalham40317420spam13567580total41658410003.4实验结果评价与分析3.4.1实验评价方法测试邮件集合中垃圾邮件、非垃圾邮件的数量分别是Ns、Nh,垃圾邮件中正确分类和被错分的邮件数量分别为Nss、Nsh,非垃圾邮件中被正确分类和被错误分类的邮件数量分别为Nhh、Nhs,则垃圾邮件识别算法的性能可以根据以下几个指标进行衡量。(1)垃圾邮件召回率(recall)垃圾邮件样本集中能被算法正确分类的样本所占比例,记为r,定义如式(

16、3-6) (3-6)可见当垃圾邮件召回率反应了算法对垃圾邮件的检测能力,该值越大说明检测能力越强,被遗漏的邮件越少。(2)垃圾邮件识别准确率(precision)被正确识别分类的邮件数占所有样本的比例,记为p,定义如式(3-7) (3-7)准确率反应邮件被正确分类的概率,准确率越高,说明被错误分类的邮件数量就越少。3.4.2实验结果分析MATLAB编写程序实现的朴素贝叶斯算法结果与WEKA平台的实验结果存在一定的差异,对比结果如表5所示表5 基于MATLAB的朴素贝叶斯实验结果算法实现环境准确率MATLAB0.903WEKA平台0.888实验结果存在差异的原因在于MATLAB程序仅仅是单纯使用

17、朴素贝叶斯公式来进行结果计算,未考虑数据集中的噪音等因素,WEKA平台的算法包括更进一步的预处理,噪音数据去除,以及算法的优化,导致实验结果的准确率低于MATLAB程序结果。基于WEKA平台提供的三种分类方法,对比结果如表6所示表6三种算法分类效果对比准确度召回率执行时间支持向量机97.0%97.8%8.24sC4.5决策树98.0%98.1%4.12s朴素贝叶斯88.8%89.5%0.87s对比三种分类方法的实验结果,可以发现朴素贝叶斯分类算法的准确率和召回率最低,C4.5决策树的准确率和召回率最高,在执行时间方面,朴素贝叶斯所需的执行时间最短,支持向量机的执行时间最长。4总结本文介绍了对数

18、据集样本进行预处理及特征提取的方法,并使用支持向量机、朴素贝叶斯、C4.5决策树这三种垃圾邮件分类方法对样本集中垃圾邮件进行识别,对比分析了它们的分类效果,朴素贝叶斯方法执行效率高,但实验准确率不够理想,SVM和决策树的实验准确率较高,但执行时间较长,这三种分类算法都有各自的优势和不足。在进行垃圾邮件分类的时候,可以考虑结合三种方法的优点,更快速准确的实现垃圾邮件识别。本文在数据预处理阶段使用信息增益来进行特征提取,可以考虑使用卡方统计量的方式来提取特征,或者两者相互结合,得到更加合理的数据集特征信息。参考文献:1 刘庆和,梁正友.一种基于信息增益的特征优化选择方法J. 计算机工程与应用 2011,47(12):130-132.2 M. Sahami, S. Dumais, D. Heckerman. Bayesia

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论