CN111553388A - 一种基于在线AdaBoost的垃圾邮件检测方法 - Google Patents

一种基于在线AdaBoost的垃圾邮件检测方法 Download PDF

Info

Publication number
CN111553388A
CN111553388A CN202010265704.7A CN202010265704A CN111553388A CN 111553388 A CN111553388 A CN 111553388A CN 202010265704 A CN202010265704 A CN 202010265704A CN 111553388 A CN111553388 A CN 111553388A
Authority
CN
China
Prior art keywords
sample
mail
samples
training
weak classifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010265704.7A
Other languages
English (en)
Inventor
李静梅
王洪涛
茹晨广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN202010265704.7A priority Critical patent/CN111553388A/zh
Publication of CN111553388A publication Critical patent/CN111553388A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明属于网络安全技术领域,具体涉及一种基于在线AdaBoost的垃圾邮件检测方法。本发明将在线学习的思想应用到AdaBoost中用于训练强分类器。传统的垃圾邮件分类器存在分类性能不稳定、不能应用于动态环境和训练成本高的问题。针对以上问题,本发明在AdaBoost基础上引入了在线学习的思想,提高了分类效果,大大降低了训练模型的开销,使模型在垃圾邮件检测中可以适应大数据场景和动态变化的环境,从而获得更好的泛化性能。

Description

