第27卷第5期2013年9月
山东理工大学学报(自然科学版)
JournalofShandongUniversityofTechnology(NaturalScienceEdition)Vol.27No.5Sep.2013文章编号:1672-6197(2013)05-0032-04
数据密集型计算环境下离群点挖掘算法设计与实现
陈亚丽,张龙波,李彩虹,张树森,刘希昱
(山东理工大学计算机科学与技术学院,山东淄博255091)
摘 要:在数据密集型计算环境中,数据具有海量、高速变化、分布存储和异构等特征,对数据挖掘
算法的设计与实现提出了新的挑战.基于MapReduce模型,提出了一种网格技术与基于LOF方法相结合的离群点挖掘算法MR_LOF.Map阶段采用网格进行数据约简,将代表点信息发送给主节点;Reduce阶段使用基于密度的离群点挖掘算法,借助网格期望值E筛选出稠密区域.该算法只需计算稀疏区域对象的LOF值,降低了算法的时间复杂度.实验结果表明,在数据密集型计算环境中,该方法能有效的对离群点进行挖掘.
关键词:数据挖掘;离群点;数据密集型;MapReduce;MR_LOF中图分类号:TP391文献标志码:A
Designandapplicationofoutlierminingalgorithmin
data‐intensivecomputingenvironments
(SchoolofComputerScienceandTechnology,ShandongUniversityofTechnology,Zibo255091,China)
CHENYa‐li,ZHANGLong‐bo,LICai‐hong,ZHANGShu‐sen,LIUXi‐yu
Abstract:Thecharacteristicsofdata,suchashugeamounts,highdimensionanddistributedstorageetc,havebroughtnewchallengesforthedesignofoutlierminingalgorithmindata‐inten‐sivecomputingenvironments.Inthispaper,outliersminingalgorithmMR_LOFbasedondensitycombinedwithgridwasputforwardonaccountofMapReducemodel.DuringMapphase,gridwasusedtosimplifydata,thenrepresentativeinformationwassenttoprimarynode.InReducephase,outliersminingalgorithmbasedondensitywasemployed,denseareawasselectedbythegrid’sE.ThisalgorithmwasusedtoonlycalculateLOFofdatainsparseareatoreducetime
complexity.Experimentalresultsshowthatthisalgorithmiseffectiveforminingoutliersindata‐intensivecomputingenvironments.
Keywords:datamining;outlier;data‐intensive;MapReduce;MR_LOF 数据密集型计算作为大规模分布式计算的一种计算方式,在科学研究、商业智能、生物信息、环境监控等众多邻域有着广泛的应用.在数据密集型计算中,数据大多数情况下以分布方式存储,网络传输速度了大量数据在不同机器间的自由移动,传输速度能否跟得上系统收集、处理和分析数据的速度
[1]
成了算法是否可行的决定因素之一.由于离群点
收稿日期:2013
06
08
数据只占总体数据的很少一部分,因此在各分节点
进行数据预处理,将大量非离群数据删除,然后将少量的代表信息发送给主节点,在主节点进行全局离群点挖掘.
Google基于大规模数据集的MapReduce并行运算模型,有利于大量数据输入和输出操作.Map对<key,value>键值对进行处理,将产生的中间键
基金项目:山东省自然科学基金资助项目(ZR2011FL013);山东省高等学校科技计划项目(J13LN27)作者简介:陈亚丽,女,ylchen870329@163.com;通信作者:张龙波,男,zhanglb@sdut.edu.cn
第5期 陈亚丽,等:数据密集型计算环境下离群点挖掘算法设计与实现33
值对<key,list<values>>传递给Reduce.Reduce将并行子任务的中间数据合并,并进行相应的处理,最后输出结果.该模型将所有数据操作类型用统一的编程模型连接起来,使数据能够在由普通计算机组成的集群中运行,在一定程度上实现了全局化的
[2]
资源管理与调度.
现有的基于离群度的离群点挖掘算法主要不同在于离群度的计算方法设置不同.LOF[3]算法以局部离群点因子作为离群点关于其局部领域内密度的点因子值.根据离群点因子值的大小来判断数据对象是否为离群点.
lrdk(o′)∑o′∈Nk(O)lrdk(o)LOF=(1)
‖Nk(o)‖
‖Nk(o)‖lrdk(o)=(2)
k(oreachdist′o)←∑reachdistk(o←o′)=
max{distk(o),dist(o,o′)}(3)o′∈Nk(o)
异常程度度量,对离群点挖掘有显著的作用.但是该方法需要对每个数据计算局部离群因子值,花费的代价很大,了其在数据密集型计算环境中的应
用.COF[4]
算法根据参数k和数据对象的连接性确定邻域,与其邻域的平均连接距离比作为基于连接
的离群系数COF,但时间复杂度高于LOF.SLOF[5]
算法通过计算邻域距离和空间局部离群系数,解决空间数据的自相关性和异质性约束性.该方法采用了R倡树的索引方法查找邻域,在高维大规模数据
中,算法的执行效率不高.GDLOF[6]
算法通过证明稠密单元和稠密区域中的点不可能成为离群点,减小了ODRKNN数据LOF值的计算量,提高了执行效率.[7]算法用每个数据点的反向K近邻数来衡量偏离程度.反向K近邻数越少,越有可能是一个离群点.大量数据点离群度的计算和邻域查询在某种程度上增加了算法的计算复杂度,降低了算法在高维大规模数据集中的可扩展性.
本文基于MapReduce模型,根据对象的局部离群点因子值(LOF)与1的接近程度,只需计算部分可能会成为离群点数据的LOF值,弥补了LOF算法需要计算所有点的邻域和局部密度的不足.各分节点使用网格进行数据约简,将中间结果等少量信息发送给主节点,进而减少数据传输量,提高网络传输速度.主节点使用网格期望值做参考值,筛选出位于高密度区的数据LOF,只对分布在边缘的数据进行作为离群点值计算.
,最后统计出具有较高LOF值的数据1 算法分析与描述
1.1 LOF算法
邻距离来确定邻域LOF算法由给定参数的最少邻居数,通过对象k‐距离、可达距离和k和最近可达密度的计算,确定数据对象邻域的平均可达密度与数据对象自身的可达密度比为对象的局部离群
其中Nk(o)为对象o的k‐距离范围内数据总数
公式(1)、(2)、(3)分别给出了o的局部离群点因子、对象o的局部可达密度和从o’到o的可达距离的计算方法.该算法能很好地解决局部离群点的挖掘问题,但是存在计算量大等缺点,不适用于对数据密集型计算环境中离群点数据的挖掘1.2 MR_LOF算法
.LOF网络传输量大LOF用MapReduce算法基础上提出一种算法在数据密集型计算环境下可用性、计算复杂度高等因素了模型在各分节点采用网格进行数据MR‐LOF算法,该算法利.本文在筛选,将代表点信息发送给主节点,主节点进行全局离群点挖掘.其中key为网格ID,value为网格五元组信息。主节点将网格期望值k邻近中距离最远的点确定为检测对象,因数据的LOF值在簇内约等于1,簇边缘略大于1,离簇越远值越大,根据其LOF值与1的关系判断是否需要对k邻近中其他点进行检测.该算法只需计算部分稀疏区域数据的LOF值,很大程度上加快了离群点挖掘速度.
定义:U(T,P,E,Max,Min)为网格单元五元组
T:网格类型;P:网格单元中数据点数,设为单元格密度;E:U中去掉最大值、最小值,剩余数据的期望值;
Max:数据中最大值;Min:数据中最小值.
若U中P不小于某一给定阈值N,即|P|N,U为稠密单元Udense;若U中P小于某一给定阈值N,即|P|<N,该U为稀疏单元Usparse;P为0的网格单元表示为Unull。若|L‐U|=1,L为U的邻居网格单元.如果U的L均为空,则U为Uoutlr.
输入:d维数据集D、网格阈值N;输出:离群点的集合Outlier;算法形式化描述如下:
34山东理工大学学报(自然科学版)2013年
1)MapReduce框架对任务进行统一调度.2)U中各维空间划分,每一维的划分由相邻数据点间的分布情况决定.
3)根据预先设定的维度间隔距离值计算数据所属的网格单元.输入数据的同时,计算U的五元组信息.
4)若U为Udense,且其L均为Udense,保存U和L的五元组信息,L放入C(候选集合)中.对C中网格的L进行遍历查询,直到所有L均为空,将U及所有2 实验结果与分析
采用三组实验来验证本文算法的有效性.实验1在数据量递增时,通过对三种算法离群点挖掘时间的比较来验证MR_LOF算法对海量数据的处理能力.实验2伴随数据处理节点的增加,分析了三种算法的离群点挖掘时间变化趋势.实验3中数据维度增加时,通过比较来验证MR_LOF算法对高维数L中数据全部删除;L均为Unull,标记U和Unull并删除U中数据.若U为Usparse,其L均为空,则U为Uoutlr并删除U中数据,否则将其保留.位于数据分区边界的单元格不为空时,全部保留.
5)将代表点和拟离群点信息发送给主节点.6)主节点将不同分节点发送的代表点划分到相应的U中,实时更新U的五元组信息,直到所有数据全部录入网格.
7)重复4)中步骤,得候选离群数据集及离群点.
8)主节点进行全局离群点挖掘,流程图如图1所示.
图1主节点算法流程图
9)将4)、7)、8)步骤中检测出的离群点信息汇总输出.
主节点执行任务的总体分配和调度,分节点通过步骤2)、3)、4)、5)进行数据约简,并将代表信息发送给主节点为全局离群点挖掘做准备.主节点执行步骤6)、7)、8)、9)对分节点发送的数据做全局离群点挖掘.改进的算法能快速的检测到稠密区域,通过只计算稀疏区域数据的LOF值,加快了对离群点的挖掘.
据的处理是否具有良好的可扩展性.
实验平台配置如下:10台相同配置的PC机(通过局域网连接),CPUPentiumDual‐CoreE6500,内存2G,YLMFOS(Ubuntu)操作系统,Hadoop0.20,1个主节点master,9个分节点slaves,用装有测试数据来自Hadoop插件的KDDeclipseCup进行代码编辑1999,共有41,个属性编译jdk,341.7个.为连续属性,7个为离散属性.包括五大类数据,正常连接、dos、u2r、r2l、probe入侵和攻击.
实验1 实验节点数和数据维度分别为10台和GDLOF40维,同一数据集数据递增时,进行LOF算法、对比.图算法和2为离群点挖掘时间随数据量递增的变化MR_LOF算法离群点挖掘运行时间情况.
图2 检测时间随数据量递增变化情况
由图可知,随着数据量的增加算法的运行时间均增大,但MR_LOF算法的曲线增长速度相对其他算法较缓慢。当数据量急剧增大时,一定程度上能够降低算法执行的时间复杂度,性能优于LOF算法和基于网格的GDLOF算法.
LOF实验2 数据量相同情况下的变化情况如图算法、GDLOF3所示算法离群点挖掘时间随节点数,MR_LOF算法、.
当数据量和数据维度数不变时,节点数越多,离群点挖掘花费的时间越少.考虑实际应用中数据处
第5期 陈亚丽,等:数据密集型计算环境下离群点挖掘算法设计与实现35
3 结束语
针对数据密集型计算环境下离群点挖掘问题,
本文提出网格与基于密度的算法相结合的MR_LOF算法,将单元期望值k邻近中距离最远的点作为检测对象,根据其LOF值与1的相差程度判图3 检测时间与节点数目间关系
理终端数目远大于实验中节点数,该算法适用于数
据密集型计算环境下的离群点挖掘.
实验3 数据量一定时,MR_LOF算法、基于
单元格的FORMAUC算法[8]
和GDLOF算法离群点挖掘时间随数据维度的变化情况如图4所示.
图4 随数据维度增加检测时间变化曲线
所有算法的检测时间随着数据维度的增加均呈
现增长趋势.MR_LOF算法类似于模糊查询的方法在高维数据中具有明显的优势,同等条件下检测时间增长与其他算法相比较缓慢.因此,MR_LOF算法用于挖掘高维数据中的离群点是可行的.
断数据稀疏区域.该算法不用计算所有数据的LOF值,只需计算稀疏区域中数据的LOF值.通过筛选稠密区域数据,加快了离群点检测速度,提高了算法的执行效率.实验结果分析可知,MR_LOF算法能有效地解决海量、分布、高速变化的数据密集型环境中离群点挖掘问题.参考文献:
[1]KouzesRT,AndersonGA,ElbertST,etal.TheChanging
Paradigm(1):26‐34of.
Data‐IntensiveComputing[J].Computer,2009,42[2]DeanJ,GhemawatS.MapReduce:aflexibledataprocessing[3]Breunigtool[J]M.CommunicationsM,KriegelHPof,RaymondtheACMT,2010N,et,53(1)al.LOF:72‐77:identif.
‐
y2000ingdensity,29(2)-:93‐104basedlocal.
outliers[J].ACMSIGMODRecord,[4]TangJ,ChenZ,FuA,etal.EnhancingEffectivenessofOutlier
pDetectionsuterSciencefor,2002LowDensity,
2336:535‐548Patterns.[J].LectureNotesinCom‐[5]薛安荣,鞠时光,何伟华,等.局部离群点挖掘算法研究[J].计算
机学报,2007,30(8):1455‐1463.
[6]张净,孙志挥.GDLOF:基于网格和稠密单元的快速局部离群点
探测算法[J].东南大学学报:自然科学版,2005,35(6):863‐866.
[7]岳峰,邱保志.基于反向K近邻的孤立点检测算法[J].计算机工
程与应用,2007,43(7):182‐184.
[8]崔贯勋,李梁,王勇,等.快速的基于单元格的离群数据挖掘算法
[J].计算机应用,2009,29(12):3000‐3302.
(编辑:刘宝江)
数据密集型计算环境下离群点挖掘算法设计与实现
作者:作者单位:刊名:
陈亚丽, 张龙波, 李彩虹, 张树森, 刘希昱, CHEN Ya-li, ZHANG Long-bo, LICai-hong, ZHANG Shu-sen, LIU Xi-yu
山东理工大学计算机科学与技术学院,山东淄博,255091山东理工大学学报(自然科学版)
Journal of Shandong University of Technology (Natural Science Edition)
2013(5)
英文刊名:
年,卷(期):
本文链接:http://d.g.wanfangdata.com.cn/Periodical_sdgcxyxb201305008.aspx