一种基于图的存储模式挖掘方法

文档序号:6354661阅读:361来源:国知局
专利名称:一种基于图的存储模式挖掘方法
技术领域
本发明涉及存储模式挖掘,尤其涉及基于图的存储模式挖掘方法。
背景技术
应用数据集及存储系统规模的不断扩大对模式分析的效率提出了极高的要求。但 现有存储模式挖掘基于数据挖掘领域中的序列模式SP (Sequential Pattern)(参见SP定 义)方法进行。现有挖掘方法的巨大开销使其难以在实际系统中应用。这是因为SP模式 基于元素间相关性来定义,而对序列中相关性的挖掘是一个NP难题(NP-hard),随着问题 规模增大,模式挖掘的时空性能急剧恶化。因而其对大规模数据密集型应用场景中的存储 模式挖掘无能为力,更无法满足基于存储模式的实时优化需求。基于SP的存储模式挖掘方 法的局限性表现为如下两个方面1.时空开销大由于模式中松耦合关系的定义以及无法避免的对原始序列的多 遍扫描,导致了相应的挖掘方法有很高的时空复杂度。更为严重的是,随着问题规模扩大, 方法的时空开销会呈现指数剧增。因而对于大规模实际存储系统而言,以往挖掘方法的时 空开销导致其基本无法应用。2.无法支持在线流式挖掘SP模式的挖掘方式为对序列数据库的整体挖掘而非 增量式挖掘。因而在原始序列发生变化时不能在之前挖掘模式的基础上进行模式的增量更 新挖掘。基于上述局限性,当前SP方法大都采用静态挖掘方式,将长时间累积的IO序列通 过集中挖掘的方式来进行整体模式更新。在海量IO序列信息面前,集中模式挖掘的方式代 价高昂,无法支持存储系统中实时在线优化的需求。另外,与传统数据挖掘不同,存储模式挖掘的目标在于将模式应用于后续的性能 优化,因而其不要求结果精确(比如频度精确),而只要对优化有效即可(频繁出现即可)。 同时因为利用模式进行性能优化时模式挖掘处于IO关键路径中,因而要求模式挖掘的效 率高且时空复杂度低。紧邻序列模式CISP(Contiguous Item Sequential I^attern)(参见 CISP定义)的挖掘方法虽然对于SP模式进行了简化,但要求所挖掘出的模式频度也是精确 的,虽然可以部分缩减挖掘空间,但其仍是类SP模式的挖掘方法,所以在对大规模数据密 集型应用场景中的存储模式挖掘中仍然无法解决上述问题。

发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种适合大规模数据密集应用 的存储模式挖掘方法,并且可以支持在线流式挖掘。本发明的目的是通过以下技术方案实现的本发明提出了一种基于图的存储模式挖掘方法FPG-Grow (FrequentPattern Graph-Grow),包括以下步骤(a)基于原始序列来构建频繁模式图FPG(Frequent Pattern Graph),其中所述原 始序列是信息元素的有序集合;所述频繁模式图的节点集合是由具有相同长度的片段的集合构成的,所述片段是原始序列的子序列,所述频繁模式图的边是有后继关系的两个片段 之间的有向边,所述有后继关系的两个片段是指后片段的头元素为先片段头元素的后继; 边的频度,为此后继关系在原始序列中出现的总次数;(b)从所述频繁模式图中未被访问的边集合中选取频度最高的边;(C)沿所述频度最高的边向两侧进行模式扩展,直到不能满足模式生长条件为 止;(d)重复步骤(b) (C)直到所有频度大于最小阈值的边都被访问过为止。根据本发明优选实施例的基于图的存储模式挖掘方法,在所述步骤(a)中的所述 频繁模式图是由原始序列和片段的长度唯一确定的,所述片段的长度可以根据实际应用模 式的特点或用户需求进行设置,但必须是大于1的正整数。根据本发明优选实施例的基于图的存储模式挖掘方法,在所述步骤(d)中的所述 最小阈值可以根据实际应用模式的特点,用户需求或内存容量进行设置,但不应低于1。根据本发明优选实施例的基于图的存储模式挖掘方法,在所述步骤(C)中的所述 模式生长条件是指相邻的两条边的权重之和与这两条边的共同节点的所有边的权重总和 之间的比值大于给定的阀值。在一些实施例中,所述给定的阀值是可设置的,但必须大于 0. 5。在本发明的优选实施例中所述给定的阀值为0. 85。根据本发明优选实施例的基于图的存储模式挖掘方法,所述步骤(a)基于原始序 列来构建频繁模式图包括以下步骤(1)为原始序列设置滑动指针,指向原始序列的初始位置;(2)从滑动指针所指原始序列位置截取长度为L的片段,将所述片段加入频繁模 式图的节点集合,并设置该片段为频繁模式图的当前节点;(3)滑动指针向前滑动一位;(4)从滑动指针所指原始序列位置截取长度为L的片段,设置该片段为频繁模式 图的后续节点;如果所述片段不在频繁模式图的节点集合中,则将所述片段加入频繁模式 图的节点集合;(5)当前节点与该后续节点之间形成自然连边,如果所述边不在频繁模式图的边 集合中,则将所述边加入频繁模式图的边集合;如果所述边已在频繁模式图的边集合中,则 将边的频度加1 ;(6)将该后续节点设置为当前节点;滑动指针向前滑动一位;(7)重复上述⑷(5) (6)步骤直到滑动指针指向原始序列的末尾。在一些实施例中,在所述步骤(b)之前还包括频度排序步骤,对所述频繁模式图 中的所有的边按其频度进行排序,得到有序的边序列。根据本发明优选实施例的基于图的存储模式挖掘方法,所述频度排序步骤是对频 繁模式图中的所有的边按其频度进行逆排,得到逆排序的边序列。与现有技术相比,本发明的上述实施例中的存储模式挖掘方法FPG-Grow创新性 地采用频繁模式图结构FPG来对存储模式进行挖掘,通过图中拓扑对原始序列信息的保存 避免了对序列的多次扫描;同时FPG-Grow通过模式简化有效降低模式挖掘的复杂度,此挖 掘方法的复杂度为O(n)的,而传统的SP模式挖掘方法复杂度是近似0(n2);其利用模糊频 度模式简化挖掘目标,避免了频度检验带来的效率损失,实现了挖掘性能的巨大提升;最后FPG-Grow采用了基于频繁图的累积式数据结构,从其挖掘过程可看出模式挖掘时FPG是增 量更新的,同时在任一模式生长状态可以依据NGC条件沿边得到频繁模式,因而可支持模 式的流式挖掘及基于此模式的实时在线优化。


