CN102214320A - 神经网络训练方法及采用该方法的垃圾邮件过滤方法 - Google Patents

神经网络训练方法及采用该方法的垃圾邮件过滤方法 Download PDF

Info

Publication number
CN102214320A
CN102214320A CN2010101441893A CN201010144189A CN102214320A CN 102214320 A CN102214320 A CN 102214320A CN 2010101441893 A CN2010101441893 A CN 2010101441893A CN 201010144189 A CN201010144189 A CN 201010144189A CN 102214320 A CN102214320 A CN 102214320A
Authority
CN
China
Prior art keywords
neural network
mail
training
layer
weight
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
CN2010101441893A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN2010101441893A priority Critical patent/CN102214320A/zh
Publication of CN102214320A publication Critical patent/CN102214320A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种用于垃圾邮件过滤的BP神经网络的训练方法,其通过学习率来调整所述BP神经网络中每层之间的权重,其包括:计算已知邮件的关键词的权重,并计算各种邮件类所对应的目标值,其中不同的邮件类对应不同的目标值;将所述已知邮件的权重输入到欲训练的BP神经网络中得到输出值;计算所述输出值和所述目标值的偏差,如果不符合训练结束条件,则修改BP神经网络的权重,进行下一代训练,直到输出值符合训练结束条件,其中设定预定数值代为一个阶段,每一个阶段更新一次学习率。

Description