一种基于在线AdaBoost的垃圾邮件检测方法
技术领域
本发明属于网络安全技术领域,具体涉及一种基于在线AdaBoost的垃圾邮件检测方法。
背景技术
随着信息时代的发展,人与人之间的通信越来越便捷。电子邮件已经成为社交中非常重要的交流工具,然而邮件给人带来有效交流信息的同时,也会带来大量的垃圾信息。经统计,用户每天收到数百封电子邮件是很常见的。这些邮件中近90%是垃圾邮件,其中包括各种产品和服务的广告。垃圾邮件不仅强制用户识别不需要的邮件而消耗用户的时间,而且还会浪费存储空间和网络带宽。垃圾邮件检测已经成为信息安全领域所面临的巨大的挑战之一,机器学习在垃圾邮件检测等领域已经得到了广泛的应用。但是,传统的垃圾邮件检测算法存在诸多不足,比如单一的机器学习算法的检测准确率低,批量学习算法在动态环境中无法对模型作出及时的调整,训练成本高等问题。针对以上问题,本发明方法使用AdaBoost算法将训练好的弱分类器组合成一个强分类器,以提高分类效果;在此基础上引入在线学习的思想,不仅了降低了训练开销,而且能适应动态环境下网络中的变化。本发明方法有效地解决了传统的邮件分类方法分类性能不稳定的问题,而且可以很好地在动态环境下工作,降低了训练成本。因此,本发明方法相较于之前的垃圾邮件检测方法准确率更高,对环境的适应性更强,更高效且更易于拓展。
发明内容
本发明的目的在于提供提高垃圾邮件检测准确率、训练模型效率并适应于动态环境的一种基于在线AdaBoost的垃圾邮件检测方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
步骤1:输入待检测的邮件样本;取部分邮件样本数据构建训练集,对于每一个邮件样本(X,Y),X为邮件样本(X,Y)的特征集合;Y为邮件样本(X,Y)的标签,用于标记其是否为垃圾邮件的特征集合,训练集中Y由人工标注;
步骤2:使用训练集训练D个弱分类器,初始化弱分类器的权重计数器λt sc和λt sw,t=1,2,...,D,其中λt sc和λt sw分别代表正确分类样本和错误分类样本的计数器;具体过程为:
步骤2.1:从训练集中提取一个样本(X,Y)输入弱分类器ht中;初始化样本(X,Y)的权重λ为1;从泊松分布Possion(λ)中随机选择一个正整数k,弱分类器ht使用基于伯努利的多变量朴素贝叶斯模型学习样本k次;
步骤2.2:设X=(t1,...,tm),其中每个ti是一个二元变量,表示该特征是否出现在该样本中;m为样本(X,Y)特征的数量,计算中间条件概率P(X|Y=Ck):
Figure BDA0002440538330000021
其中,Ck代表邮件的类别,即正常邮件或者垃圾邮件;
步骤2.3:计算Ck在训练集里面出现的概率P(Y=Ck):
Figure BDA0002440538330000022
其中,n(Ci)表示类别为Ci的样本在训练集中出现的频数;
步骤2.4:计算邮件样本(X,Y)是垃圾邮件的概率P(Y=Ck|X):
Figure BDA0002440538330000023
同理可求得这个样本是正常邮件的概率,通过比较这两个概率的大小,预测样本(X,Y)的类别;
步骤2.5:比较样本的预测结果与实际结果;
如果弱分类器ht对这个样本正确分类,即ht(X)=sign(Y);计算λt sc←λt sc+λ,更新正确分类加权计数器,其中λ为样本权重;计算
Figure BDA0002440538330000024
更新近似加权错误分类率εt;计算:
Figure BDA0002440538330000025
更新样本(X,Y)的权重;
如果弱分类器ht对这个样本错误分类;计算λt sw←λt sw+λ,更新错误分类加权计数器,同理计算公式
Figure BDA0002440538330000026
更新近似加权错误分类率;计算
Figure BDA0002440538330000027
更新样本(X,Y)的权重;
步骤2.6:计算弱分类器ht的权重αt,完成对弱分类器ht的更新;
Figure BDA0002440538330000031
步骤2.7:将更新后的样本输入到下一个弱分类器中,重复执行步骤2.2至步骤2.6,直至完成对所有弱分类器的更新,完成一次循环并挑选出权重最高的弱分类器;
步骤2.8:判断是否完成所有区训练集中邮件样本的训练;若未完成,则返回步骤2.1;若训练集中所有邮件样本训练完毕,使用所有挑选出的弱分类器集成强分类器H(X);
Figure BDA0002440538330000032
步骤3:将其余待检测的邮件样本输入到强分类器H(X)中,完成对于垃圾邮件的检测。
本发明的有益效果在于:
本发明提供的是一种基于在线Adaboost的垃圾邮件检测方法,该方法将在线学习的思想应用到AdaBoost中用于训练强分类器。传统的垃圾邮件分类器存在分类性能不稳定、不能应用于动态环境和训练成本高的问题。针对以上问题,本发明在AdaBoost基础上引入了在线学习的思想,提高了分类效果,大大降低了训练模型的开销,使模型在垃圾邮件检测中可以适应大数据场景和动态变化的环境,从而获得更好的泛化性能。
附图说明
图1是在线AdaBoost训练以及挑选弱分类器的步骤图。
图2是组合强分类器的过程图。
图3是本发明方法实施与应用的流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明提供的是一种基于在线Adaboost的垃圾邮件检测方法,该方法将在线学习的思想应用到AdaBoost中用于训练强分类器。传统的垃圾邮件分类器存在分类性能不稳定、不能应用于动态环境和训练成本高的问题。针对以上问题,本发明方法在AdaBoost基础上引入了在线学习的思想,提高了分类效果,大大降低了训练模型的开销,使模型在垃圾邮件检测中可以适应大数据场景和动态变化的环境,从而获得更好的泛化性能。
一种基于在线AdaBoost的垃圾邮件检测方法,包括以下内容:
OAdaboostNBC以朴素贝叶斯分类器为基分类器进行构造,同时结合了在线学习的思想。其利用在线AdaBoost和朴素贝叶斯算法训练多个弱分类器,从中挑选几个效果最好的弱分类器组成一个强分类器,对邮件样本进行分类。
利用在线AdaBoost和朴素贝叶斯算法训练一个强分类器的步骤如下:
(1)使用部分邮件样本数据集训练多个弱分类器,初始化每个弱分类器正确和错误结果的加权计数器。
(2)对于新输入的样本,弱分类器通过基于伯努利的多变量朴素贝叶斯模型进行训练,根据对新样本的分类结果更新弱分类器的正确和错误分类的加权计数器,计算并更新当前样本的权重和弱分类器的权重,之后将更新权重后的样本按序输入到其他弱分类器中,直至完成对所有弱分类器的更新,从中挑选出权重最高的弱分类器,从而完成一次循环。
将每次循环挑选出的弱分类器组合成一个强分类器。
本发明提出一种提高垃圾邮件检测准确率、训练模型效率并适应于动态环境的方法,是一种基于在线AdaBoost的高效垃圾邮件检测方法。本发明方法包括以下5个步骤:
1.使用部分邮件样本数据集训练多个弱分类器,初始化弱分类器的权重计数器λt sc和λt sw(t=1,2,...,D)。其中λt sc和λt sw分别代表正确分类样本和错误分类样本的计数器。
2.定义ht为新样本(X,Y)首次输入的弱分类器,其中X为邮件样本(X,Y)的特征集合,Y为邮件样本(X,Y)的标签,标记其是否为垃圾邮件。初始化样本(X,Y)的权重λ为1,从泊松分布Possion(λ)中随机选择一个正整数k,弱分类器ht使用基于伯努利的多变量朴素贝叶斯模型学习样本(X,Y)k次。具体学习过程如下:
(1)设X=(t1,...,tm),其中每个ti是一个二元变量,表示该特征是否出现在该样本中(0表示特征ti没有出现在样本中,1表示该特征出现在样本中),m为样本(X,Y)特征的数量。
计算公式(6):
Figure BDA0002440538330000041
得到的P(X|Y=Ck)为求解垃圾邮件概率过程中的中间条件概率,其中Ck代表邮件的类别(正常邮件或者垃圾邮件)。计算公式(7):
Figure BDA0002440538330000042
得到的P(Y=Ck)为Ck在训练集里面出现的概率,n(Ci)表示类别为Ci的样本在训练集中出现的频数。计算贝叶斯公式(8):
Figure BDA0002440538330000051
得到的P(Y=Ck|X)为邮件样本(X,Y)是垃圾邮件的概率,同理可求得这个样本是正常邮件的概率,通过比较这两个概率的大小,预测样本(X,Y)的类别。
3.比较样本的预测结果与实际结果,如果弱分类器ht对这个样本正确分类,即ht(X)=sign(Y),计算公式(1):
λt sc←λt sc+λ (1)
更新正确分类加权计数器,其中λ为样本权重,设εt为加权错误分类率,计算公式(2):
Figure BDA0002440538330000052
更新近似加权错误分类率,计算公式(3):
Figure BDA0002440538330000053
更新样本(X,Y)的权重。
如果弱分类器ht对这个样本错误分类,计算公式λt sw←λt sw+λ,更新错误分类加权计数器,同理计算公式(2),更新近似加权错误分类率。计算公式
Figure BDA0002440538330000054
更新样本(X,Y)的权重。
4.计算公式(4):
Figure BDA0002440538330000055
完成对弱分类器ht的更新,其中αt为弱分类器ht的权重。
5.将更新后的样本输入到下一个弱分类器中,继续执行样本和弱分类器的更新步骤,直至完成对所有弱分类器的更新,从而完成一次循环。每新输入一个样本则进行一次循环,每次循环选出一个权重最高的弱分类器。循环结束即所有邮件样本训练完毕后,使用所有挑选出的弱分类器集成强分类器,如公式(5):
Figure BDA0002440538330000061
H为训练完成后最终的强分类器。
经过上述5个步骤之后,形成了基于在线AdaBoost的垃圾邮件检测方法。本方法增强了垃圾邮件分类的稳定性,降低了训练开销,而且能更好的适应动态变化的环境。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种基于在线AdaBoost的垃圾邮件检测方法,其特征在于,包括以下步骤:
步骤1:输入待检测的邮件样本;取部分邮件样本数据构建训练集,对于每一个邮件样本(X,Y),X为邮件样本(X,Y)的特征集合;Y为邮件样本(X,Y)的标签,用于标记其是否为垃圾邮件的特征集合,训练集中Y由人工标注;
步骤2:使用训练集训练D个弱分类器,初始化弱分类器的权重计数器λt sc和λt sw,t=1,2,...,D,其中λt sc和λt sw分别代表正确分类样本和错误分类样本的计数器;具体过程为:
步骤2.1:从训练集中提取一个样本(X,Y)输入弱分类器ht中;初始化样本(X,Y)的权重λ为1;从泊松分布Possion(λ)中随机选择一个正整数k,弱分类器ht使用基于伯努利的多变量朴素贝叶斯模型学习样本k次;
步骤2.2:设X=(t1,...,tm),其中每个ti是一个二元变量,表示该特征是否出现在该样本中;m为样本(X,Y)特征的数量,计算中间条件概率P(X|Y=Ck):
Figure FDA0002440538320000011
其中,Ck代表邮件的类别,即正常邮件或者垃圾邮件;
步骤2.3:计算Ck在训练集里面出现的概率P(Y=Ck):
Figure FDA0002440538320000012
其中,n(Ci)表示类别为Ci的样本在训练集中出现的频数;
步骤2.4:计算邮件样本(X,Y)是垃圾邮件的概率P(Y=Ck|X):
Figure FDA0002440538320000013
同理可求得这个样本是正常邮件的概率,通过比较这两个概率的大小,预测样本(X,Y)的类别;
步骤2.5:比较样本的预测结果与实际结果;
如果弱分类器ht对这个样本正确分类,即ht(X)=sign(Y);计算λt sc←λt sc+λ,更新正确分类加权计数器,其中λ为样本权重;计算
Figure FDA0002440538320000021
更新近似加权错误分类率εt;计算:
Figure FDA0002440538320000022
更新样本(X,Y)的权重;
如果弱分类器ht对这个样本错误分类;计算λt sw←λt sw+λ,更新错误分类加权计数器,同理计算公式
Figure FDA0002440538320000023
更新近似加权错误分类率;计算
Figure FDA0002440538320000024
更新样本(X,Y)的权重;
步骤2.6:计算弱分类器ht的权重αt,完成对弱分类器ht的更新;
Figure FDA0002440538320000025
步骤2.7:将更新后的样本输入到下一个弱分类器中,重复执行步骤2.2至步骤2.6,直至完成对所有弱分类器的更新,完成一次循环并挑选出权重最高的弱分类器;
步骤2.8:判断是否完成所有区训练集中邮件样本的训练;若未完成,则返回步骤2.1;若训练集中所有邮件样本训练完毕,使用所有挑选出的弱分类器集成强分类器H(X);
Figure FDA0002440538320000026
步骤3:将其余待检测的邮件样本输入到强分类器H(X)中,完成对于垃圾邮件的检测。
CN202010265704.7A 2020-04-07 2020-04-07 一种基于在线AdaBoost的垃圾邮件检测方法 Pending CN111553388A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010265704.7A CN111553388A (zh) 2020-04-07 2020-04-07 一种基于在线AdaBoost的垃圾邮件检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010265704.7A CN111553388A (zh) 2020-04-07 2020-04-07 一种基于在线AdaBoost的垃圾邮件检测方法

