基于核方法的贝叶斯邮件分类网络研究

第36卷 第3期 电 子 科 技 大 学 学 报 V ol.36 No.3

第36卷 第3期 电 子 科 技 大 学 学 报 V ol.36 No.3 2007年6月 Journal of University of Electronic Science and Technology of China Jun. 2007

基于核方法的贝叶斯邮件分类网络研究

刘 震 ,周明天

(电子科技大学计算机科学与工程学院 成都 610054)

【摘要】提出一种包含核函数的Bayesian 参数估计方法,提高了Bayesian 参数估计的实用性。结合邮件内容和报文格式两个方面分析和提取邮件的重要特征,建立了对应的Bayesian 邮件分类网络。将包含核函数的Bayesian 参数估计方法应用到邮件分类网络,在对不同邮件测试集的在线学习试验结果证明,这种新的分类模型能够有效地实现垃圾邮件的分类过滤。

关 键 词 Bayesian 网络; 高斯核; 参数估计; 垃圾邮件;

中图分类号 TP393 文献标识码 A

Research on Bayesian Classification Network for Spam Based on Kernel Method LIU Zhen,ZHOU Ming-tian (School of Computer Science and Engineering, University of Electronic Science and Technology of China Chengdu 610054)

Abstract A kernel function based Bayesian parameter estimation approach is proposed in this paper which is able to make the algorithm more applicable. Combined with the both sides of email content and format, a Bayesian network for spam classification is well constructed. The testing results by on-line learning for different email testing sets prove that the new model can ensure the classification and filtering efficiently by applying the kernel function based Bayesian parameter estimation approach into the classification network.

Key words Bayesian network; Gaussian kernel; parameter estimation; spam

Bayesian 参数估计作为基于统计学的不确定推要估计下一次X [m 1]的概率,可计算X 的后验理理论的一个重要研究方向,有着坚实完备的数学Bayesian 参数估计概率:

将Bayesian 参数估计引入到贝叶斯网络学习基础[1]。p (x [m 1]=k |D ) =∫θp (Θ|D )d Θ (1) 中,可以充分利用节点的先验知识作后验估计;因

然而,式(1)求解的前提需要知道概率密度函数为节点之间逻辑上的因果关系,能够提高先验的可

p (Θ|D ) 的形式,如果预先无法得到精确的概率分信度。但由于概率密度函数通常是未知的,限制了

布函数,则不能按照式(1)作概率参数学习。所以在经典Bayesian 参数估计方法的应用。本文通过引入核

实际的基于统计学习的模式分类问题中,需要研究方法,实现了对概率密度函数的近似估计,从而提

如何得到概率密度函数。先假设从概率密度函数高了Bayesian 参数估计方法的实用性。在文献[2]工

f X (x ) 提取随机样本x 1, x 2, " , x N ,一种自然的局部估作的基础上,本文根据对垃圾邮件所作的特征属性

计近似具有如下形式: 分析,构建了有监督Bayesian 网络;提出的垃圾邮件

#x ∈N (x 0) 分类过滤算法充分利用了网络所建立的节点关系来 (2) f (x 0) =λN 实现不确定特征学习,采用统计推理的方法确保了

式中 N (x 0) 是x 0周围宽度为λ的较小度量邻域。对垃圾邮件和正常邮件准确和有效的分类识别。

KNN 和最小二乘回归分析是传统的研究近似概率密1 Bayesian参数估计理论 度函数的方法,但这些方法得到的估计是起伏的[1]。

所以本文采用光滑的Parzen 估计: Bayesian 参数估计的思想是通过前m 次的先验

N 统计概率分布,估计第m 1次事件发生的概率。它ˆ(x ) =1∑K (x , x ) (3) f λ0i N λi =1通过不断地概率学习,从而不断地适应和逼近变化因为式(3)使用随x 0的距离递减的权处理邻近的概率分布。已知随机事件X 在前m 次的概率分布,

收稿日期:2005 − 03 − 07

作者简介:刘 震(1976 − ),男,博士生,主要从事智能安全、不确定推理、人工智能等方面的研究.

,

588 电 子 科 技 大 学 学 报 第36卷

x 0的观测。所以本文选择具有类似特征的高斯核K λ(x 0, x ) =φ(|x −x 0|/λ) 。设φλ表示具有均值0和标准差λ的高斯密度,则概率密度函数为:

f ˆ(x ) =1N λ∑N

φi =1

λ(x −x i

) =(F ˆφλ)(x ) (4) 利用式(4),可以直接使用贝叶斯定理进行分类。针对J 类问题,分别在类别上拟合非参数密度估计f ˆj

(x ) ,j =1,2, " , J ,以及类的先验πˆj 的估计(通常是样本的比例) ,那么边界判定式为:

Pr(ˆG =j |X =x ) =πˆj f ˆj (x 0) 0 (5) ∑J

πˆˆ(x ) k =1

j f k

02 有监督Bayesian 邮件分类网络

为了构建有监督的Bayesian 邮件分类网络,需要分析邮件的报文格式。根据RFC2822定义的Internet 邮件报文格式(Internet Message Format),一封邮件由报头域(Header Fields)和正文(Body)组成。其中报头必须存在,而正文是可选的。报头是一系列由特殊语法构成的文本行组成,正文则仅仅由字符串组成。正文和报头由一空行分隔开。

报头域是由域名(Field Name)和域体(Field Body)组成,二者以一个冒号分开。域名必须是可打印的

US-ASCII 字符,域体可以是任意的US-ASCII 字符。下面分析三个重要的报头域:

(1) 起始日期域(The Origination Date Field):

Orig-date=”Date:”date-time CRLF 这个域可以成为Bayesian 网络中一个节点的理由是因为在某些敏感日期,如节假日、病毒爆发日,