神经网络训练方法及采用该方法的垃圾邮件过滤方法
【技术领域】
本发明涉及垃圾邮件过滤系统,特别是关于一种基于鲁棒BP神经网络的垃圾邮件过滤方法。
【背景技术】
随着电子邮件在人们日常生活中的普及,同样也使得存储在用户邮箱中的垃圾邮件逐渐增多,给用户查看和管理操作带来诸多不便,为了方便其日常管理及阅读,现代网络电子邮件系统迫切需要一种准确、实时、高效的邮件分类与过滤技术,它按照邮件的发件人邮箱、IP、主题以及邮件正文等条件对邮件进行分类与过滤。
图1为现有技术中垃圾邮件判定模块图。请参阅图1所示,来自于Internet的邮件首先经过垃圾邮件过滤模块进行判定,然后将判定后的邮件发送给Email服务器。其判定的具体内容为:分别通过不同的方法对邮件的正文、邮件附件以及邮件的其它部分(包括发件人邮箱地址或IP等)进行判别,从邮件的任何一部分判定为垃圾邮件的则将该邮件发送给Email服务器并最终发送给接收客户端的垃圾邮件分类中,对于合法邮件则通过Email服务器最终发送给接收邮件客户端的合法邮件分类中。
垃圾邮件过滤技术的难点在于根据邮件的正文进行垃圾邮件识别,可以把这个难点看作是一种特殊的文本分类情况。文本分类是一种针对文本的监督的机器学习技术,它根据表示数据的特征和给定的分类结果为每个类找到一个合理的模型描述,然后再用这些描述对新数据进行分类。
分类算法是数据挖掘中最重要的技术之一,其分类类别是按照应用要求事先给定的,它根据表示数据的特征和给定的分类结果为每个类别找到一个合理的模型描述,然后再用这些描述对新数据进行分类。常用的分类方法包括临近算法(K-Nearest Neighbor)、朴素贝叶斯分类器(Naive Bayesian Classifier),以及决策树模型(Decision Tree Model)等。临近算法是最简单的分类算法,但是它的计算量非常大,并且当分类样本的分布不均匀时,会导致分类的结果不准确;朴素贝叶斯分类器发源于古典数学理论,有着坚实的数学基础。但是当表示数据的特征数比较多或者当特征间的相关性比较大时,朴素贝叶斯的分类效率不高;决策树模型通过构造树来解决分类问题,它易于构造出合理的分类规则,而且适合处理大型数据库,但是它存在对缺失数据敏感、忽略数据集特征间的关系以及过度拟合的问题。
现有技术中经常利用神经网络(Neural Network,NN)来实现分类算法。所述神经网络是模仿动物的脑神经元结构建立的分类体系,具有自学习、自适应的能力,是分类控制与智能技术的主要分支之一。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是非常强大的。反向传播神经网络(Back Propagation Neural Network,BPNN)具有监督学习与反向传播的特点,它根据训练数据的特征和已知的分类结果对未知数据进行分类处理。复杂数据的分类过程往往具有非线性的性质,BP神经网络能很好地处理这类问题但存在训练速度慢,会陷入局部最小解等缺点。
因此有必要提出一种改进的技术方案来克服上述问题。
【发明内容】
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
本发明的目的在于提供一种基于鲁棒BP神经网络的垃圾邮件过滤方法,其能够提高BP神经网络的训练速度,并提高垃圾邮件过滤的精确度。
根据本发明的一方面,本发明提供1、一种用于垃圾邮件过滤的BP神经网络的训练方法,其通过学习率来调整所述BP神经网络中每层之间的权重,其特征在于,其包括:
计算已知邮件的关键词的权重,并计算各种邮件分类所对应的目标值;
将所述已知邮件的权重输入到欲训练的BP神经网络中得到输出值;和
计算所述输出值和所述目标值的偏差,如果不符合训练结束条件,则修改BP神经网络的权重,进行下一代训练,直到输出值符合训练结束条件,其中设定预定数值代为一个阶段,每一个阶段更新一次学习率。
进一步的,BP神经网络中获取输出值和修改网络权值的具体过程为:
获取输出值的过程包括:采用一个输入层、隐藏层和输出层组成BP神经网络,输入层节点的个数等于所选用的关键词的个数,输出层的节点的个数等于最后分类的个数,所述分类为合法邮件与垃圾邮件两类;首先每一个输入点i接受到一个输入信号xi作为网络的输入,然后可计算隐藏层节点j接收到的信号为:
In ( j ) = b j + Σ i = 1 n x i w ij
其中bj为偏移量,n代表所选用的关键词的个数,wij为连接输入层上节点i与隐藏层上节点j之间的权值,隐藏层的信号经过S型激励函数:
f ( x ) = 2 ( 1 - exp ( - ( x ) ) ) - 1
之后可得输出层节点k的输出值:
y k = b k + Σ j = 1 m w jk f ( In ( j ) )
其中bk为偏移量,m为隐藏层上节点的个数,wjk为连接隐藏层上节点j与输出层上节点k之间的权值;
修改网络权值包括:如果输出值没有符合训练结束的条件,则计算输出层上输出值的平均绝对错误率:
E m = 1 2 K Σ k = 1 K ( T k - Y k ) 2
其中K代表最终邮件分类的个数,Yk和Tk分别代表输出值与目标值;利用梯度递减函数计算下一代(t+1)中所对应的权值w(t+1),具体为:
w ( t + 1 ) = w ( t ) - η ∂ E ( t ) / ∂ w ( t )
其中w(t)为BP神经网络中第t代的权值,
Figure GSA00000078176600036
Figure GSA00000078176600037
分别代表第t代的权值变化值与平均绝对错误率变化值,η为第t代所在阶段的学习率;然后反向传播,以修改各层神经元的权值,直到得到期望的输出。
进一步的,所述BP神经网络的训练结束的条件为:输出信号和目标值的最小偏差很小或训练经过500代结束。
进一步的,所述学习率η定义为:η=μ×η,其中μ为根据神经网络学习的综合效果SEffect来判定,所述μ大于0。
进一步的,所述的基于BP神经网络训练方法垃圾邮件过滤方法还包括:实时地检测并修正训练过程中的病态神经元,其具体为:
首先判定S激励函数的值满足大于等于0.9或小于等于-0.9的神经元为饱和神经元,则重新定义S激励函数为:
f ( x ) = 2 ( 1 + e - λ ( x ) - 1 )
其中,x为输入信号,λ定义为:λ(x)=-In(1/1.9-1)/(Maxf(x)-Minf(x)),其中Maxf(x)和Minf(x)分别代表最大和最小输入值;
然后判定最大和最小值满足Maxf(x)-Minf(x)≤0.2时出现神经元疲劳问题,则调整输入的偏移量bj为:
bj=bj-(Maxf(x)-Minf(x))/2
进一步的,所述综合效果SEffect定义为:
SEffect = PME × GME × CME 3
其中,CME为当前学习阶段的最小错误率,PME为上一阶段的最小错误率,GME为从当前以往所有阶段里的最小错误率。
进一步的,计算邮件中关键词权重的方法为tf-idf方法,其具体公式为:
tfidfi,j=tfi,j·idfi
其中tfi,j定义为:
t , f i , j = n i , j Σ K n k , j
这里ni,j是关键词ti在邮件di中的出现的次数,而∑knk,j则是在邮件dj中所有关键词的出现次数之和;而idfi定义为:
idf i = log | D | | { d : d ∋ t i } |
这里|D|是所有邮件的总数,而
Figure GSA00000078176600045
则是包含关键词ti的邮件总数。
进一步的,所述邮件分类的个数与目标值的个数相等,其中不同的邮件分类对应不同的目标值。
进一步的,所述用于训练BP神经网络的邮件中必须含有若干个垃圾邮件。
根据本发明的另一方面,本发明提供一种基于经过上述训练后的BP神经网络的垃圾邮件过滤方法,所述BP神经网络保留训练时用的目标值,其特征在于,其包括:计算待测试邮件的关键词的权重;将计算后的权重输入到训练后的BP神经网络中得到输出值;计算所述输出值和所述目标值的偏差,最小偏差所对应的目标值所属的类则为所述待测邮件的类;落在垃圾邮件类中的邮件则判定为垃圾邮件。
与现有技术相比,本发明根据BP神经网络学习的经验将其学习的过程分为不同的阶段,通过在每个阶段合理地定义不同的学习速率对其学习过程加以控制,同时对病态神经元进行检测与修正,有效地提高神经网络对分类结果的鲁棒性,并降低分类的时间,从而达到提高分类效率的目的,进一步地满足现代网络邮件系统对垃圾邮件过滤技术的要求。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为现有技术中垃圾邮件过滤模块图;
图2为本发明中基于鲁棒BP神经网络的垃圾邮件过滤方法流程图;
图3为本发明中BP神经网络结构的一个实施例的示意图;
图4为本发明中BP神经网络的训练的流程图;
图5为本发明中学习进步的情况下计算学习率的参数μ值的取值表;
图6为本发明中学习退步的情况下计算学习率的参数μ值的取值表;
图7为本发明中本地最优的情况下计算学习率的参数μ值的取值表;和
图8为一个实施例中获得垃圾邮件的精确率的对比示意图。
【具体实施方式】
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法和程序已经容易理解,因此它们并未被详细描述。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
本发明提供了一种垃圾邮件过滤方法,其主要采用基于鲁棒BP神经网络对垃圾邮件进行过滤。基于BP神经网络对垃圾邮件进行过滤的特点在于:利用已知所属邮件分类的一系列(如200个)邮件(其中包含一部分垃圾邮件)来训练BP神经网络,这里已知所属邮件分类是垃圾邮件类、正常邮件类,也就是说,对于已知邮件分类的一系列邮件来训练BP神经网络,以使得其可以识别其他邮件所属的邮件类。其具体为:计算已知所述邮件分类的邮件中关键词权重以输入BP神经网络并对神经网络中每一代的学习率进行微调,使得每一代中的权值通过学习率进行调整,最后获得一个调整后的BP神经网络以用来过滤垃圾邮件。
区别于现有技术中基于BP神经网络对垃圾邮件进行过滤,本发明在对BP神经网络训练过程中阶段性的定义学习率,其中每个阶段包括若干代(如50代),避免了现有技术中网络的学习过度问题,加快了训练速度;并且实时地检测并修正病态神经元以提高分类的精确度,即避免了现有技术中网络陷入局部最小解的情况。最终,本发明达到提高垃圾邮件过滤精确度的目的。
下面将具体的介绍本发明中垃圾邮件过滤的过程。
图2为本发明中基于鲁棒BP神经网络的垃圾邮件过滤方法流程图。请参阅图2所示,基于鲁棒BP神经网络的垃圾邮件过滤方法包括:
步骤220,对用于训练的邮件进行预处理,即通过tf-idf方法来统计已知所属邮件分类的邮件中的关键词的权重,计算进行训练的邮件所属的邮件类所对应的目标值(tf-idf统计方法将在下面的一个示例中详细描述)。
步骤240,对BP神经网络进行训练,将上述统计出来的关键词对应的权重作为输入信号输入到BP神经网络的输入层以对其进行训练,设定预定数值代为一个阶段,每个阶段更新一次学习率,根据学习率来更新下一代的权值以对其训练过程进行控制,这里的代指的是从BP神经网络的输入层开始到输出层结束为一个代,也就是说,每一次正向传播为一代;实时地检测并修正训练过程中产生的病态神经元;计算BP神经网络训练的输出值和所述目标值的偏差,判断最小偏差对应的目标值所在的邮件类是否为该邮件所属的邮件类,若不是则返回继续更新权值进行训练,否则将邮件划分到最小偏差对应的目标值所在的邮件类中,训练过程结束(其具体的训练以及检测和修正方法将在下面的一个示例中详细描述)。
为了更清楚的理解基于鲁棒BP神经网络的垃圾邮件过滤方法,下面将详细讲述上述步骤的一些示例。
步骤220中统计邮件中关键词的权重是通过tf-idf方法来计算的。由于基于内容的垃圾邮件过滤中,原始提取得到的关键词种类非常庞大,导致计算量很大,在这些关键词中,有些对区分正常邮件和垃圾邮件所起到的作用非常小,所以这里选用广泛使用的tf-idf公式,其具体为:
tfidfi,j=tfi,j·idfi                    (1)
其中tfi,j定义为:
tf i , j = n i , j Σ K n , j - - - ( 2 )
这里ni,j是关键词ti在邮件dj中的出现次数,而分母则是在邮件dj中所有关键词的出现次数之和;而idfi定义为:
idf i = log | D | | { d : d ∋ t i } | - - - ( 3 )
这里|D|是所有邮件的总数,而分母则是包含关键词ti的邮件总数。
从上可知,某一个特定的邮件内的高词频关键词以及在整个邮件集合中的低文件频率关键词可以产生出高权重的tf-idf,因此,tf-idf倾向于过滤掉常见的关键词,保留重要的关键词。
在一个具体的实施例中,假如一个邮件中的关键词数是100个,而词语“队列”出现了4次,那么“队列”一词在该文件中的词频为0.04(即4/100);如果“队列”一词在10000份邮件中出现过,而文件总数为100000000份,则其逆向文件频率就是9.21(ln(100000000/10000)),最后的tf-idf的数值为0.37(0.04*9.21)。
于是根据上述统计方法可以统计出当前邮件中高权重关键词的权重,然后选取一个BP神经网络,将上述得到的关键词的权重作为BP神经网络的输入层上的输入信号输入。下面通过一个具体的实施例来详细描述步骤240,即BP神经网络的训练过程。
图3为本发明中BP神经网络结构的一个实施例的示意图。请参阅图3所示,这里选取一个最基本的三层BP神经网络,其包括一个输入层、一个输出层,以及它们之间的一个或多个隐藏层。其中,输入层上的输入信号Xi为上述步骤220获得的邮件中高权重的关键词的权重,Zj为隐藏层上神经元的值,Yk为输出层上神经元的值即BP神经网络的输出值,Tk为预设的不同的邮件类所对应的不同的目标值,bj为计算隐藏层上神经元Zj时的偏移量,bk为计算输出层上神经元Yk时的偏移量,wij为输入层与隐藏层之间的权值,wjk为隐藏层与输出层之间的权值。这里,其上述偏移量bj、bk和最初权值wij、wjk均在BP神经网络建立时已经进行了初始化。在具体示例中,输出层上神经元的个数与目标值的个数相等,也就是说输出层上神经元的个数等于邮件类的个数。
图4为本发明中BP神经网络的训练的流程图。请参阅图4所示,BP神经网络的训练过程240包括:
步骤2401,初始化,即对BP神经网络进行初始化,也就是对图3中示出的BP神经网络的偏移量bj、bk和权值wij、wjk进行初始化。
步骤2402,给定输入信号和目标值,即将所述步骤220得到的关键词的权重输入到BP神经网络的输入层上,并给定预定的邮件类对应的目标值Tk
步骤2403,求隐藏层、输出层各神经元的值,其具体为:
首先,隐藏层上神经元j接收到的信号In(j)为:
In ( j ) = b j + Σ i = 1 n x i w ij - - - ( 4 )
其中n为关键词的个数,之后,隐藏层的信号经过一个S激励函数(BipolarSigmoid)f(x):
f ( x ) = 2 ( 1 - exp ( - x ) ) - 1 - - - ( 5 )
于是可得输出层的输出信号:
Y k = b k + Σ j = 1 m w jk f ( In ( j ) ) - - - ( 6 )
其中m为隐藏层上的神经元的个数。
步骤2404,求目标值与实际输出的偏差,即求出式(6)得到的输出信号与步骤2402设定好的目标值的偏差,在计算偏差的时候,要计算其中任意一个输出信号与所对应的目标值之间的偏差。
步骤2405,判断偏差是否满足结束条件,若上述所得偏差达到预期的值,这时训练过程结束,或者经历了500代之后则训练过程结束。一般的,在实际训练过程中,所述预期的值很小。
步骤2406,根据步骤2405中判断偏差满足结束条件后则划分该邮件到所对应的目标值所在的邮件类中。在一个示例中,假设所对应的目标值为垃圾邮件类,则将该邮件划分到垃圾邮件类中。
步骤2407,更新权值,也就是反向传播,即通过当前代的权值w(t)来计算下一代(t+1)的权值w(t+1),这里利用梯度递减函数来更新权值,其具体函数定义为:
w ( t + 1 ) = w ( t ) - η ∂ E ( t ) / ∂ w ( t ) - - - ( 7 )
其中,
Figure GSA00000078176600092
分别代表第t代(epoch)的平均绝对错误率变化值与权值变化值,其中t代表当前的代数(epoch),η代表学习率。这里
Figure GSA00000078176600094
而E(t)为平均绝对错误率,其定义为:
E m = 1 2 K Σ k = 1 K ( T k - Y k ) 2 - - - ( 8 )
其中,K代表最终输出值的个数(即目标值的个数),Yk和Tk分别代表输出值和与Yk对应偏差最小时的目标值;而
Figure GSA00000078176600096
在一个具体的示例中,若第t-1代的权值wij(t-1)=1.6,wjk(t-1)=2.7,第t-1代的平均绝对错误率E(t-1)=0.2;第t代的权值wij(t)=1.5,wjk(t)=2.5,第t代的平均绝对错误率E(t)=0.4,第t代的学习率η=0.05;通过式(7)的计算,分别可得第t+1代的对应的权值wij(t+1)=1.4,wjk(t+1)=2.45。
下面来讲述一下上述式(7)中的学习率η的计算。
传统的BP神经网络的训练过程中是利用简单的数学函数或模型对每代(epochs)的学习速率进行微量的调整,容易造成网络学习过度的问题。本发明根据BP网络学习的效果设定预定数值代(Length of Learning Phase LLP=50epochs)为一个阶段,每个阶段更新一次学习率,这样在每预定数值代就会对学习率进行调整,也就是在每个阶段对学习率进行调整,而每个阶段的学习率是根据神经网络的综合效果决定的。
在BP神经网络进行学习的过程中,本发明记录当前学习阶段的最小错误率CME,上一阶段的最小错误率PME,以及从在以往所有阶段里的最小错误率GME,那么神经网络学习的综合效果SEffect定义为:
SEffect = PME × GME × CME 3 - - - ( 9 )
因此,在下一个阶段(50epochs)的学习率η定义为:
η=μ×η                        (10)
其中,参数μ所对应的取值见图5、图6和图7。
图5为本发明中学习进步的情况下计算学习率的参数μ值的取值表。请参阅图5所示,如果当前的学习效果是较小的进步,那么陪训过程保持在一个相对平滑的区域,于是定义一个很大的μ值使其跳出该平滑区域,达到在下一个阶段加快学习速度的目的,如果当前的学习效果是较大的进步,那么网络处于一个良好的状态下,于是定义一个比较大的μ值以提高下一阶段的学习率。因此综合效果SEffect落在该所述范围内,均有对应的参数μ对学习率进行控制。
图6为本发明中学习退步的情况下计算学习率的参数μ值的取值表。请参阅图6所示,如果当前的学习效果是退步的,那么定义一个较小的μ值以防止学习效果的继续退步。因此综合效果SEffect落在该所述范围内,均有对应的参数μ对学习率进行控制。
图7为本发明中局部最优的情况下计算学习率的参数μ值的取值表。请参阅图7所示,如果陪训过程陷入局部最优时,学习的速度将会非常地慢,于是定义一个非常大的μ值,使得陪训过程跳出局部最优。因此综合效果SEffect落在该所述范围内,均有对应的参数μ对学习率进行控制。
这样经过上述步骤2407对权值更新后则返回步骤2403开始进行下一代的训练。
然而由于神经网络在学习的过程中会产生很多病态的神经元,仅仅通过上述训练过程对于最后结构的精确度还是远远不够的,而有效的检测与修正病态神经元能加快其训练速度,并避免网络陷入局部最小解。本发明根据病态神经元产生的原因,将其分成过饱神经元与疲劳神经元两类。
一方面,针对神经元过饱问题,如果网络的输入值太大或太小,将会造成BP神经网络的输出值接近-1或1,导致BP网络的错误率接近0,从而使得神经元产生过饱的问题。本发明通过对Bipolar Sigmoid激励函数的斜率进行优化,以控制神经元输出值范围,线性归整输出值大小,对过饱神经元进行修正,也就是说,当原Bipolar Sigmoid激励函数的输出值满足
f(x)≥0.9 or f(x)≤-0.9                    (11)
将会导致神经元过饱的问题。那么,可将Bipolar Sigmoid激励函数重新定义为:
f ( x ) = 2 ( 1 + e - λ ( x ) - 1 ) , - - - ( 12 )
其中λ用来控制Bipolar Sigmoid激励函数的斜率,λ定义为:
λ(x)=-In(1/1.9-1)/(Maxf(x)-Minf(x))            (13)
其中Maxf(x)和Minf(x)分别代表最大和最小输入值。这样就可以将BipolarSigmoid函数的值域控制在(-0.9  0.9)的范围内,有效地避免了神经元过饱问题的出现。
另一方面,如果神经元总是重复地处理相似的模式,那么它的反应将会变得迟钝,最终导致神经元疲劳。针对神经元的疲劳问题,本发明通过均匀地归整BP网络的输入权重,修正疲劳的神经元,以加强BP网络的学习能力,进一步提高网络的鲁棒性。也就是说,当最大与最小输入值满足:
Maxf(x)-Minf(x)≤0.2                (14)
将会出现神经元疲劳的问题。那么,输入的偏移量bj将调整为:
bj=bj-(Maxf(x)-Minf(x))/2            (15)
这样通过上述对病态神经元的检测和修正最终使得训练的邮件划分到其应该所属的类中,从而可以得到训练后的BP神经网络,即其偏移量和所有权值都有了最优的结果。
通过上述过程则会获得一个训练后的BP神经网络,下面则对待测试的邮件进行判定,将邮件服务器中接收的大量的邮件通过所述训练后的BP神经网络进行测试,则邮件最终通过判断将会落到不同的类中,对于落到垃圾邮件类中的邮件则为垃圾邮件,从而实现了垃圾邮件的过滤。
为了评价垃圾邮件过滤系统的有效性,实验采用标准PU邮件文集对该系统进行检测。PU文集包括四个子集:PU1,PU2,PU3和PUA,每个子集又包括10个部分:part1,part2,...,part10。其中每个part都包含了合法邮件与垃圾邮件,这里采用10个parts进行实验,每次选用其中任意9个parts进行培训,剩下的一个part进行测试,进行测试的part用十字交叉法对邮件进行混合,实验结果分为合法邮件和垃圾邮件两个类。垃圾邮件过滤方法采用垃圾邮件精确率(accuracy)来检测,精确率定义为:
A cc = n L → L + n S → S N L + N S - - - ( 16 )
其中,nL->L和nS->S分别代表所测试的邮件中被正确地划分到合法邮件类别中或垃圾邮件类别中的邮件数量,NL和NS分别代表所测试的邮件中包含的合法邮件和垃圾邮件的数量。在实验中,为了看到本发明产生的较好的效果,这里也利用了感知学习神经网络(PLNN)的邮件分类进行测试。其测试结果可见图8,图8为一个实施例中获得垃圾邮件的精确率的对比示意图。从图8中可以看出通过本发明中基于鲁棒BP神经网络(RBPNN)的垃圾邮件过滤方法在四个子集中的精确率均比通过感知学习神经网络的邮件分类的结果高。
需要指出的是,对于上述对BP神经网络的训练过程和对垃圾邮件进行过滤的过程均可以通过软件、硬件或软硬件结合来实现,这也是所述领域的普通技术人员都能够实现的,所以就不再详细描述。
综上所述,本发明将神经网络训练过程分为不同的阶段,每个阶段包含若干代,并对每个阶段进行学习率的调整,有效地避免学习的盲目性、简单机理的重复性以及学习的过渡性问题,从而加快训练的梯度。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。