Publications (1)

Publication Number Publication Date
CN111553388A true CN111553388A (zh) 2020-08-18

Family

ID=72004269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010265704.7A Pending CN111553388A (zh) 2020-04-07 2020-04-07 一种基于在线AdaBoost的垃圾邮件检测方法

Country Status (1)

Country Link
CN (1) CN111553388A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221623A (zh) * 2008-01-30 2008-07-16 北京中星微电子有限公司 一种物体类型的在线训练和识别方法及其***
CN103593672A (zh) * 2013-05-27 2014-02-19 深圳市智美达科技有限公司 Adaboost分类器在线学习方法及***
CN107133597A (zh) * 2017-05-11 2017-09-05 南宁市正祥科技有限公司 一种日间前方车辆检测方法
CN108537279A (zh) * 2018-04-11 2018-09-14 中南大学 基于改进Adaboost算法的数据源分类器构建方法
US20180293381A1 (en) * 2017-04-07 2018-10-11 Trustpath Inc. System and method for malware detection on a per packet basis
CN108804651A (zh) * 2018-06-07 2018-11-13 南京邮电大学 一种基于强化贝叶斯分类的社交行为检测方法
CN110149268A (zh) * 2019-05-15 2019-08-20 深圳市趣创科技有限公司 一种自动过滤垃圾邮件的方法及其***
CN110737805A (zh) * 2019-10-18 2020-01-31 网易(杭州)网络有限公司 图模型数据的处理方法、装置和终端设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221623A (zh) * 2008-01-30 2008-07-16 北京中星微电子有限公司 一种物体类型的在线训练和识别方法及其***
CN103593672A (zh) * 2013-05-27 2014-02-19 深圳市智美达科技有限公司 Adaboost分类器在线学习方法及***
US20180293381A1 (en) * 2017-04-07 2018-10-11 Trustpath Inc. System and method for malware detection on a per packet basis
CN107133597A (zh) * 2017-05-11 2017-09-05 南宁市正祥科技有限公司 一种日间前方车辆检测方法
CN108537279A (zh) * 2018-04-11 2018-09-14 中南大学 基于改进Adaboost算法的数据源分类器构建方法
CN108804651A (zh) * 2018-06-07 2018-11-13 南京邮电大学 一种基于强化贝叶斯分类的社交行为检测方法
CN110149268A (zh) * 2019-05-15 2019-08-20 深圳市趣创科技有限公司 一种自动过滤垃圾邮件的方法及其***
CN110737805A (zh) * 2019-10-18 2020-01-31 网易(杭州)网络有限公司 图模型数据的处理方法、装置和终端设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WEIMING HU等: "Online Adaboost-Based Parameterized Methods for Dynamic Distributed Network Intrusion Detection", 《IEEE TRANSACTIONS ON CYBERNETICS》 *
李茹: "基于最小风险贝叶斯的多级邮件过滤***的研究实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
翟军昌: "基于朴素贝叶斯算法的个性化垃圾邮件过滤", 《长春师范学院学报(自然科学版)》 *