垃圾邮件容易泛滥,系统应该对这些日期提高预警。

(2) 发件人地址域(Originator Fields):

from=”From:”mailbox-listCRLF,sender=”Sender:” mailbox CRLF,reply-to= ”Reply-To:”address-list CRLF

发件人地址域包括From 域、Sender 域和Reply-to 域,它们指明了邮件的来源。Sender 域显然应该成为Bayesian 网络的一个节点,对于垃圾邮件发送者,他们的邮件地址是最直接的一个判据。

(3) 目的地址域(Destination Address Fields): to=”To:”address-list CRLF,cc=”Cc:”address-list CRLF ,bcc=”Bcc:”(address-list/[CFWS])CRLF

目的地址域由三个可选的域构成:To 域、Cc 域和Bcc 域。它们域名分别是“To ”

,“Cc ”和“Bcc ”,域体指明了邮件的收件人。通过Bc 域和Bcc 域可以作为判断垃圾邮件的一个依据。

经分析认为邮件格式中的其他域不是判断邮件

性质的必要条件,所以本文没有把它们纳入Bayesian 网络的结构中。

对邮件体的分析目前仍然集中在某些关键词出现的概率估计上,这是基于内容的过滤技术常常关注的分类特征。本文研究关键字并不是采用简单的关键词匹配技术。因为很多垃圾邮件中出现的词汇,也可能会出现在正常邮件中,所以应该用概率的方法对关键字做必要的取舍。

图1所示为根据垃圾邮件的基本特征构建的一

个Bayesian 网络。

IP 可以通过域名作反向DNS 查询来得到,这样可以有效地防止域名欺骗。由于需要通过Sender 的域名判定其IP 是否是垃圾邮件发送者IP 的概率,所以存在一根网络连线从Sender 节点指向IP 节点。关键词节点中所加省略号,表示网络中关键

词不唯一,图1只是一种省略的表示法。

由于Bayesian 网络都是Causal 图,箭头描述了节点间的因果关系。图1建立的网络涵盖了导致邮件成为垃圾邮件的主要因素。通过概率关系来描述该网络可以定量地研究邮件是垃圾邮件的可能性。

图1 基于垃圾邮件特征的完备Bayesian 网络

3 训练邮件过滤器

本文以四个邮件样本集为例,进行邮件分类器的测试实验。其中EN 、PU1、Ling-Spam 集是网络上可以下载的公共测试集[2],而CH 集是本文构建的中文邮件测试集。设输入向量定义为:X =(x date , x IP ,

x sender , x IP|sender, x bcc , x cc , x keyword 1, x keyword 2, " , x keyword n ) ,以

第2节构建的Bayesian 分类网络所描述的分类特征关系为分类依据,按照第1节引入的核函数方法对初始邮件样本集做近似的概率密度函数估计,最终可以得到Spam 类和Legal 类邮件的判定边界,

即得到集合{x |p (G =S spam |X =x ) =1/2}。图2分别展示了在四

个样本集上的判定边界。当有新的待分类邮件到达时,首先要根据Bayesian 分类网络对邮件的输入特征向量作特征值的映射,本文对所有特征值都做了归一化预处理。如果满足{x |p (G =S spam |X =x ) > 1/2},该邮件判断为垃圾邮件;如果{x |p (G =S spam |

,

第3期 刘 震 等: 基于核方法的贝叶斯邮件分类网络研究 589

X =x ) <1/2},则把该邮件判断为正常邮件;如果

正好处于边界,则将该邮件放入未知类别缓存队列,留到判定边界更新以后再作二次判断。将已分好类的邮件样本加入样本训练集,取一个适当的时间间隔更新一次判定边界。每次有新的邮件到达时,反复以上步骤,就可以实现基于有监督Bayesian 网络的在线学习和分类过滤。

Boundar Legal Spam

2量分征特0.50.40.30.2

00.20.40.60.8

1

特征分量1

a. EN 样本集

2量分征特0.50.40.30.2特征分量1

b. PU1样本集

0.9 Boundar 0.8 Legal Spam

0.7

2量0.6 分征特0.5 0.4 0.3 0.2 00.20.40.60.8

1

特征分量1

c. Ling-Spam 样本集

0.70.65Boundar Legal 0.6Spam

0.55

2量0.5分征0.45特0.40.350.3

0.250.2特征分量1

d. CH样本集

图2 在EN 、PU1、Ling-Spam 、CH 集中产生的Bayesian 判定边界

4 性能测试

在分析邮件分类网络的性能之前,需要引入误报和漏报的概念[3]。误报是指误将合法邮件判断为

垃圾邮件(Legal →Spam ) 的情况;

漏报则恰好相反,是将垃圾邮件误判为合法邮件(Spam →Legal ) 的情况。整体评价一个分类器的好坏时,需要综合看它在漏报和误报两方面的性能表现。

用户一般能够容忍把少数几封垃圾邮件误判为正常邮件的情况,但用户很难容忍一封正常邮件误判为垃圾邮件而被过滤掉,尤其对用户非常重要的邮件。针对这一实际情况,本文解决的方法是引入权值校正。权重准确率的定义式为:

W =λn L →L n S →S

Acc λN (6)

L N S 式(6)表示将一封正常邮件误判为垃圾邮件等价于将λ封垃圾邮件误判为正常邮件。换言之,如果误报和漏报的邮件一样多,那么误报对邮件过滤系统优劣评价的影响更负面。

) (/1c c A W 100

200

300

400

500

样本数600/个

700800900

1000

图3 λ=1时过滤不同邮件集的W Acc1对比图

(下转第593页)

标签: