APP下载

基于矩阵的模糊关联规则挖掘算法及其应用研究

2010-05-13林,易云飞,黄潜,覃

现代电子技术 2009年20期
关键词:入侵检测矩阵

李 林,易云飞,黄 潜,覃 俊

摘 要:针对布尔型关联规则不能表达挖掘对象中模糊信息的关联性,给出了一系列有关模糊关联规则的定义,并提出了一种基于矩阵结构的模糊关联规则数据挖掘算法(FARMBM)。该算法通过构造矩阵结构来压缩存储模糊模式候选集和频繁集,有效节约了存储模糊模式候选集和模糊模式频繁集内存花销,只需扫描数据库两遍,且可以有效减少系统的I/O开销。这里把FARMBM运用到入侵检测的仿真实验中,实验结果表明,该算法是有效的。

关键词:Apriori;矩阵;模糊关联规则;隶属函数;入侵检测

中图分类号:TP39308文献标识码:A

文章编号:1004-373X(2009)20-069-04

Study and Application of Fuzzy Association Rule Mining Based on Matrix

LI Lin1,YI Yunfei1,2,HUANG Qian1,QIN Jun1

(1.College of Computer Science,South-central University for Nationalities,Wuhan,430074,China;

2.Hechi University,Yizhou,546300,China)

Abstract:In allusion to the Boolean association rules can′t express the association of fuzzy data,a series of definitions of fuzzy association rules and mining algorithm based on matrix for fuzzy association rules are proposed.The algorithm can store fuzzy pattern candidate sets and frequent sets compressible by constructing matrix structure,which effectively saves the memory cost for storing fuzzy pattern candidate sets and frequent sets,it only scans database twice,besides it can effectively reduce the I/O spending.FARMBM is applied to the simulation results of intrusion detection,and efficiency of the algorithm is verified by the experiment.

Keywords:Apriori;matrix;fuzzy association rule;membership function;intrusion detection

0 引 言

入侵检测技术[1-3]是网络安全的核心技术之一,是网络信息系统的一种重要的动态防护手段。入侵检测技术的研究是进一步研究网络安全问题的基础,是解决网络安全问题的前提和保证。当然,网络入侵技术也在不断的发展,随着网络数据的增大,入侵的行为表现为不确定性、复杂性等特点。那么入侵检测怎么样才能做到既减小数据量,又能有效地检测到入侵。在入侵检测技术中引入数据挖掘就能有效的解决这一问题。数据挖掘技术在从大量数据中提取特征和规则方面具有很大的优势,将数据挖掘技术应用于入侵检测中,能够克服目前入侵检测技术存在的缺陷,建立一个准确性高的、易于扩展的、适应性好、伸缩性好、智能的入侵检测系统。在对关联规则深入分析的基础上,把模糊集合理论与数据挖掘技术中关联规则挖掘结合起来,提出了一种基于矩阵结构的模糊关联规则数据挖掘算法(FARMBM),并把FARMBM运用到了入侵检测技术当中。

1 关联规则的概念与算法

1.1 关联规则的概念

关联规则是当前数据挖掘研究的主要模式之一,它用于确定数据集中不同领域或属性之间的联系,找出可信的、有价值的多个域之间的依赖关系。关联规则的挖掘目标是从数据库中找出形如“由于某些事件的发生而引起另外一些事件的发生”的规则[4-10]。

定义1 设I={i1,i2,…,im}是由m个不同的数据项目组成的集合,其中的元素称为项(item),项的集合成为项集,包含k个项的项集成为k项集,给定一个事务(交易)D,即交易数据库,其中的每一个事务(交易)T是数据项I的一个子集,即T罥,T有一个惟一的标识符TID;当且仅当X罷时,称交易T包含项集X;那么关联规则就形如X軾的蕴含式;其中,X罥,Y罥,X∩Y=h,即表示满足X中条件的记录也一定满足Y。关联规则X軾在数据库中成立,就有支持度s和具有置信度c。这也就是交易数据集D中具有支持度s,即D中至少有s%的事务包含X∪Y,描述为:support(X軾)=P(X∪Y)。

同时交易数据集D中具有置信度c,即D中包含X的事务至少有c%同时也包含Y,描述为:

confidence(X軾)=P(Y|X)

大多数关联规则挖掘算法通常采用的一种策略是:将关联规则挖掘任务分解为如下两个子任务:

(1) 频繁项集产生:其目标是发现满足最小支持度阈值的所有项集,这些项集称作频繁项集(Frequent Itemset)。

(2) 规则的产生:其目标是从上一步发现的频繁项集中提取所有高置信度的规则,这些规则称强规则(Strong Rule)。

Apriori算法是挖掘产生关联规则所需频繁项集的基本算法;它也是一个很有影响的关联规则挖掘算法。Apriori 算法就是根据有关频繁项集特性的先验知识(Prior Knowledge)而命名的。该算法利用了一个层次顺序搜索的循环方法来完成频繁项集的挖掘工作。

Apriori算法[2]的基本思想是先找出所有频繁1-项集,这些项集组成L1,然后由L1产生频繁2-项集,直到有某个r值使得Lr为空,此时算法结束。从Lk-1到Lk的实现,是把Lk-1与自身连接生成候选k-项集合,记为Ck,Ck中的每一个项集是对两个只有一个项不同属于Lk-1的频集做一个(k-2)连接来产生的。Ck中的项集是用来产生频集的候选集,最后的频集Lk必须是Ck的一个子集。

由于Ck中的每个元素需在交易数据库中进行验证来决定其是否加入Lk,那么这个方法就要求多次扫描可能很大的交易数据库,即如果频集最多包含10个项,那么就需要扫描交易数据库10遍,这需要很大的I/O负载。

1.2 基于矩阵结构的关联规则数据挖掘算法

从Apriori算法的步骤可以看出,该算法有三个缺点:

(1) 在每一步产生的候选项集过多,没有排除不应参与组合的元素;

(2) 每次计算子项集的支持度时,都要进行一遍数据库扫描比较,大大增加系统的I/O开销,并且数据库有些可以删除的项或事务被多次扫描;

(3) 连接程序中相同的项重复比较太多。

针对这些缺点,采用矩阵结构改进Apriori算法,算法思想如下:

(1) 首先把所要挖掘的数据转化为矩阵结构:事务集T作为行的标记,项I作为列的标记,矩阵中每个元素对应某一事务对应某个属性的支持计数,这样每一列的和除以事务的总和,就是所有事务对这一列所对应属性的支持度。

(2) 如果某一事务中只包含一个属性,那么它不可能再包含任一个链接后的2-项集或者k-项集(k≥2),这一事务在以后统计更高阶的频繁集时不再用到,为了提高扫描速度,可以把这一事务删除,对应矩阵就是把这一行给删除。

(3) 接下来把每一列所对应属性的支持度与最小支持度minsup进行比较,如果小于minsup则把这一列删除,保留下来的就是频繁1-项集。

(4) 然后矩阵与自身进行一次连接,这样就产生了2-项集。

(5)接着重复做步骤(2)~(4),直到矩阵为空或只剩一列,这时候已经找到所有支持度大于最小支持度的项集,即频集,算法结束。

可以看出,此算法可以有效地减小事务集以及属性集,这就避免了数据库有些可以删除的项或事务被多次扫描。同时解决了连接程序中相同的项重复比较太多的问题。

2 基于矩阵结构的模糊关联规则数据挖掘算法

2.1 模糊关联规则

用于入侵检测技术[2,3]的关联规则挖掘,需要考虑网络数据特有的特点,否则会产生很多无用的规则。由于关联规则数据挖掘通常只能对离散值进行处理,在数据预处理中要将连续属性域划分为若干离散区间,这就导致了所谓的“尖锐边界”(Sharp Boundary)问题。这就引出了关联规则数据挖掘存在两个缺陷:

(1) 关联规则直接依赖于审计记录,与审计记录具有一一对应的关系,缺少灵活性。

(2) 属性值的微小变化将会引起分类上的突变。比如:设定TCP包在区间[0.5,0.9]是挖掘出某一属性的正常模式,那么如果TCP包是0.900 001,就会判断为异常,也就是说某个行为如果与表示正常模式的区间稍有偏差,会被判为异常。那么,入侵行为如稍有一些变化而落入区间内,就不会被检测出来。