Claims (10)

1.一种BP神经网络的训练方法,其通过学习率来调整所述BP神经网络中每层之间的权重,其特征在于,其包括:
计算已知邮件的关键词的权重,并计算各种邮件分类所对应的目标值;
将所述已知邮件的权重输入到欲训练的BP神经网络中得到输出值;和
计算所述输出值和所述目标值的偏差,如果不符合训练结束条件,则修改BP神经网络的权重,进行下一代训练,直到输出值符合训练结束条件,其中设定预定数值代为一个阶段,每一个阶段更新一次学习率。
2.根据权利要求1所述的BP神经网络的训练方法,其特征在于:BP神经网络中获取输出值和修改网络权值的具体过程为:
获取输出值的过程包括:采用一个输入层、隐藏层和输出层组成BP神经网络,输入层节点的个数等于所选用的关键词的个数,输出层的节点的个数等于最后分类的个数,所述分类为合法邮件与垃圾邮件两类;首先每一个输入点i接受到一个输入信号xi作为网络的输入,然后可计算隐藏层节点j接收到的信号为:
In ( j ) = b j + Σ i = 1 n x i w ij
其中bj为偏移量,n代表所选用的关键词的个数,wij为连接输入层上节点i与隐藏层上节点j之间的权值,隐藏层的信号经过S型激励函数:
f ( x ) = 2 ( 1 - exp ( - x ) ) - 1
之后可得输出层节点k的输出值:
y k = b k + Σ j = 1 m w jk f ( In ( j ) )
其中bk为偏移量,m为隐藏层上节点的个数,wjk为连接隐藏层上节点j与输出层上节点k之间的权值;
修改网络权值包括:如果输出值没有符合训练结束的条件,则计算输出层上输出值的平均绝对错误率:
E m = 1 2 K Σ k = 1 K ( T k - Y k ) 2
其中K代表最终邮件分类的个数,Yk和Tk分别代表输出值与目标值;利用梯度递减函数计算下一代(t+1)中所对应的权值w(t+1),具体为:
w ( t + 1 ) = w ( t ) - η ∂ E ( t ) / ∂ w ( t )
其中w(t)为BP神经网络中第t代的权值,
Figure FSA00000078176500022
Figure FSA00000078176500023
分别代表第t代的权值变化值与平均绝对错误率变化值,η为第t代所在阶段的学习率;然后反向传播,以修改各层神经元的权值,直到得到期望的输出。
3.根据权利要求1或2所述的BP神经网络的训练方法,其特征在于:所述BP神经网络的训练结束的条件为:输出信号和目标值的最小偏差很小或训练经过500代结束。
4.根据权利要求2所述的BP神经网络的训练方法,其特征在于:所述学习率η定义为:η=μ×η,其中μ为根据神经网络学习的综合效果SEffect来判定,所述μ大于0。
5.根据权利要求2所述的BP神经网络的训练方法,其特征在于:所述的基于BP神经网络训练方法垃圾邮件过滤方法还包括:实时地检测并修正训练过程中的病态神经元,其具体为:
首先判定S激励函数的值满足大于等于0.9或小于等于-0.9的神经元为饱和神经元,则重新定义S激励函数为:
f ( x ) = 2 ( 1 + e - λ ( x ) - 1 )
其中,x为输入信号,λ定义为:λ(x)=-In(1/1.9-1)/(Maxf(x)-Minf(x)),其中Maxf(x)和Minf(x)分别代表最大和最小输入值;
然后判定最大和最小值满足Maxf(x)-Minf(x)≤0.2时出现神经元疲劳问题,则调整输入的偏移量bj为:
bj=bj-(Maxf(x)-Minf(x))/2
6.根据权利要求5所述的BP神经网络的训练方法,其特征在于:所述综合效果SEffect定义为:
SEffect = PME × GME × CME 3
其中,CME为当前学习阶段的最小错误率,PME为上一阶段的最小错误率,GME为从当前以往所有阶段里的最小错误率。
7.根据权利要求1所述的BP神经网络的训练方法,其特征在于:计算邮件中关键词权重的方法为tf-idf方法,其具体公式为:
tfidfi,j=tfi,j·idfi
其中tfi,j定义为:
tf i , j = n i , j Σ K n k , j
这里ni,j是关键词ti在邮件dj中的出现的次数,而∑knk,j则是在邮件dj中所有关键词的出现次数之和;而idfi定义为:
idf i = log | D | | { d : d ∋ t i } |
这里|D|是所有邮件的总数,而则是包含关键词ti的邮件总数。
8.根据权利要求1所述的BP神经网络的训练方法,其特征在于:所述邮件分类的个数与目标值的个数相等,其中不同的邮件分类对应不同的目标值。
9.根据权利要求1所述的BP神经网络的训练方法,其特征在于:所述用于训练BP神经网络的邮件中必须含有若干个垃圾邮件。
10.一种基于权利要求1中训练后的BP神经网络的垃圾邮件过滤方法,所述BP神经网络保留训练时用的目标值,其特征在于,其包括:
计算待测试邮件的关键词的权重;
将计算后的权重输入到训练后的BP神经网络中得到输出值;
计算所述输出值和所述目标值的偏差,最小偏差所对应的目标值所属的类则为所述待测邮件的类;和
落在垃圾邮件类中的邮件则判定为垃圾邮件。
CN2010101441893A 2010-04-12 2010-04-12 神经网络训练方法及采用该方法的垃圾邮件过滤方法 Pending CN102214320A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101441893A CN102214320A (zh) 2010-04-12 2010-04-12 神经网络训练方法及采用该方法的垃圾邮件过滤方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101441893A CN102214320A (zh) 2010-04-12 2010-04-12 神经网络训练方法及采用该方法的垃圾邮件过滤方法

