五一七教育网
您的当前位置:首页一种改进的K—means算法在异常检测中的应用

一种改进的K—means算法在异常检测中的应用

来源:五一七教育网
第29卷第5期 重庆理工大学学报(自然科学) 2015年5月 VolI 29 No.5 Journal of Chongqing University of Technology(Natural Science) Mav 2015 doi:10.3969/j.issn.1674-8425(Z).2015.05.012 一种改进的K—means算法在异常检测中的应用 陈庄,罗告成 (重庆理工大学计算机科学与工程学院,重庆400054) 摘 要:为提高K-means聚类算法在异常检测中的效果,给出一种改进的K.means聚类算 法。基于最大距离选取初始聚类中心,并引入信息熵计算各个属性的权重,用改进后的加权欧 氏距离公式计算数据集中样本点间的距离。选取KDD CUP99数据集测试算法的性能。实验结 果表明,本算法有助于提高异常检测的检测率和降低误报率。 关键词:异常检测;数据挖掘;K-mean聚类算法;初始聚类中心;加权欧式距离 中图分类号:TP305 文献标识码:A 文章编号:1674—8425(2015)05—0066~05 Improved K-Means Algorithm Using in Anomaly Detection CHEN Zhuang,LUO Gao—cheng (College of Computer Science and Engineering, Chongqing University of Technology,Chongqing 400054,China) Abstract:In order to increase the performance of the K-means algorithm in anomaly detection,an improved K—means algorithm was proposed.The algorithm selected the initial cluster centers according to maximum distance,and the information entropy was introduced to calculate the weight of every at— tribute,and then the improved weighted Euclidean distance formula was used to calculate the distance between sample points in dataset.The performance of the improved algorithm was tested by KDD CUP99 dataset.The experimental results show that this algorithm will be helpful to increase the detec— tion rate and decrease the false alarm rate in anomaly detection. Key words:anomaly detection;data mining;K—means;initial clustering centers;weighted Eucli— dean distance 入侵检测是一种保护计算机和网络的主动防 基于误用检测的入侵检测系统检测率低和误报率 御策略,异常检测则是入侵检测的重要组成部分。 高的问题。 将数据挖掘技术应用到异常检测领域,从海量数 异常检测方法构建正常行为模式时基于以下 据中提取网络正常行为模式,有助于解决传统的 两个前提 川:①网络中正常数据的数量远大于人 收稿日期:2015—03—06 基金项目:信息安全国家标准项目(2013bzyj—wC5—002) 作者简介:陈庄(1964一),男,博士,教授,主要从事企业信息化管理、网络与信息安全研究。 引用格式:陈庄,罗告成.一种改进的K—means算法在异常检测中的应用[J].重庆理工大学学报:自然科学版,2015 (5):66—70. Citation format:CHEN Zhuang,LUO Gao-eheng.Improved K・Means Algorithm Using in Anomaly Detection[J].Journal of Chongqing University of Technology:Natural Science,2015(5):66—7O. 陈庄,等:一种改进的K.means算法在异常检测中的应用 侵数据;②入侵数据与正常数据之间存在很大的 差异。 67 means算法与其他算法相结合,以上研究均未考虑 数据中各维属性对聚类的影响。将K.means算法 运用于异常检测,考虑数据集中各特征属性对聚 类的不同贡献是非常有意义的 “ 。 本文将信息熵理论引入无监督的聚类算法, 提出一种相似度计算和初始聚类中心选择都更为 优化的K—means聚类算法应用于异常检测。该方 法首先过滤数据集中的离群点或孤立点,以减少 这些点对聚类的负面影响;其次使用一种基于最 本文在考虑初始聚类中心的选择对聚类的过 程及结果有重大影响的同时,也权衡了数据对象 中各个属性对聚类所发挥的作用,提出一种基于 大距离选取的方法选择初始聚类中心,同时引入 信息熵的方法定义一种属性加权的欧式距离,并 将此加权欧式距离应用到整个聚类的相似度计算 中;之后进行迭代计算,并将记录划分到不同的聚 类中。本文使用KDD CUP 99数据集来测试算法 的性能。结果表明,此方法具有较高的检测率和 较低的误报率,达到了预期的目标。 1 聚类算法应用于异常检测相关研究 异常检测作为当前入侵检测研究领域的热 点,其普遍的思想是以大量的审计数据为背景来 刻画系统或用户的正常使用模式,建立正常活动 模型,然后通过检查当前活动和正常模型之间的 偏离度来确认入侵行为 j。数据挖掘中的聚类算 法便是基于以上思想的典型算法。为更好地发现 网络攻击行为,相关研究人员提出了很多改进的 方法 3 ]。而在聚类算法中,对K—means算法的 改进研究最为广泛。 在算法结合方面,文献[5]结合K-means算法 和Apriori算法的优点,提出一种混合入侵检测模 型;文献[6]将模拟退火算法和聚类算法相结合对 聚类算法进行优化;文献[7]将K—means算法与分 支界定算法结合建立网络异常检i贝0模型。这些研 究提升了K.means算法检测的精度,但结合后的 算法较为复杂,在实际应用中具有一定的局限性。 在对K.means算法本身的优化方面,为克服传统 K—means聚类算法对初始聚类中心选择敏感的问 题,文献[8]提出基于一种动态迭代过程计算K. means聚类中心的算法(MDKM),文献[9]提出基 于数据样本分布选取初始聚类中心的算法。这些 研究分别从不同角度对初始聚类中心的选择进行 了优化,取得了一定的效果。然而无论是否将K. 最大距离选择初始聚类中心并结合信息熵属性加 权距离公式计算数据对象间距离的改进K.means 聚类算法,并将其应用于异常检测中。 2算法相关定义与运算 2.1 信息熵属性权值引入及加权欧氏距离计算 传统K—means算法随机选取初始聚类中心, 并未考虑数据对象的各个属性对聚类效果的作用 是不一样的,这会导致算法难以获得稳定且精确 的聚类效果。 通常,信息论中的熵被用来衡量一个事物的 “有序”程度。事物信息熵值越大,表明它所处的 状态越稳定;相反,信息熵的值越小,表明事物所 处的状态越无序 。基于这一点,本文将信息熵 的方法引入到聚类方法中,根据各属性的变动程 度,通过计算信息熵给出各属性的权重,为数据对 象根据詹陛更好地聚类提供支持。 使用信息熵值法计算属性权重的过程 如下 : 1)设待聚类的数据集A由n个m维的数据 对象构成,于是构造属性值矩阵: A= 中第i个数据对象表示为0 ( ¨ ,…, ,…, 戈 ), 表示数据集中第 个数据对象第 维属性 的取值。i=1,2,…,n; =1,2,…,m。 2)计算第i个数据对象的第 维属性值的 比重: = /∑ (1) ● m 68 重庆理工大学学报 3)计算第 维属性信息熵: n Ej=一P∑M i=1 lnM (2) 其中:E 是属性 的熵值;p:l/Inn。 4)计算第 维属性值的波动系数:qj=1一Ej。 E 越大,说明数据集A中n个数据对象的第 维属 = 性所有取值情况差异越小,则该属性的聚类作用 越小;反之,E 越小,第 维属性取值情况差异越 大,则该属性的聚类作用越大;当第 维属性都取 相同值时,E =1,此时该属性的聚类作用为0。综 上所述,qj越大则说明属JI生越重要。 5)计算各维属性的权重: (3) 其中:0≤ ≤1,∑wj=1,J=1  =1,2,…,m。 在计算出各维属性的权重之后,给出赋权欧 式距离的计算公式。假设数据集A有m个属性, 则两个样本点a与b之间的加权欧式距离为 厂 —————————一 d ( 。,Xb)= /∑wjV J=1 (x 一 ) (4) 其中 ,和 分别表示数据对象a和b对应的第 个属性值。 2.2 基于最大距离选择初始聚类中心 考虑到距离大的样本点分到同一个簇的可能 性小,距离小的样本点分到同一个簇的可能性 大 ,提出基于最大距离选择初始聚类中心的方 法。该方法首先计算样本数据集中n个样本点两 两之间的距离,并将距离最远的两个样本点作为 初始聚类中心。在剩余的n一2个样本点中,选取 到这两个样本点各自距离乘积最大值的样本点作 为第3个初始聚类中心。同样,在剩余的n一3个 样本点中选取到前3个初始聚类中心各自距离乘 积最大值的样本点作为第4个初始聚类中心。依 次类推,直到找到k个初始聚类中心。具体过程 如下: 1)计算n个样本点两两之间的距离d (d , d ),找到满足条件{d (d ,d )≥d (d , ),(i, = 1,2,…,n)}的两个样本点d ,d ,并将它们作为两 个初始聚类中心。 2)在剩余的n一2个样本点中,选取满足 d (d1,d3)×d (d2,d3)≥d (d1,d )×d (d2,d1)} 的点作为第3个初始聚类中心,其中d 是除d , d ,d 外的任意一个样本点。 3)在剩余的n一3个样本点中,选取满足 {d (dl,d4)×d (d2,d4)×d (d3,d4)≥d (dl,d ) ×d (d ,di)×d (d,,di)}的点作为第4个初始聚 类中心,其中d 是除d ,d ,d,,d 外的任意一个样 本点; 4)依次类推,直到找出数据集中剩余的k一 4个初始聚类中心。 3改进算法介绍及分析 结合以上研究,给出改进的K—means聚类算 法步骤: 1)确定初始聚类中心个数Jl=c。 2)根据式(3)计算数据集A中各个属性的 权重。 3)根据式(4)计算样本点之间的距离。 4)基于最大距离选择初始聚类中心。 5)迭代计算,将所有记录分类到k个不同簇 中。一直迭代,直到簇心的移动距离小于某个给 定的阈值为止。 改进后的K—means算法流程如图1所示。 图1 改进后的K—means算法流程 陈庄,等:一种改进的K—means算法在异常检测中的应用 69 传统K—means算法的时间复杂度为0(tkn), 统的K-means算法进行对比实验。实验结果见 其中:z表示迭代次数;k表示聚类中心的个数。在 上述改进算法流程中有两个关键步骤:一是计算 数据集各维属性权重,其时间复杂度为0(n);二 是基于最大距离选取初始聚类中心,需要计算n 个样本点两两之间的距离,其时间复杂度为 0( )。改进算法的时间复杂度应为0(凡 )+ 0(tkn)。由于迭代次数t与聚类中心个数k的乘 积小于样本个数凡,尤其在n很大的情况下,改进 算法的复杂度约为0(rt ),可见改进算法为得到 更优化的初始聚类中心增加了一定的运算量。 另外,考虑到异常检测中描述一个数据样本 的特征属性以连续型数值为主,例如数据包的报 文长度、数据包生存期、TCP窗口大小、UDP数据 报长度等,所以本文的改进算法以数据集A的数 据对象各属性均为连续型数值为前提。 4实验结果与分析 本文将传统K-means算法与改进的算法进行 对比实验,以验证算法的效果。实验使用KDD CUP99数据集。KDD CUP99数据集是目前主要 的入侵检测方法测评样本库之一¨ ,针对入侵检 测算法研究的文章大多采用这一数据集进行实 验。本数据集包括4 898 431条记录,每条记录都 被标记为正常或异常,其中异常记录3 925 650 条,包含22种攻击类型。这22种攻击类型可以 分为DOS攻击、R2L攻击、U2R攻击及probing攻 击四大类。 KDD CUP99数据集中的样本由41个特征属 性来描述。其中7个离散值属性在实验中被忽 略,剩余34个连续型数值属性作为判断样本数据 是否异常的依据。 为评估算法的准确性,本文选择以下两个指 标:检测率和误报率。检测率等于正确检测出为 异常记录的数目与总的异常记录数目之比;误报 率等于检测出为异常但实际为正常记录的数目与 总的正常记录数目之比。 首先选择只包含DOS攻击的样本数据集,在 聚类中心k取不同数值的情况下测试算法,与传 表1。 表1 不同k值情况下检测DOS攻击对比实验 实验结果表明:改进后的K.means算法在检 测DOS攻击时比传统的K—means算法具有更高的 检测率和更低的误报率。 为全面验证算法的有效性,实验的另一部分 是在确定聚类中心k=50的情况下,选择不同类 型的攻击样本数据集进行测试。从KDD CUP99 数据集中选择的不同攻击类型为neptune,buffer— overflow,guess—password及portsweep四类典型攻 击。与传统K-means算法进行对比实验,实验结 果见表2。 表2相同k值情况下检测不同攻击对比实验 实验结果表明:在聚类中心k值确定的情况 下检测不同类型的攻击时,改进后的K.means算 法在检测率和误报率方面效果好于传统的K. means算法。 5结束语 将数据挖掘中的聚类思想运用于异常检测是 数据挖掘技术在入侵检测中的一个重要应用。K. means聚类算法是异常检测中常用到的方法,它能 很好地提高异常检测的检测率,并降低误报率。 70 重庆理工大学学报 Based on the Improved Data Mining Technology[c]// 2013 International Conference on Computer Science and 本文针对传统K.means算法的不足,提出了两点 改进:一是考虑到初始聚类中心的选择对聚类效 果有重大影响,提出基于最大距离选取初始聚类 Education.Colombo USA:[S.n.],2013:982—987. [6] 胡艳维,秦拯,张忠志.基于模拟退火与K均值聚类的 入侵检测算法[J].计算机科学,2010,6(6):122 —中心;二是考虑到数据对象各个属性对聚类效果 发挥的作用不同,通过引入信息熵知识计算各数 124. 据属性的权值,并在聚类过程中使用赋权欧式距 离来计算相似度。通过以上两点的改进,既克服 了传统K.means算法选择初始聚类中心的随机 [7]杨字舟,张凤荔,王勇.基于K—means聚类的分支界定 算法在网络异常检测中的应用【J].计算机科学, 20l2,4(39):60—63. 性,又权衡了数据对象各个属性在聚类过程中所 起作用的差异性,得到了更好的聚类效果。 本文使用KDD CUP99数据集测试算法的性 能。实验结果表明,改进后的K-means算法与传 统的K-means算法相比,具有更高的检测率和更 低的误报率,达到了预期的目标。算法的不足之 处是聚类中心 值的确定需要经过多次尝试才能 找到一个合适的范围,并且改进后的算法计算量 较大。如何更有效地确定k值并减少算法的计算 量是下一步研究的重点。 参考文献: 【1] 寅1】涛,马晓宇,胡景.一种K—means算法在网络异常检 测中的应用[J].微电子学与计算机,2012,29(5):42 —45. [2] 苏艳君,沈刚,刘昕.基于网络聚合行为的异常检测方 法研究[J].计算机工程与科学,2010,3(32):38—41. [3] 袁遇晴,况湘玲,凌利军.基于数据挖掘的网络入侵检 测研究[J].计算机安全,2014,7(17):14—17. [4] 梁飞,闫宏印.基于聚类分析的动态自适应入侵检测 模式研究[J].计算机工程与设计,2013,34(3):814 —820. [5] Zhao Yanjun.Realization of Intrusion Detection System [8]Li Han.Using a Dynamic K-ITleans Algorithm to Detect Anomaly Activities[C]//201 1 International Conference on Computational Intelligence and Security.Sanya China: [S.n.],2011:1049—1052. [9] 仝雪娇,孟凡荣,王志晓.对K—means初始聚类中心的 优化[J].计算机工程与设计,2011,1(32):2718 —2724. [10]于海涛,贾美娟,王慧强.基于人工鱼群的优化K— means聚类算法[J].计算机科学,2012,12(39):60 —64. [11]许晓东,杨燕,李刚.基于K—means聚类的网络流量异 常检测[J].无线通信技术,2013,4(1):21—26. [12]孟洋,赵方.基于信息熵理论的动态规划特征选取算 法[J].计算机工程与设计,2010,31(17):3879—3881. 【13]原福永,张晓彩,罗思标.基于信息熵的精确属性赋权 K・menas聚类算法[J].计算机应用,2011,31(6):1675 —1678. [14]翟东海,鱼江,高飞.最大距离法选取初始簇中心的K- means文本聚类算法的研究[J].计算机应用研究, 20l4,3l(3):713—716. [15]唐菀,马杰,曾广平.评测智能化入侵检测方法的样本 库分析[J].中南民族大学学报,2010,29(2):84—87. (责任编辑杨黎丽) 

因篇幅问题不能全部显示,请点此查看更多更全内容