这里采用属性论域上的模糊集来软化边界。这是因为模糊集可以在集合元素和非集合元素之间提供平滑的过渡[4,5]。

定义2 数据集D={t1,t2,…,tk,…,tn},I={i1,i2,…,im}为m个不同的数据项目组成的集合,要发现的模糊关联规则是形如的蕴涵式。其中,X={x1,x2,…,xn},Y={y1,y2,…,yn}且X∩Y=h,A={fx1,fx2,…,fxp},B={fy1,fy2,…,fyq}分别是与X,Y中属性相应的模糊集集合。

则支持度描述为:

support()=∑∈D(∧xj∈

X{αaj(di[xj])}/|D|

其中,αaj(di[xj])为di的隶属度。

置信度[6]描述为:

confidence()=support

A∪B>/support

由关联规则挖掘所产生的规则集,其模式是准确的,而在入侵检测系统中,对于规则集的建立,往往更偏重于语义的,而不是非常准确的区间描述,比如采用数据包传输的大与小,由TCP协议传输的数据包所占比例的高与低来描述网络传输数据的性质,要比用精确的区间如用[100,110)来描述更符合实际处理的需要。因此,将模糊关联规则应用于入侵检测系统中,更符合入侵检测的数据处理模式,使得规则集的建立更趋于准确降低了规则集建立的疏漏和误判。为此,把模糊集合理论与关联规则挖掘结合起来,提出基于矩阵结构的模糊关联规则数据挖掘算法(Fuzzy Association Rule Mining Base on Matrix,FARMBM)。

2.2 算法的描述

FARMBM算法与基于矩阵结构的关联规则数据挖掘算法基本相似,只有一点不同就是首先需要将挖掘的数据通过隶属函数转化为模糊数据集后再进行挖掘。具体算法如下:

算法:FARMBM

输入:模糊数据集D、最小支持度minsup;

输出:模糊关联规则集。

方法:

初始化矩阵行和列数:countrow和countcol;

初始化矩阵:

double[,] arraya;//使用一个二维数组存放矩阵

double[] tempa;//使用一个一维数组存放每个属性的支持度

String[,]strArr;//使用一个字符串数组来存放各个属性

While(countcol>1);//矩阵至少大于一列

for(int i=0;i

{for(int k=0;k

if(arraya[i,k]!=0)

num++;

if(num<2) Delete Ti;//删除行

for(int k=0;k

{ for(int i=0;i

tempa[k]=tempa[k]+arraya[i,k];}

//把各个属性的隶属度相加,得出各个属性的支持度

if(tempa[k]

if(arraya[m,countrol-1]!= arraya[n,countrol-1])

for(w=countrol-1;w>=0;w--)

if(arraya[m,w]== arraya[n,w])

TstrArr[i]= arraya[m,w]+arraya[n,w];

for(int f=0;f

{c++;

if(c==count){e++;c=e+1;}

for(int i=0;i

arrayb[i,f]=arraya[i,e]*arraya[i,c];}

//如果第m列与第n列中除了最后一个频繁项不同,其余的都相同,则组成一个新的频繁项,这两列各元素相乘;接着对arrayb做删除行和删除列,自身连接,直到矩阵为空或只剩一列,算法结束

3 基于FARMBM的入侵检测技术

3.1 实验环境

操作系统:Microsoft Windows XP Professional,CPU;Pentium (R) 2.40 GHz;内存:256 MB;开发平台:Microsoft Visual Studio.Net 2003;编程语言:C#。

3.2 实验方法

首先选择与网络流量相关的4个属性:TCP和UDP包在全部数据包中的比例PTCP和PUDP,网络中每秒的平均数据包数量Avg.Packet/s 以及每秒平均数据位Avg.Mb/s。

利用Wincap抓取网络数据,将它们划分为High和Low如表1所示的两个模糊集,PTCP,PUDP,Avg.Packet/s以及Avg.Mb/s的隶属函数如图1所示。

表1 模糊集

TID

PTCPPUDPAvg.PacketAvg.Mb

ABCDEFGH

T100.881000.6301

T200.920.91000.7500.92

T300.56100101

T400.920100.7300.86

T500.870.5300.89010

T60000.500.6101

T7010.56000.9301

T810100100.91

T90.730100.63010

T100.910100100.83

图1 隶属函数

High:

μA(X)=0, x

(x-a)/(b-a),a≤x≤b

1,x>b

Low:

μA(X)=1, x

(b-x)/(b-a),a≤x≤b

0,x>b

为了在数组中便于表示,采用如下表示方法:

A:Ptcp Low,B:Ptcp High,C:Pudp Low,D:Pudp High,E:Avg.Packet/s High,F:Avg.Packet/s Low G:Avg.Mb/s Low,H:Avg.Mb/s High。

运行FARMBM程序,对表1数据经行挖掘:最小支持度minsup设定为0.25。首先产生频繁1-项集。频繁1-项集自身连接,经过删除行和列,产生频繁2-项集。最后产生频繁3-项集。于是,可以发现以下关联规则:

R1:B:PtcpHigh,F:Avg.Packet/s Low→H:Avg.Mb/s High

支持度为:28.4%,可信度为:2.839 11/3.397 2=83.57%

R2:C:PUDP Low,F:Avg.Packet/s Low→H:Avg.Mb/s High

支持度为:42.2%,可信度:4.223 037/4.832 3=87.39%

这些规则揭示了网络各数据属性的潜在关系,比如:在高TCP,低每秒的平均数据包数量的时候,有83.57%的可能产生高每秒平均数据位;在低UDP,低每秒的平均数据包数量的时候,有87.39%的可能产生高每秒平均数据位。这些规则对网络数据流量的监控与判断检测异常是非常有用的。FARMBM算法与Apriori算法时间消耗的比较如图2所示。

图2 FARMBM算法与Apriori算法时间消耗的比较

4 结 语

数据挖掘技术是一种处理大量数据的复杂过程,它为入侵检测提供了新的方法,为入侵检测的发展注入了强大的动力。模糊集合理论与数据挖掘技术中关联规则挖掘的结合为入侵检测技术提供了更有效的方法。在此提出FARMBM算法,给出算法的描述,并以实例进行了分析与验证。实验表明,改进后的算法用于入侵检测技术中是可行的,有效的。

参考文献

[1]Li Tianrui,Pan Wuming.Intrusion Detection System Based on New Association Rule Mining Model[A].Granular Computing,2005 IEEE International Conference[C].2005,2:512-515.

[2]覃俊,易云飞,李林.改进k均值聚类算法在网络入侵检测中的应用研究[J].中南民族大学学报:自然科学版,2008,27(9):75-78.

[3]谷保平,许孝元,郭红艳.基于粒子群优化的k均值算法在网络入侵检测中的应用[J].计算机应用,2007,27(6):1 368-1 370.

[4]Han Jiawei,Kamber M.Data Mining:Concepts and Techniques[M].China Machine Press,2007.

[5]Ji Lei,Zhang Baowen,Li Jianhua.A New Improvement on Apriori Algorithm[A].2006 International Conference on Computational Intelligence and Security[C].2006,1:840-844.

[6]Kuok C,Fu A,Wong M.Mining Fuzzy Association Rules in Databases[J].ACM SIGMOD Record,1998,27(1):41-46.

[7]Agarwal R,Aggrawal C,Prasad V V V.A Tree Projection Algorithm for Generation of Frequent Itemsets[J].Journal of Parallel and Distributed Computing,2000:427-434.

[8]Holt J D,Chung S M.Mining Association Rules in Text Databases Using Multipass with Inverted Hashing and Pruning Tools with Artificial Intelligence[A].ICTAI[C].2002:49-56.

[9]Ayouni S,Ben Yahia S.Extracting Compact and Information Lossless Set of Fuzzy Association Rules[A].Fuzzy Systems Conference[C].2007:1-6.

[10]朱天清,熊平.模糊关联规则挖掘及其算法研究[J].武汉工业学院学报,2005,24(1):24-28.

[11]朱烨,叶高英.关联规则挖掘Apriori算法的改进[J].现代电子技术,2008,31(18):78-80.

猜你喜欢

入侵检测矩阵
关于矩阵奇异值分解的注记
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
初等行变换与初等列变换并用求逆矩阵
基于Φ—OTDR的分布式入侵检测系统的应用综述
矩阵
矩阵
矩阵
非首一矩阵多项式的解