英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
一种基于机器学习分类器的垃圾邮件检测研究
Shrawan Kumar Trivedi
摘要—在现在的世界中,我们需要使用电子邮件沟通,但是不请自来的电子邮件阻碍了这种沟通。本研究强调构建垃圾邮件分类模型有/没有使用已被纳入的分类器集合方法。 通过这项研究,要达到的目的是通过制作高效,灵敏的分类模型,以较低的错误率以及提供良好的准确性,来区分合法邮件和垃圾邮件。向前或向后逐步特征搜索方法已被纳入用于搜索安然公司电子邮件数据集的信息特征。这种搜索方法已经在不同的机器学习分类器(如贝叶斯,朴素贝叶斯,支持向量机(支持向量机),J48(决策树),贝叶斯与Adaboost,朴素贝叶斯与Adaboost)之间进行了比较。相关分类器在度量(例如F度量(准确度),假阳性率和训练时间)上进行测试和评估。通过全面分析对所有这些方面的全面分析,已经发现SVM是最好使用的分类器。 具有高精度和低假阳性率。 然而,SVM建立模型的训练时间很高,但由于其他参数的结果是积极的,所以时间并不构成这样的问题。
关键词:机器学习分类器,朴素贝叶斯算法,SVM,J48,垃圾邮件分类
I.介绍
目前,电子邮件是实现快速廉价通信的关键和必要工具。电子邮件是广泛的媒介和生活的重要组成部分[1]。但是,垃圾邮件或未经请求的电子邮件对于这种形式的沟通来说是非常不方便的。它们可以是以广告或类似显式内容的形式,这些邮件中可能包含嵌入其中的恶意代码。一项研究估计,70%的商业电子邮件是垃圾邮件[2]。研究还发现,垃圾邮件的快速发展具有如用户邮箱的过度流动,带宽和存储空间的消耗,影响了重要的电子邮件正常使用和其他问题的影响,以及用户消耗时间在排序所有电子邮件的后果[ 3]。目前,由于垃圾邮件发送者引入的复杂性使得难以区分垃圾邮件(未经请求的电子邮件)和火腿邮件(合法电子邮件),所以很多的人对垃圾邮件分类领域越来越感兴趣。复杂性可能是由于诸如令牌化的攻击(修改或拆分诸如“3”之类的“自由”)和“混淆”(通过添加HTML或某些其他代码隐藏某些功能,例如“自由”编码为FR3E或FR& 101xe),用于改变特定特征的信息[4]。
对于垃圾邮件分类,我们使用各种垃圾邮件过滤方法。垃圾邮件过滤器的功能是识别垃圾邮件,并阻止其进入邮箱。在过滤器的帮助下,垃圾邮件的不利影响得到缓解,并且像预测和可靠的工具一样运行,以消除不必要的电子邮件。但是,存在错误分类或删除合法电子邮件的风险很小。在研究中,各种垃圾邮件过滤方法已经过测试,但没有发现是完美的。然而,过滤器对于必须经历检测垃圾邮件负担的电子邮件收件人是有益的。阅读每封邮件用于识别垃圾邮件所产生的费用不仅仅是时间消耗[5]。现在用户仅仅通过阅读主题或电子邮件内容来区分电子邮件变得困难,从而增加垃圾邮件过滤的必要性。很少但有时,过滤器也会产生错误,过滤器与用户结合使用以达到最小化这些错误。
II. 相关工作
垃圾邮件分类已成为进行研究的一个具有挑战性的领域,因为垃圾邮件发送者正在寻找通过增加复杂性来改变与垃圾信息相关的信息的方法。 研究中已经使用各种机器学习分类器来解决这些问题。 本节介绍与本研究相关的文献描述。
现在贝叶斯方法的普及程度越来越高,它们在文本和垃圾邮件分类中的应用也越来越多。 它在成本敏感的评估中提供了好处,因为它能够提供更高程度的与分类有关的复杂性。 对于Sahami等人的研究 [6],已经使用了一个朴素的贝叶斯分类器和一个用于电子邮件数据集的单词表示。 在本文中,已经显示出改进的性能水平,其中包括特征复杂的特征(例如FREE !,f r 3 3),域名特征和一些非字母特征。
分类器方法的综合也在研究范围之内。 Sakkis等人 [7]已经开发了一种用于设计更好的分类器集合的组合方法。 该设计包括NB和kNN分类器,以实现良好的分类结果。 在Trivedi和Dey [8]最近的一项研究中,他们使用分类器技术在概率分类器方面的综合,并发现这种技术有助于提高概率分类器的性能,即使是一小部分信息特征。
支持向量机(SVM)在这个领域也很受欢迎。 Drucker等 [9]对各种机器学习分类器进行了SVM的比较研究,并确定了SVM和提升决策树是在速度和精度方面都有前途的分类器。 然而,SVM的训练速度比Boosted决策树更快。 Trivedi和Dey [10]测试了各种内核函数对SVM性能的影响,发现增强SVM学习能力的最佳方法是通过归一化多核。
III. 垃圾邮件分类器的结构
安然电子邮件语料库[11] - [13]已被用于本研究。 在F-value,假阳性率和训练时间的帮助下,有关机器学习分类器在Enron语料库上进行测试。
Enron电子邮件语料库是本研究的主要重点,用于测试相关分类器,其中选择6000个电子邮件文件,安然5号和6版的垃圾邮件率为50%。此选择的依据是以攻击形式出现的复杂性 已经在这些版本的电子邮件文件的特征/单词中被识别,有助于评估分类器的实际强度。
语料库的预处理
电子邮件文件的信息分为标题(主题,发件人和收件人等一般信息)和正文(电子邮件的主要内容)。然而,这项研究只关注电子邮件的正文。
在所选择的语料库上执行预处理,以将字符串被转换为适合于分类算法的表示的电子邮件文件。通过特征提取过程从电子邮件文件中提取词/特征。
在该过程中,通过字符串到字矢量变换方法提取来自电子邮件文件的信息,用于开发相关的特征字典。它包括,HTML(或其他)标签删除,停止字删除(出现频繁出现的诸如介词,文章和连词等等)和字母化(将字词减少到其基本形式,例如从正在改进到改进)。进一步采用所选特征集进行维数降低。
垃圾邮件分类中的一个主要问题是特征空间的高维度,其中在各种文件中找到唯一字的一个维度。由于不可靠的分类结果和计算成本,这一大特征空间导致了标准分类方法的难度。通过降维方法,通过特征选择的过程,可以减少这一特征空间。
特征选择用于获取信息特征子集以减少特征空间。本研究采用贪婪逐步子集评估方法[12,13]来获取信息特征子集。
贪婪逐步特征子集搜索:
在此过程中,迭代地对特征进行了评估,以搜索单个信息特征以在模型中添加。 逐步回归法用于评估过程。 特征选择通过三个不同的过程,即正向选择(增加好的特征),反向选择(最差特征的删除)和混合选择(同时进行前向和后向选择)来完成。 提供诸如P值的一些方法来决定终止过程,通知,模型中是否已经添加了所有好的特征,或者没有剩余的功能可以增加价值。
让我们假设的功能集用于搜索过程,是参与的功能的数量
根据他们的适应性进行评估 因此,最好的特征集可以用下面的公式来产生。
在获得信息特征子集之后,应用特征表示过程,其中电子邮件文件的单词/特征由二进制表示方法表示。 在这种方法中,电子邮件文件和单词一起形成称为术语文档矩阵(TDM)的二进制矩阵,该方法被称为术语加权方法。 该二进制矩阵包含二进制值(1和0),其中1是特定电子邮件文件中特定特征/单词存在的指示符,否则为0。
本研究机器学习分类器:
贝叶斯分类器:
贝叶斯分类器由刘易斯在1998年提出[14]。 他介绍了这个词其被定义为由向量识别的文档概率的术语属于特定类别。这个概率可以由贝叶斯定理计算得到:
其中,表示由文档向量所选定文档的概率,是任意选择的文档落入特定类的概率。
这种分类方法通常被称为“贝叶斯分类”。
贝叶斯方法是受欢迎的,但在高维数据向量的情况下被认为是具有挑战性的。这个挑战
通过假设任何两个任意选择的文档向量的坐标来被很好地接受和解决,并且彼此独立。 这个假设由给定的方程很好地描述 -
该假设由名为”朴素贝叶斯”的分类器捕获,该分类器是Text Mining域中众所周知的分类器。
支持向量机(SVM)
支持向量机(SVM)是文本分类研究中众所周知的分类器。 该分类器采用“统计学习理论和结构最大化主体”的概念[9]。 由于其独特的内核功能的帮助,它的优势在于处理高维度数据,因此它是研究中受欢迎和受欢迎的分类器。
SVM可以借助超平面创建的最大余量分离类(Positive / Negative)。让我们假设一套训练集其中,。这表明了第个训练样本的独特类。 这项研究需要 1作为垃圾邮件或不请自来的类,-1为Ham或合法类。 最终分类器的输出通过以下等式测量:
其中,是分类器的最终输出,表示与那些特征向量相比较的正常向量,作为一个基本参数,由训练过程所决定。类之间的分离通过下面给出的等式最大化:
最小化
受制于
决策树(J48):
J48 [12,13]是基于C4.5算法的简单决策树分类技术。 它是C4.5算法的开源JAVA实现,它使用熵的概念在培训数据的帮助下开发决策树。 在每个节点,C4.5从特征子集中选择最多的信息特征。 通过归一化信息增益(即熵的差异)来完成选择机制。 C4.5算法需要了解一些基本情况:
I.如果列表的整个样本属于同一个类,则在决策树中创建一个叶节点以选择该类。
II.如果没有一个特征提供信息增益,它将在类的预期值的帮助下开发一个决策节点,放置在树上。
III.如果早期不可见的类的实例出现,则再次通过类的预期值的帮助,开发出一个位于树上的决策节点。
C4.5算法:
(a)检查以上基本情况
(b)对于每个特征,从上的分离变量找到归一化信息增益。
(c)如果是具有较高规范化增益的最佳特征,则开发一个在上分裂的决策节点。
(d)在上拆分创建的子列表重复上述步骤。
增强与AdaBoost
增强方法的基础[8]是引导。 引导的基本原理是重新评估一些估计的准确性。 它是一种基于统计样本的方法,其包括从数据集中随机绘制替换。 在分类领域,一些增强方法已经显示出其强化分类器准确性的潜力。
自适应增强功能用于重新加权数据,而不是随机抽样。 该方法开发了一个构建集合的概念,用于分类器的性能改进。AdaBoost学习收集的弱分类器的输出然后预测决定。这组成了最终分类器。
增强分类器算法的实现:
输入:训练样本,
训练集B的样本版本数。
输出:适用于训练集的分类器
初始化重量
从
a)用训练输出权重训练弱分类器
b)计算错误项
c)计算权重贡献
d)替换
重整
最终分类器是:
IV实验设计
仪器评估
三种方法被用来估计表现:F值,正确率和训练时间。
F值
F度量是测量测量精度的度量。 考虑精度(P)和召回(R)两者来计算得分。 精确度(P)是正数结果的数量除以所有阳性结果的数量,回忆(R)是正确结果的数量除以应该返回的积极结果的数量。 最终值被解释为精度和召回的加权平均值。 当值为1(100%)时,精度最高,值为0(0%)时为最低。 在数学上,可以使用以下公式计算:
正确率
FP率被认为是错误地拒绝零假设研究的概率。 因此,这个值应该尽可能的低,因为它指的是模型的错误分类,这是应该尝试和避免的。 在数学上,使用以下公式计算假阳性率:
软件
在本研究中,优选的是具有4GB RAM的WINDOW 7操作系统上的Microsoft Excel 2010和基于JAVA的实现。 在预处理(特征提取和特征搜索)之后,选择Enron语料库的49个最有信息的特征来进行分类器的训练。 整个语料库分为66%的培训文件和34%的测试文件。
V结果和分析
分析部分分为三个部分。 第一部分演示了所有相关机器学习分类器的F值(表1和图1)。 第二部分分析了分类器的假阳性(FP)率(表1和图2)。 在最后一段中,所有分类器都在训练时间的帮助下进行测试(表1和图3)。 从不同的指标得到以下结果。
表1
FP 率 |
F值 |
训练时间 |
|
贝叶斯 |
8.1% |
92.0% |
0.51s |
朴素贝叶斯 |
6.9% |
92.8% |
0.25s |
SVM |
6.5% |
93.3% |
10.54s |
J48 |
7.6% |
92.1% |
4.73s |
增强后 |
|||
贝叶斯网络 |
<p 剩余内容已隐藏,支付完成后下载完整资料
资料编号:[139202],资料为PDF文档或Word文档,PDF文档可免费转换为Word </p |
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。