Publications (1)

Publication Number Publication Date
CN102214320A true CN102214320A (zh) 2011-10-12

Family

ID=44745618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101441893A Pending CN102214320A (zh) 2010-04-12 2010-04-12 神经网络训练方法及采用该方法的垃圾邮件过滤方法

Country Status (1)

Country Link
CN (1) CN102214320A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473218A (zh) * 2013-09-04 2013-12-25 盈世信息科技(北京)有限公司 一种电子邮件分类方法及其装置
CN104134091A (zh) * 2014-07-25 2014-11-05 海信集团有限公司 一种神经网络训练方法
CN104573142A (zh) * 2013-10-10 2015-04-29 无锡市思库瑞科技信息有限公司 基于神经网络的口令属性分析方法
CN104751263A (zh) * 2013-12-31 2015-07-01 南京理工大学常熟研究院有限公司 面向计量检定业务的客户等级智能分类方法
CN105637540A (zh) * 2013-10-08 2016-06-01 谷歌公司 用于强化学习的方法和设备
CN107786416A (zh) * 2016-08-25 2018-03-09 腾讯科技(深圳)有限公司 信息处理方法及装置
CN108460453A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 一种用于ctc训练的数据处理方法、装置及系统
CN108763449A (zh) * 2018-05-28 2018-11-06 华南理工大学 一种垃圾邮件过滤的中文关键词规则生成方法
CN109388138A (zh) * 2017-08-08 2019-02-26 株式会社万都 基于深度学习的自动驾驶车辆、自动驾驶控制装置及自动驾驶控制方法
CN109410041A (zh) * 2017-08-17 2019-03-01 香港智能金融科技有限公司 一种由数据驱动的高维度交易员评估方法和系统
CN110149266A (zh) * 2018-07-19 2019-08-20 腾讯科技(北京)有限公司 垃圾邮件识别方法及装置
CN110941705A (zh) * 2018-09-20 2020-03-31 阿里巴巴集团控股有限公司 干扰信息去除方法、去干扰模型组件及垃圾文本识别系统
CN113630302A (zh) * 2020-05-09 2021-11-09 阿里巴巴集团控股有限公司 一种垃圾邮件识别方法及装置、计算机可读存储介质
CN115204352A (zh) * 2021-04-12 2022-10-18 洼田望 信息处理装置、信息处理方法和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758248A (zh) * 2004-10-05 2006-04-12 微软公司 用于提供个性化搜索和信息访问的系统、方法和接口
CN1960369A (zh) * 2005-11-02 2007-05-09 董孝峰 模拟生物神经网络保护互联网安全的方法及系统
CN101069175A (zh) * 2003-10-03 2007-11-07 考维枸有限公司 动态消息过滤

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069175A (zh) * 2003-10-03 2007-11-07 考维枸有限公司 动态消息过滤
CN1758248A (zh) * 2004-10-05 2006-04-12 微软公司 用于提供个性化搜索和信息访问的系统、方法和接口
CN1960369A (zh) * 2005-11-02 2007-05-09 董孝峰 模拟生物神经网络保护互联网安全的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宁静: ""基于数据挖掘的中文垃圾邮件过滤技术研究"", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》, 15 November 2006 (2006-11-15), pages 4 - 6 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473218A (zh) * 2013-09-04 2013-12-25 盈世信息科技(北京)有限公司 一种电子邮件分类方法及其装置
CN103473218B (zh) * 2013-09-04 2016-08-17 盈世信息科技(北京)有限公司 一种电子邮件分类方法及其装置
CN105637540A (zh) * 2013-10-08 2016-06-01 谷歌公司 用于强化学习的方法和设备
CN104573142A (zh) * 2013-10-10 2015-04-29 无锡市思库瑞科技信息有限公司 基于神经网络的口令属性分析方法
CN104751263A (zh) * 2013-12-31 2015-07-01 南京理工大学常熟研究院有限公司 面向计量检定业务的客户等级智能分类方法
CN104134091A (zh) * 2014-07-25 2014-11-05 海信集团有限公司 一种神经网络训练方法
CN104134091B (zh) * 2014-07-25 2017-01-18 海信集团有限公司 一种神经网络训练方法
CN107786416A (zh) * 2016-08-25 2018-03-09 腾讯科技(深圳)有限公司 信息处理方法及装置
CN108460453A (zh) * 2017-02-21 2018-08-28 阿里巴巴集团控股有限公司 一种用于ctc训练的数据处理方法、装置及系统
CN109388138A (zh) * 2017-08-08 2019-02-26 株式会社万都 基于深度学习的自动驾驶车辆、自动驾驶控制装置及自动驾驶控制方法
CN109388138B (zh) * 2017-08-08 2024-05-14 汉拿科锐动电子股份公司 基于深度学习的自动驾驶车辆、自动驾驶控制装置及自动驾驶控制方法
CN109410041A (zh) * 2017-08-17 2019-03-01 香港智能金融科技有限公司 一种由数据驱动的高维度交易员评估方法和系统
CN108763449A (zh) * 2018-05-28 2018-11-06 华南理工大学 一种垃圾邮件过滤的中文关键词规则生成方法
CN110149266A (zh) * 2018-07-19 2019-08-20 腾讯科技(北京)有限公司 垃圾邮件识别方法及装置
CN110149266B (zh) * 2018-07-19 2022-06-24 腾讯科技(北京)有限公司 垃圾邮件识别方法及装置
CN110941705A (zh) * 2018-09-20 2020-03-31 阿里巴巴集团控股有限公司 干扰信息去除方法、去干扰模型组件及垃圾文本识别系统
CN110941705B (zh) * 2018-09-20 2023-04-07 阿里巴巴集团控股有限公司 干扰信息去除方法、去干扰模型组件及垃圾文本识别系统
CN113630302A (zh) * 2020-05-09 2021-11-09 阿里巴巴集团控股有限公司 一种垃圾邮件识别方法及装置、计算机可读存储介质
CN113630302B (zh) * 2020-05-09 2023-07-11 阿里巴巴集团控股有限公司 一种垃圾邮件识别方法及装置、计算机可读存储介质
CN115204352A (zh) * 2021-04-12 2022-10-18 洼田望 信息处理装置、信息处理方法和存储介质
CN115204352B (zh) * 2021-04-12 2024-03-12 洼田望 信息处理装置、信息处理方法和存储介质