以下参照附图对本发明实施例作进一步说明,其中图1是根据本发明实施例的示例序列构建的FPG图;图2是根据本发明实施例的示例序列频度逆排后的FPG图;图3是根据本发明实施例的示例序列的模式生长的第一步示意图;图4是根据本发明实施例的示例序列的模式生长的第二步示意图;图5是根据本发明实施例的示例序列模式生长的第三步示意图。
具体实施例方式为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实 施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明, 并不用于限定本发明。在介绍具体实施例之前,首先对本发明所涉及的几个概念进行定义1.SP 定义定义1. 1非空集合I = U^i2,...,im}称为项集,其中ik(k = 1,...,m)称为项。定义1.2序列是项集的有序排列子集,记为α = < , ,· · ·, >,其中屮(i = l,...,n)为项集,称为序列的元素。含有k个项的序列长度为k=E IaiI,称为k-序列。定义1. 3 令序列 α = <a1 a2, . . . , ειη>,序列 β = <b1; b2,. . .,bm>,若存在整数 1 ^ I1 < i2 < ... < in彡m,使得…^ K’a2 ^ bi2 ’…’ an e bm ,则称序列α是序列β的子 序列,即α 口/ 。定义1. 4所有序列构成的序列集合称为序列数据库。序列数据库中相同子序列出 现的次数称为该子序列的支持度。定义1. 5支持度大于最小支持度(min_SUp)的序列模式称为序列模式(SP)。2. CISP 定义:定义2.1 令序列 α = <a1; ει2,. . .,ειη>,序列 β = <b1; b2,. . .,bm>,m 彡 η,若存在 整数i,1彡i彡m-η+Ι,使得 =bi; =bi+1,. . . , an = bi+n_1 则称序列α是序列β的 邻接子序列,即《口"。定义2. 2给出两个序列ρ和s,P G 出现在s中的总次数我们称为P在s中的 支持度SUPs (P)。定义2. 3给定一个最小支持度min_sup,如果sups (ρ)彡min_sup,则称ρ为s的 一个紧邻序列模式(CISP)。3. FPG 定义定义3. 1 给定一个序列S,构造图G如下G的节点集合为S中所有不同元素的 集合。如果S中元素A的后继为元素B(元素A出现在元素B之前),则G中必存在一条A-B的有向边,且边的权重为此后继关系在S中出现的总次数。我们称G为序列S的访问 图(Access Graph :AG)。AG其由序列S唯一确定。定义3. 2 给定一个序列S则S中长度为L的子序列称为S的一个片段(slice)。 S中所有长度为L的不同片段构成S的片段集合。其中L称为slice长度。定义3. 3 设a, b为序列S中元素,如果a的后继为b,且以a为前缀的片段为A, 以b为前缀的片段为B,则称片段B为S中片段A的后继。定义3. 4 给定一个序列S及片段长度L,构造图G(S,L)如下G的节点集合由S 长度为L的片段集合构成。如果片段A的后继为片段B,则G中必存在一条A — B的有向 边,且边的权重为此后继关系在S中出现的总次数。则称G(S,L)为序列S在片段长度为L 时的频繁模式图FPG (Frequent Pattern Graph)。其由序列S及L唯一确定。定义3. 5 设e为FPG中一条边,则sup (e)表示此边在FPG中的权重;边ei与e」 为相邻边,这两条边的共同节点η e FPG, IN (η)表示所有流入节点η的边集合,OUT (η)表 示所有流出节点η的边集合;给定DC(D0minatingCriteri0n)作为判断边在所有分支中支 配程度的度量。定义DC如下
权利要求
1.一种基于图的存储模式挖掘方法,其特征在于包括下列步骤(a)基于原始序列来构建频繁模式图,其中所述原始序列是信息元素的有序集合;所 述频繁模式图的节点集合是由具有相同长度的片段的集合构成的,所述片段是原始序列的 子序列,所述频繁模式图的边是有后继关系的两个片段之间的有向边,所述有后继关系的 两个片段是指后片段的头元素分别为先片段头元素的后继;边的频度,为此后继关系在原 始序列中出现的总次数;(b)从所述频繁模式图中未被访问的边集合中选取频度最高的边;(c)沿所述频度最高的边向两侧进行模式扩展,直到不能满足模式生长条件为止;(d)重复步骤(b)(c)直到所有频度大于最小阈值的边都被访问过为止。
2.根据权利要求1所述的基于图的存储模式挖掘方法,其特征在于在所述步骤(a)中 的所述频繁模式图是由原始序列和片段的长度唯一确定的,所述片段的长度可以根据实际 应用模式的特点或用户需求进行设置,但必须是大于1的正整数。
3.根据权利要求1所述的基于图的存储模式挖掘方法,其特征在于在所述步骤(d)中 的所述最小阈值可以根据实际应用模式的特点,用户需求或内存容量进行设置,但不应低 于1。
4.根据权利要求1所述的基于图的存储模式挖掘方法,其特征在于在所述步骤(c)中 的所述模式生长条件是指相邻的两条边的权重之和与这两条边的共同节点的所有边的权 重总和之间的比值大于给定的阀值。
5.根据权利要求4所述的基于图的存储模式挖掘方法,其特征在于所述给定的阀值是 可设置的,但必须大于0.5。
6.根据权利要求4所述的基于图的存储模式挖掘方法,其特征在于所述给定的阀值为 0. 85。
7.根据权利要求1所述的基于图的存储模式挖掘方法,其特征在于所述步骤(a)基于 原始序列来构建频繁模式图包括以下步骤(1)为原始序列设置滑动指针,指向原始序列的初始位置;(2)从滑动指针所指原始序列位置截取长度为L的片段,将所述片段加入频繁模式图 的节点集合,并设置该片段为频繁模式图的当前节点;(3)滑动指针向前滑动一位;(4)从滑动指针所指原始序列位置截取长度为L的片段,设置该片段为频繁模式图的 后续节点;如果所述片段不在频繁模式图的节点集合中,则将所述片段加入频繁模式图的 节点集合;(5)当前节点与该后续节点之间形成自然连边,如果所述边不在频繁模式图的边集合 中,则将所述边加入频繁模式图的边集合;如果所述边已在频繁模式图的边集合中,则将边 的频度加1 ;(6)将该后续节点设置为当前节点;滑动指针向前滑动一位;(7)重复上述⑷(5)(6)步骤直到滑动指针指向原始序列的末尾。
8.根据权利要求1所述的基于图的存储模式挖掘方法,其特征在于所述步骤(b)之前 还包括频度排序步骤,对所述频繁模式图中的所有的边按其频度进行排序,得到有序的边 序列。
9.根据权利要求8所述的基于图的存储模式挖掘方法,其特征在于所述频度排序步骤 是对频繁模式图中的所有的边按其频度进行逆排,得到逆排序的边序列。
全文摘要
本发明提供一种基于图的存储模式挖掘方法,通过一次遍历将原始序列信息累积并压缩保存于频繁模式图中,再利用模式生长条件通过对频繁模式图中频繁子图的游历产生优化有效的模糊频繁子模式。通过图中拓扑对原始序列信息的保存避免了对序列的多次扫描;同时其利用频度模式简化挖掘目标,降低了挖掘开销,适合大规模数据密集应用的存储模式挖掘并支持在线流式挖掘。
文档编号G06F17/30GK102096719SQ20111004096
公开日2011年6月15日 申请日期2011年2月18日 优先权日2011年2月18日
发明者张敬亮, 梁爽 申请人:中国科学院计算技术研究所, 天津中科蓝鲸信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1