Similar Documents

Publication Publication Date Title
CN108564129B (zh) 一种基于生成对抗网络的轨迹数据分类方法
CN108256561B (zh) 一种基于对抗学习的多源域适应迁移方法及***
CN109190442B (zh) 一种基于深度级联卷积神经网络的快速人脸检测方法
JP7266674B2 (ja) 画像分類モデルの訓練方法、画像処理方法及び装置
CN107392919B (zh) 基于自适应遗传算法的灰度阈值获取方法、图像分割方法
CN108364016A (zh) 基于多分类器的渐进式半监督分类方法
Hoens et al. Heuristic updatable weighted random subspaces for non-stationary environments
CN103559504A (zh) 图像目标类别识别方法及装置
CN105069483B (zh) 一种对分类数据集进行测试的方法
CN108320374B (zh) 一种基于图像指纹的多国纸币冠字号字符识别方法
CN113887643B (zh) 一种基于伪标签自训练和源域再训练的新对话意图识别方法
CN116503676B (zh) 一种基于知识蒸馏小样本增量学习的图片分类方法及***
CN104820702B (zh) 一种基于决策树的属性加权方法及文本分类方法
CN109919055B (zh) 一种基于AdaBoost-KNN的动态人脸情感识别方法
CN103279746A (zh) 一种基于支持向量机的人脸识别方法及***
CN114297987B (zh) 基于文本分类和阅读理解的文档信息抽取方法及***
CN108198324B (zh) 一种基于图像指纹的多国纸币币种识别方法
Solanki et al. Spam filtering using hybrid local-global Naive Bayes classifier
US20060179017A1 (en) Preparing data for machine learning
CN112418987B (zh) 交通运输单位信用评级方法、***、电子设备及存储介质
CN116644339B (zh) 一种信息归类方法及***
CN111967973B (zh) 银行客户数据处理方法及装置
CN117649552A (zh) 一种基于对比学习和主动学习的图像增量学习方法
CN111553388A (zh) 一种基于在线AdaBoost的垃圾邮件检测方法
Salehi et al. Hybrid simple artificial immune system (SAIS) and particle swarm optimization (PSO) for spam detection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200818

RJ01 Rejection of invention patent application after publication