Similar Documents

Publication Publication Date Title
CN102214320A (zh) 神经网络训练方法及采用该方法的垃圾邮件过滤方法
CN103166830B (zh) 一种智能选择训练样本的垃圾邮件过滤系统和方法
Schooler et al. How forgetting aids heuristic inference.
Lin et al. Dynamic sampling approach to training neural networks for multiclass imbalance classification
Hegedűs Generalized teaching dimensions and the query complexity of learning
van De Sande Properties Of The Bayesian Knowledge Tracing Model.
Maher Evaluating creativity in humans, computers, and collectively intelligent systems
CN108763237A (zh) 一种基于注意力机制的知识图谱嵌入方法
Guez Sample-based search methods for Bayes-adaptive planning
Muhlbaier et al. Multiple classifiers based incremental learning algorithm for learning in nonstationary environments
Sharpe et al. Efficient GA based techniques for classification
CN109583020A (zh) 基于逻辑混沌映射及自适应步长果蝇悬臂梁变量测定方法
Tjoa et al. Applying evolutionary algorithms to the problem of information filtering
Dam et al. Evolutionary online data mining: An investigation in a dynamic environment
Riid et al. Interpretability of fuzzy systems and its application to process control
Dazeley et al. Weighted MCRDR: deriving information about relationships between classifications in MCRDR
Carpinter Evaluating ensemble classifiers for spam filtering
Hadiyat et al. Comparing statistical feature and artificial neural networks for control chart pattern recognition: a case study
Hmida et al. A new adaptive sampling approach for Genetic Programming
Greene Simulated Evolution and Adaptive Search in Engineering Design—Experiences at the University of Cape Town
Liu et al. Impulse force based ART network with GA optimization
Neal Computing likelihood functions for high-energy physics experiments when distributions are defined by simulators with nuisance parameters
Haug Towards Reliable Machine Learning in Evolving Data Streams
CN106909799A (zh) 一种基于新型随机分形理论的动态数据挖掘方法
Butcher et al. Distributional smoothing in bayesian fault diagnosis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111012