频繁子图挖掘研究综述_鲁慧民
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26卷 第3期2009年3月
微电子学与计算机
M IC ROELECTRONICS &COM PUTER
Vol .26 No .3M arch 2009
收稿日期:2008-05-30
基金项目:国家“八六三”计划项目(2008AA 01Z 131)
频繁子图挖掘研究综述
鲁慧民,冯博琴,宋擒豹
(西安交通大学电子与信息工程学院,陕西西安710049)
摘 要:归纳了频繁子图挖掘方法的处理流程,分析评价了频繁子图挖掘的典型算法:广度优先搜索和深度优先搜索的频繁子图挖掘算法,概述了频繁子图挖掘研究的平台———图模型及其产生器,并对频繁子图挖掘方法未来研究方向进行了展望.
关键词:子图同构;频繁子图挖掘;图模型;图产生器
中图分类号:T P391 文献标识码:A 文章编号:1000-7180(2009)03-0156-06
Survey of Frequent Subgraph Mining Research
LU Hui -min ,FENG Bo -qin ,SONG Qin -bao
(School of Electronic and Information Engineering ,Xi ′an Jiaotong U niversity ,Xi ′an 710049,China )
A bstract :T he process of Frequent Subgr aph M ining is summarized in this paper .Broad First Search (BFS ),Depth First Search (DF S ),w hich are the typical mining algo rithms are analyzed and evaluated .T he g raph model and its generator ,w hich is the impo rtant research platform of frequent subg raph mining are introduced .O pen issues and fur ther research di -rections are also discussed .
Key words :subg raph isomorphism ;frequent subg raph mining ;graph pa ttern ;g raph g enerator
1 引言
频繁子图挖掘与相对比较成熟的文本型频繁项
挖掘相比,图的数据量大,结构复杂,对原始的图数据进行频繁子图挖掘难度较大.同时通过边或节点添加生成的候选子图集中往往存在大量的冗余,子图同构的NP 问题等都增加了候选子图支持度计算的复杂性,因此一般的文本数据挖掘方法不再适用于频繁子图挖掘,必须结合图数据格式的特点寻求新的挖掘算法.
Akihiro 等人在2002年首先将Aprio ri 算法思想应用到频繁子图挖掘中,此后各种基于Aprio ri 思想,采用递归的方法来发现频繁子图的挖掘算法相继出现,主要包括AGM 、AcGM 、FSG 等.后来韩家炜等人将FP -grow th 思想应用到频繁子图挖掘中,使图挖掘得到了迅速的发展,主要包括gSpan 、CloseGraph 和FFSM 等,它们主要通过逐渐扩展频
繁边得到频繁子图,但对边的扩展过程略有不同.此
外还出现了一些其它的频繁子图挖掘算法,例如Wang 等于2005年提出了一种基于索引的频繁子图挖掘算法GraphMiner [1];2007年Zhu 等提出一种基于用户约束条件的频繁子图挖掘算法gPrune [2]
,Karste 等提出了适用于动态图挖掘的
Dynamic G REW 算法[3]
等.
作为图挖掘研究的重点,频繁子图挖掘算法得到了广泛深入的研究,文中总结归纳了频繁子图挖掘的处理流程,对典型的频繁子图挖掘算法进行了分析评价,同时介绍了研究频繁子图挖掘的平台———图模型及其产生器,并展望了频繁子图挖掘的未来研究方向.
2 频繁子图挖掘的处理流程
频繁子图挖掘即从输入数据库中挖掘出所有的频繁子图.
(1)频繁子图挖掘的基本概念设是频繁子图,则公式如下:S f rek ={K |∑n
i =1X ik ≥m }
(1)
式中,X i k ∈{0,1},如果子图K 与图数据库中G i 子图同构,则X i k =1,否则X ik =0;m 是最小支持度.
(2)频繁子图挖掘算法的处理流程
频繁子图挖掘算法的基本步骤主要包括图标识、图数据库数据的简化、侯选子图的生成、侯选子图的剪枝、支持度计算等.处理流程如图1所示
.
图1 频繁子图挖掘的处理流程
首先对图进行唯一标识以避免子图同构问题,对图数据进行简化,删除非频繁边或顶点.利用频繁子图挖掘算法挖掘候选子图,对其中的冗余子图进行剪切,计算候选子图的支持度,选择大于最小支持度的候选子图形成频繁子图集.
3 频繁子图挖掘算法
频繁子图挖掘算法按子图挖掘搜索路径分为广度优先搜索算法(Broad First Search ,BFS )和深度
优先搜索算法(Depth First Search ,DFS )[4]
.广度优先搜索算法基于Aprio ri 思想实现,主要包括AGM 、AcGM 、FSG 等,深度优先搜索算法基于FP -g row th 思想实现,主要包括g Span 、CloseGraph 和FFSM 等.
3.1 广度优先搜索算法
AGM 算法是最早采用Apriori 思想的广度优先搜索算法,它采用邻接矩阵来表示图,根据邻接矩阵生成图编码,取其中的最小编码作为图的唯一标识,以解决子图同构的NP 问题.以频繁顶点作为初始
集,利用Apriori 性质(一个项集是频集当且仅当它的所有子集都是频集),采用递归方法挖掘频繁子
图.AGM 算法思想比较简单,但其存在明显的缺
点:首先由频繁k -1-子图集进行自连接生成的候选频繁子图k -项集数量巨大,其次在验证候选频繁子图k -项集的时候需要对整个数据库进行扫描,非常耗时,因此不少研究者提出了改进算法:
(1)基于划分的方法
这种算法先把图数据库分成几个互不相交的单元,每次单独考虑一个单元并对它生成所有的频繁子图,然后把产生的频繁子图进行无损合并,用来生成所有可能的频繁子图集,最后计算这些子图集的支持度.Wang 等在2006年引入了一种基于划分的图挖掘方法PartMiner .该算法首先反复调用图划分算法将数据库中的每一个图划分成更小的子图,将其分组到单元,其次利用现有的基于内存的频繁子图挖掘算法发现每个单元的频繁子图集,通过合并连接操作将每个单元的频繁子图合并,重新得到整个图的频繁子集.
(2)基于采样的方法
先使用从数据库中抽取出来的采样得到一些在整个数据库中可能成立的规则,然后对数据库的剩余部分验证这个结果.在图理论研究中,采样往往用来对图进行压缩,便于存储.2005年K rishnamurthy
等提出了一种基于选择随机节点方法[5]
,抽样大小
为源图的30%,此外还有通过随机边的选择来进行抽样的方法.Leskovec 和Faloutsos 在2006年提出了大图(Large Graph )的抽样方法:对静态图的抽样采用“随机行走(random w alks )”方法或类似病毒繁殖的方法选择具有代表性的节点,构建与源图拥有一致特征的抽样图.针对动态图则采用“森林火(Fo rest Fire )”方法进行采样.通过对大图的抽样,然后对其进行频繁子图的挖掘,可以大大减少候选频繁子集的数量,使大图的挖掘成为可能.
(3)基于减少源图数量的方法
减少用于未来扫描的图集的大小.一个基本原理就是当一个图不包含k 频繁子图,则必然不包含k +1的频繁子图集,从而可以将这些图移除,这样在下一遍的扫描中就可以减少要进行扫描的图集的个数.
(4)基于边扩展与约束限制的方法———FSG 与AcGM 算法
Kuramochi 和Kary pis 在2001年提出了一种基于扩展边来高效生成候选子图的算法FSG ,是对
157
第3期鲁慧民,等:频繁子图挖掘研究综述
AGM算法的改进,在候选子图的剪枝策略和计算频繁支持度方面进行了优化.2002年Inokuchi等提出了一种利用限制性条件生成诱导子图作为候选子图,对AGM进行性能改进的方法AcGM,其执行效率比AGM和FSG都高.此外马海兵等于2006年提出一种高效挖掘无序频繁子树的算法,利用最右路径扩展方法构造完整的模式增长空间,然后根据待增长模式的拓扑结构确定其增长点并构造相应投影库,从而挖掘出频繁子树.
3.2 深度优先搜索算法
Han等人在2002年针对类Apriori算法(如FSG、AGM、AcGM)连接和剪枝耗时很大的缺点,提出基于深度优先搜索的gSpan算法.gSpan算法是一种基于FP-grow th思想的频繁子图挖掘算法,其基本思想是利用最小DFS码对图进行唯一标识,以简化子图同构问题.利用最小DFS码作为空间树的一个节点进行最右路径扩展形成k-频繁子图,每次添加一条边,形成k+1-频繁子图,如果k+1 -频繁子图不是最小DFS码形式,则作为冗余删除掉.在支持度的计算上采用对k-频繁子图的事件(Occurrence)进行记录,k+1-频繁子图的支持度可以通过对k-频繁子图的所有Occurrence进行最右扩展得到.其核心算法如下[6]:
Subgraph-M ining(G S,S,s)
1.if s!=min(s)
2.return;
3.S→S∪{s};
4.g enerate all s'potential children with one edge g rowth;
5.Enumerate(s);
6.for each c,c is s'child do
7.If support≥min sup
8.s→c
9.Subgraph-M ining(G S,S,s);
g Span算法对于大型数据库而言效率仍然很低.Yan和Han于2003年提出一种改进的CloseG-raph算法,主要是对频繁闭子图进行挖掘.CloseG-raph的算法思想与gSpan一致,只是在对候选子集进行剪枝的时候采用定理来判断是否进行最右路径扩展.gSpan算法和CloseGraph算法相对于Apriori 算法,它们通过引入新的方法和概念———DFS词典顺序(DFS lex icog raphic Order)、最小DFS码和最右扩展使得无需按Aprio ri算法的思想,而是直接生成频繁子图,大大提高了算法的效率.但gSpan算法和CloseGraph算法在挖掘结果集中考虑了图的标记,即具有不同标记的图被认为是不同的图.而很多情况下,标记不同的图具有相同的结构.为了解决“标记不同但结构相同的图被认为是不同的”的问题, 2005年重庆大学的康艳荣在论文中提出了两种新的算法[7]———极大完全子图挖掘算法(M ax-codeFMCG算法)和频繁子图结构挖掘算法(FSA算法),并将M axcodeFMCG算法与已有的频繁模式挖掘算法FP-Grow th算法相结合,产生一种基于图结构的频繁模式挖掘算法(M axcodeFP-Tree算法).该算法的主要优点是解决了FP-Grow th算法中存在的内存不足的问题,FSA算法则解决了以往的频繁子图挖掘算法中存在的“标记不同但结构相同的图被认为是不同的”的问题,有利于对结构挖掘进行更深入的研究.
此外,2003年Huan等提出了FFSM算法,将图的标准形状变为树结构,并提出了树的一系列操作.首先该算法将图转化为标准的邻接矩阵表示,将子图的同构问题转化为矩阵的操作,图的扩展也转化为对矩阵的连接操作与矩阵的扩展操作.依据给定的参数首先通过枚举找到所有的近似频繁边,并移除在数据库中的非频繁边,接着用深度优先发现所有的最大近似频繁树,这可以通过递归增加一个新节点到已经存在的近似频繁树,直到候选树不再是近似频繁树或在前面已经存在该近似频繁树.FF-SM通过标准码来唯一标识图,避免了子图同构的问题,为每一频繁子图设计一个嵌入集合(Em bed-ding Set).在进行支持度计算时,只扫描嵌入集合即可避免重复扫描数据库,提高了计算支持度的速度和效率,但该算法中的FFSM-Join产生的候选具有不完整性,必须通过FFSM-Ex tension进一步产生候选子图,以保证挖掘结果的完整性.
3.3 其它频繁子图挖掘算法
除以上频繁子图挖掘算法以外,还有基于索引、用户约束、动态图的挖掘算法,以及为提高挖掘效率的并行挖掘处理等.
(1)基于索引的算法
Wang等于2005年提出一种基于索引的算法GraphMiner,用来挖掘频繁子图,利用高效的索引结构AID(Adjacency Index)从大图中挖掘频繁子图. AID索引一般有三层结构:边名表、连接的图编号列表、临近信息.三层结构的AID可以装入内存.一旦建立AID,那么在挖掘过程中,仅用索引来进行挖掘,不再访问源数据库.
(2)基于并行多处理器算法
2006年,Gregory等提出一种适合并行的图挖
158微电子学与计算机2009年
掘管理系统,用尽量少的内存但运行时间却得到改良,还为并行图挖掘设计了任务划分和包系统.任务划分与分配的目的是保证负载均衡,使每一个处理机都能高效率的工作直到挖掘任务完成.动态任务分配允许运行时进行任务分配,给予空闲的处理器额外负载.
(3)基于用户约束的挖掘算法
频繁子图的挖掘在有些算法中忽略了它的目的性,即有些算法针对的是所有的频繁子图的挖掘而往往没有与用户的具体要求结合起来,在实际应用中往往在挖掘时要加以条件限制,一方面可以减少候选频繁子图的数量,提高算法的效率,另一方面可以更清楚的发现与用户要求相联系的内容.2007年
Zhu等人提出了一种基于用户约束条件的图挖掘算法gPrune.
(4)基于动态图的挖掘算法
多种频繁子图挖掘算法都是针对静态图挖掘的,不适用于动态图挖掘.Karsten等提出了对动态图进行挖掘的算法,并对动态图进行了定义,将图数据的动态变化分为两种.一种是所有的数据同步变化,另一种数据的变化是不同步的.他们对Grew[8]进行扩展,使其适用于动态图挖掘,提出Dynamic Grew算法.
此外,针对大图的频繁子图挖掘,Kuramochi和Karypis于2004年提出了HSIGRAM和VSIGRAM 两种算法,该算法除了考虑子图同构问题外还考虑了同一个图的不同子图同构间的交迭(Overlap)问题,是对大图中所有频繁子图进行挖掘比较有效的方法.2004年Huan等人提出了一种基于挖掘最大频繁子图的算法SPIN,首先挖掘出源图数据所有的频繁树,然后再从挖掘出的频繁树挖掘最大频繁子图.该算法除了可以大大减少输出频繁子图的数目,还在很大程度上提高了挖掘速度.
4 图模型及其产生器
4.1 图模型
频繁子图挖掘算法研究基于一定的图模型,因此需要有产生与自然界中的图特性相一致的抽象模型,图模型是进行图挖掘理论研究的基础,将现实世界中各种各样的图抽象出来归纳总结为图模型,便于分析和研究,也有利于在各领域实现研究思路和方法的统一.图模型可以帮助模拟研究现实中的图,将现实中的大图缩小成与其相匹配的小图便于研
究、分析和计算.但要将现实中千差万别的图抽象成统一的图模型却比较困难,图模型的研究主要集中在有规律图形上,主要有幂指数规律(Power Laws)、小直径(Small Diameters)和社区效应(Community Effects)三种[9].此外2000年Broder等人将WWW 的图模型描述为蝶状(a bow tie)结构[10],如图2所示.将Web划分为SCC(Strong ly Connected Compo-nent)、IN、OUT、TENDRI LS四部分.Tauro等人在2001年提出Internet的水母(Jelly fish)结构图模型[11],由核心(Core)、层(Layers)、悬垂节点(Hang-ing Nodes)三部分构成,如图3所示.
图2 WWW的蝶状结构
图3 Internet的水母结构
4.2 图产生器
图产生器产生与自然界图匹配的图模型,为频繁子图挖掘算法的研究提供平台.根据生成图的模型不同,图产生器目前主要分五类:随机模式、择优连接模式、基于最优化模式、地理模式、特殊的In-ternet模式.
(1)随机模式.Erdös和R′enyi早在1960年就提出随机图产生器[12],由用户提供一定数目的节点N,在每一对不同的节点间按一定概率p添加边.随机模式产生的图只能匹配度分布而不能匹配其它图模型.
(2)择优连接模式.1999年Kleinberg等提出一种与择优连接模式很相似的边拷贝方法[13],主要适用一些聚类性强的图,例如在基于主题的WWW的Web站点,在加入新节点时,它拷贝了已存在的与它具有相似性的节点的边.Winick等在2002年采用“Rich Getting Richer”原则[14],即每次加入一个新节点都要优先连接到已经存在的度高(Hig h De-
159
第3期鲁慧民,等:频繁子图挖掘研究综述
g ree )的节点上.择优连接模式只通过几个简单的步骤即可使产生的图符合幂指数分布,且较低的直径和很好的恢复能力,是目前最流行的模式,但是它没有聚类效果.
(3)基于最优化模式.1999年Carlson 和Doyle 提出HOT (Highly Optimized Tolerance )图产生器[15]
,HOT 能匹配幂指数规律并具有很强的恢复能力,它是考虑资源和效益两者折中的平衡方案,与现实世界中的好多受资源约束的图相符合,但它不能通过适当的参数值修改匹配实际图的特性.
(4)地理模式.有的图模式结构受到地理位置的约束,例如Internet 中地理位置比较靠近的两个路由器之间的连接就很容易,这种图产生器主要有小世界模型(Sm all -World Model )和Waxman 模型(Waxm an Model )两种,如图4、图5所示.Small -World M odel 是在1998年由Watts 和Strogatz 提出的[16],节点安排在一个规则圆形的格子上,每个节点直接与它相邻的节点连接,用实线表示,某些距离远的节点用虚线连接.产生的图具有低直径、高聚类的特点,但不匹配幂指数规则.The Waxman Mod -el [17]是Wax man 在1998年提出的一种按节点间距离概率连接各节点的模型,通常随着距离的增大概率减小,新增加的节点连接到已经存在的距离近的节点.但它也不匹配节点度的幂指数分布,这种简单的思想在2000年被Medina 等应用到BRITE 图产生器来产生网络聚类
.
图4 小世界模型 图5 Waxman 模型
(5)特殊的Internet 模式.2002年Winick 和
Jamin 发展了Internet 图产生器,但是仅匹配互联网自治系统(Internet Autonomous System ,IAS )拓扑中的几个特殊的特征,后来采用择优机制对其进行了改进.
5 频繁子图挖掘研究展望
目前频繁子图挖掘各个方面的研究都取得了很大的成绩,并应用到一些实际的系统中,取得了很好的效果,但对于频繁子图挖掘还有许多方面尚需进
一步深入研究.
(1)图模型.需要进一步研究新的图模型,以尽量多的匹配现实中的图结构,语义网图模型的构建是一个重要的研究方向.
(2)图产生器.要求尽量匹配多的图模型,通过适当的参数值修改来匹配实际图的特性.(3)频繁子图挖掘算法方面.子图同构问题需要进一步研究;候选子图的冗余问题需要进一步解决;对大图的挖掘算法研究还比较少;对不精确的频繁子图、概念频繁子图、加权频繁子图等的挖掘的研究;对优化挖掘算法,减少时间空间的复杂度,采用并行、分布式技术处理也是一个很重要的研究方向;挖掘结果如何实现可视化的研究等.参考文献:
[1]Wang W ,Wang C ,Zhu Y .GraphM iner :a structural pat -tern -mining system for large disk -based graph databases and its application [C ]//P ro ceedings o f the 2005ACM SIG M OD I nterna tio nal Co nference on M anagement of Da -ta .Baltimore ,M ary land :2005:879-881.
[2]Zhu F ,Yan X ,Han J .gP rune :a co nstraint pushing
framewo rk fo r g raph pattern mining [C ]//P roceedings of 2007Pacific -Asia Conference o n Knowledge Discovery and Da ta Mining (PAK DD '07).China :N anjing ,2007:388-400.
[3]K arsten M ,Hans -Peter K ,Pe ter W .Pattern mining in
frequent dy namic subg raphs [C ]//Proceedings o f the 6th Inter national Co nference on Data M ining (ICDM '06).HongKo ng :2006:818-822.
[4]李先通,李建中,高宏.一种高效频繁子图挖掘算法
[J ].软件学报,2007,18(10):2469-2480.
[5]K rishnamurthy V ,F aloutsos M ,Chrobak M ,et al .Re -ducing large internet topologies for faster simulatio ns [C ]//Networ king 2005.Canada :Ontario ,2005:328-341.[6]王艳辉,吴斌,王柏.频繁子图挖掘算法综述[J ].计算
机科学,2005,32(10):193-197.
[7]康艳荣.基于图结构挖掘算法的研究与应用[D ].重庆:
重庆大学,2005.
[8]K uramochi M ,K ary pis G .Grew -a scalable frequent sub -g raph disco very algo rithm [C ]//The 4th I EEE Interna -tio nal Co nference on Data M ining .UK :Brighton ,2004:439-442.
[9]Chakrabar ti D ,Faloutsos C .Graph mining :laws ,genera -tor s ,and algorithms [J ].A CM Computing Surveys ,2006,38(2):1-69.
[10]A ndrei B ,Ravi K ,F arzin M .G raph structure in the
web :ex periments and models [C ]//9th World Wide Web
160
微电子学与计算机2009年
Conference.New York,2000:309-320.
[11]T auro S,Palmer C,Sig anos G.A simple co nceptual
model for the internet topolog y[C]//Global Teleco mmuni-cations Conference,2001(G LOBECOM′01).U SA,
I EEE,T exas.2001:1667-1671.
[12]Erdös P,Rényi A.O n the evolution of random graphs
[J].Publication of the M athema tical Institute of the Hun-garian A cademy of Science,1960(5):17-61.
[13]K leinberg M,K umar R,Raghav an P.T he web as a
g raph:measurements,models and methods[C]//I nterna-
tional Computing and Combinatorics Co nference.Berlin,
Springer,1999.
[14]Pennock D,Flake G,Lawrence S.Winners don't take
all:characterizing the competition for links o n the web[J].
N ational A cademy of Sciences,2002,99(8):5207-
5211.
[15]Carlson J,Doyle J.Highly optimized tolerance:a mecha-
nism for power laws in designed sy stems[J].P hysical Rev,
1999,60(2):1412-1427.
[16]W atts D,Strogatz H.Collective dynamics of`small-
world'networks[J].Na ture,1998(393):440-442. [17]Wax man B.Routing of multipoint connectio ns[J].
IEEE.Select.A reas Comm,1988(6):1617-1622.
作者简介:
鲁慧民 女,博士研究生.研究方向为数据挖掘、知识管理.冯博琴 男,博士生导师,教授.研究方向为数据挖掘、智能网络.
宋擒豹 男,博士,教授,博士生导师.研究方向为数据挖掘、知识工程.
(上接第155页)
存在的故障有一个准确的定位,集中精力排除主要故障.在电子设备等某些特殊机械设备的使用过程中,底事件的故障概率相当大.对于设备的故障概率进行近似计算,可以按照故障树建树原则,在正确建树的基础上,利用最优权因子[6]进行近似计算,以达到减小近似计算误差的目的.
参考文献:
[1]王国亮,孙新利.故障树法在弹头遥测可靠性分析中的
应用[J].战术导弹技术,2005(5):21-23.
[2]韩小涛,尹项根,张哲.故障树分析法在变电站通信系统
可靠性分析中的应用[J].电网技术,2004(1):56-69.[3]绍延峰,薛红军.故障树分析法在系统故障诊断中的应
用[J].中国制造业信息化,2007(1):72-74.
[4]潘吉安.可靠性维修性可用性评估手册[M].北京:国
防工业出版社,1995.
[5]周璧华,陈彬,石立华.电磁脉冲及其工程防护[M].北
京:国防工业出版社,2003.
[6]孙东平,姚依.故障树分析法及其在导弹故障近似计算
中的应用[J].装备环境工程,2006(4):64-67.
作者简介:
高 晶 女,(1983-),硕士研究生.研究方向为指挥自动化.
161
第3期鲁慧民,等:频繁子图挖掘研究综述。