频繁co‑location模式的无损压缩方法与流程

文档序号:12034743阅读:485来源:国知局
频繁co‑location模式的无损压缩方法与流程
本发明属于空间co-location(并置)模式挖掘
技术领域
,特别是涉及一种频繁co-location(并置)模式的无损压缩方法。
背景技术
:空间co-location模式挖掘(miningprevalentco-locationpatternsfromspatialdatasets)用于识别传统地理空间数据集中频繁地紧密相邻出现的空间特征组。如图1是一个空间数据集的例子。图中以不同的图标表示不同的空间特征,如房子。图中共有5个特征,每个特征有4个空间实例。从图中可以观察到,空间特征枯树和山火以及房子和鸟的实例趋于频繁地紧密相邻出现。这两个模式暗示着“山火频繁与枯树太多有关”,而“房子与鸟的频繁出现,说明人居环境得到了改善”。空间co-location模式挖掘的应用包括找出生活(或生长)空间相互重叠的动(或植)物、识别特定人群经常聚集的地段以便有目的地放置特定广告、理解地球气候系统不同元素之间的联系等。由于此研究领域具有较高的理论研究与实际应用价值,国内外许多研究者提出了各种空间co-location模式挖掘算法。与从事务数据库中挖掘频繁项集类似,从大型空间数据库中挖掘频繁co-location模式集的主要挑战是这种挖掘常常产生大量满足最小频繁性阈值m的空间co-location模式,当m设得很低时尤其如此。这是因为如果一个co-location模式是频繁的,则他的所有子集也是频繁的。为此,现有技术(j.s.yooandm.bow.miningtop-kclosedco-locationpatterns[c].inproceedingsofieeeinternationalconferenceonspatialdataminingandgeographicalknowledgeservices(icsdm),pp.100-105,2011.记为文献2)提出了一种top-k闭co-location模式概念和相应的挖掘算法,在该文献中,闭co-location模式的概念是:一个co-location模式c是闭的,当且仅当它的参与度值均大于它的任何超模式的参与度值,即:top-k闭co-location模式的概念是:设l是按参与度值降序排列的所有闭co-location模式的列表,p是列表l中第k个闭co-location模式的参与度,top-k闭co-location模式是指所有参与度值大于等于p的闭co-location模式的集合。top-k闭co-location模式挖掘的方法是:首先,把输入数据组织成实例邻居事务集和特征邻居事务集。邻居事务集的优点在于:1、它不会丢失任何具有邻近关系的实例对;2、它易建成;3、由它可方便地产生候选co-location模式;4、它可以给出co-location模式参与度的上界值。其次,使用类fp-tree结构来存储具有邻近关系的空间特征,从而可以得到星型邻居候选模式。然后,通过组合相关星型邻居候选模式,可以得到候选co-location模式和候选模式参与度的上界值。接下来,利用内部最小频繁性阈值θ可以定义一个剪枝框架,从而减少搜索空间中候选模式的数量。这个剪枝框架的基本思想是:设定当前top-k结果集中最小的参与度值为内部最小频繁性阈值θ,如果下一个候选的参与度的上界值小于θ,则它及它所有的超集均可以剪枝。再然后,对于不能剪枝的候选模式,利用实例邻居事务集获得候选模式的表实例,从而可以计算候选模式的真实参与度值。最后,利用折半查找的方法在top-k有序结果集中对比co-location模式的参与度值,从而得到最终的top-k闭模式集。对于图2(a)所示的空间数据集,通常用f={a,b,c,d}来表示空间特征的集合,而特征实例则记为“特征.数字编号”,例如“a.1”,图中用实例间的连线表示两个实例间存在邻近关系。可以看到,在图2(a)所示的这个空间数据集中特征a有4个实例,b有5个实例,c有3个实例,而d有4个实例。而参与率和参与度的引入,则可用来挑选出f中所有的频繁co-location模式。假若此时设置最小参与度阈值m=0.3,那么这个数据集所包含的频繁co-location模式为:{a,b,c,d},{a,b,c},{a,b,d},{a,c,d},{b,c,d},{a,b},{a,c},{a,d},{b,c},{b,d}和{c,d}(图2(b)给出了图2(a)数据集的所有co-location模式的表实例、参与率和参与度等值)。然而,由于满足向下闭包性质的co-location模式会产生大量的冗余模式,因此如何使用一个精简集(较小的集合),使其不仅能描绘原始结果集且通过它能够推导出原始的结果集便成了新的研究热点。于是,学者们提出了极大co-location模式集和闭co-location模式集这两个概念。极大co-location模式集是有损压缩的精简集,这是因为它虽能推导出原始结果集,但不一定能推导出相应的参与度(pi)值。而闭co-location模式集是无损压缩的精简集,它解决了极大co-location模式集不能推导出相应参与度(pi)值的问题。但这也使得闭co-location模式集的精简能力变得很有限。例如,图2(a)中数据集的闭co-location模式集是{{a,b,c,d},{a,b,d},{a,c,d},{b,c,d},{a,b},{a,d},{b,d},{c,d}},可以看到,这样的精简集依旧很大。实践中,由空间数据集产生的频繁co-location模式的数量可能非常大,因此,从中识别出可以推导出其他所有的频繁co-location模式的、较小的、具有代表性的压缩子集是有用的。频繁闭co-location模式集(记为pi-闭co-location模式集)提供了频繁co-location模式集的一种压缩表示,该表示不丢失参与度信息。存在的频繁闭co-location模式概念沿袭了传统频繁闭项集的思想,其结果是压缩率极低,即频繁闭co-location模式数目仍然偏大。技术实现要素:本发明实施例的目的在于提供一种频繁co-location模式的无损压缩方法,该方法提供了频繁co-location模式集的更小的、不丢失参与度信息的压缩表示。本发明所采用的技术方案是,频繁co-location模式的无损压缩方法,首先定义spi-闭co-location模式:定义1.对于两个给定的co-location模式c和c′且c在c′中的超参与度spi(c|c')被定义为通过c'的表实例计算得到的c中所有特征参与率的最小值,即:spi(c|c')=min{pr(c',fi),fi∈c};定义2.一个co-location模式c是spi-闭co-location模式,当且仅当c的pi值大于c在它所有spi-闭的超模式c'中的spi值,即:当且仅当c'是spi-闭co-location模式,同时pi(c)>spi(c|c')→c是一个spi-闭co-location模式;定义3.若一个spi-闭co-location模式c是spi-闭频繁co-location模式,当且仅当c是spi-闭的且pi(c)≥m,其中m表示的是用户指定的频繁性阈值;而对于一个co-location模式c,如果存在一个co-location模式c'使得且pi(c)=spi(c|c')(pi(c)=pi(c')),那么称“c'spi-覆盖c(pi-覆盖)”;然后,按照以下步骤进行:步骤1,预处理输入数据:生成邻居事务集nt和特征邻居事务集ent;步骤2,使用字典序前缀树结构来存储特征邻居事务集,基于特征邻居事务集的前缀树结构,生成星型spi-闭候选模式,组合星型spi-闭候选模式生成团spi-闭候选模式;步骤3,生成了团spi-闭候选模式之后,通过扫描邻居事务集nt,可以得到候选模式的候选表实例,再通过检测其它实例的邻近关系,可以得到真正符合团关系的表实例;基于表实例可以计算模式的参与度pi,同时可以通过以下方法判定一个模式是否是spi-闭co-location模式:对于k阶候选模式c,若pi(c)=upi(c)(c的参与度pi=c的上界参与度upi),那么c一定是spi-闭co-location模式;否则,就需要先生成模式c的所有k-1阶被剪枝的子模式作为候选,接下来,若pi(c)<m,那么c就被剪枝掉;如若大于等于m,则需要根据定义2和定义3来判定c是否是一个spi-闭co-location模式。进一步的,所述步骤1中,预处理输入数据具体过程为:使用给定的邻近距离阈值处理输入数据集,得到所有的邻近实例对,通过分组邻近实例对,生成邻居事务集nt,然后,根据邻居事务集nt生成特征邻居事务集ent;对于一个空间特征实例f.i∈s,它的实例邻居事务集是一个包含f.i和所有与f.i具有邻近关系的其它空间特征实例的集合,也就是nt(f.i)={f.i,g.j∈s|nr(f.i,g.j)=trueandf≠g},其中nr表示空间实例之间的邻近关系,f.i被称为参考实例,所有实例的邻居事务集的集合称为空间数据的邻居事务集,记为nt;实例邻居事务集nt中不同空间特征的字典序集,称为特征邻居事务集ent。进一步的,所述步骤2使用字典序前缀树结构来存储特征邻居事务集的具体过程为:步骤1.定义字典序前缀树;以参考实例的特征类型为根节点,以特征邻居事务集中邻居特征为子节点;每个子节点由三部分内容构成:特征类型,计数值和节点连线;其中,特征类型用来标识节点;计数值代表在整个特征事务集中有几条路径可以从参考实例的特征类型到达该特征类型;节点连线连接的是在这棵树中与该节点拥有相同特征类型的节点;步骤2.由于在字典序前缀树中,所有的子节点都与根节点具有邻近关系,所以可以生成星型spi-闭候选co-location模式;而且通过字典序前缀树,还可以得到此星型spi-闭co-location模式的参与率上界值(upr);若在同一棵树中,某个候选的上界参与率等于它的超候选的上界参与率,那么,就标红这个星型候选;但若某个候选的上界参与率小于阈值m,那么就把它删除掉;步骤3,通过组合k个相关星型spi-闭co-location候选模式,生成k阶团spi-闭co-location候选模式,且这k个星型候选中最小的上界参与率便是k阶团spi-闭co-location候选模式的上界参与度值(upi)。本发明的有益效果是:提出了一种频繁co-location模式的无损压缩新方法,称为spi-闭co-location模式挖掘方法。spi-闭co-location模式集提供了频繁co-location模式集的更小(比现有技术提出的闭co-location模式(称为pi-闭co-location模式)集减少约30%)的、不丢失参与度信息的压缩表示。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是空间数据集举例。图2a是一个空间数据集示例,图2b是图2a中所有可能的co-location模式的co-location实例、参与率和参与度值。图3是候选模式的生成示例,其中图3a是表1(a)数据集中特征的字典序前缀树;图3b是星型spi-闭候选模式;图3c是团spi-闭候选模式。图4是本发明实施例中spi-挖掘器和pi-挖掘器运行时间对比图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。首先,给出spi-闭co-location模式的相关定义和引理,然后给出能够直接挖掘这一类模式的方法。定义1.超参与度,thesuperparticipationindexspi(c|c')对于两个给定的co-location模式c和c′且c在c′中的超参与度spi(c|c')被定义为通过c'的表实例计算得到的c中所有特征参与率的最小值。即:spi(c|c')=min{pr(c',fi),fi∈c}。例1,在图2(a)中,spi({a,c,d}|{a,b,c,d})=min{pr({a,b,c,d},a)=2/4,pr({a,b,c,d},c)=1/3,pr({a,b,c,d},d)=2/4}=1/3。类似地,spi({a,b,d}|{a,b,c,d})=2/5。定义2.spi-闭co-location模式,spi-closedco-locationpatterns一个co-location模式c是spi-闭co-location模式,当且仅当c的pi值大于c在它所有spi-闭的超模式c'中的spi值。即:当且仅当c'是spi-闭co-location模式,同时pi(c)>spi(c|c')→c是一个spi-闭co-location模式。为方便后面的描述,我们把传统闭co-location模式(即文献2提出的闭co-location模式)记作pi-闭co-location模式(pi-closedco-locationpatterns)。例2,对于图2(a)中的空间数据集,若m=0.3,那么{a,b,c,d}是一个spi-闭co-location模式。而由于pi({a,b,c})=spi({a,b,c}|{a,b,c,d})=pi({a,b,c,d}),pi({a,b,d})=spi({a,b,d}|{a,b,c,d})>pi({a,b,c,d}),所以{a,b,c}和{a,b,d}都不是spi-闭co-location模式,但是,{a,b,d}是一个pi-闭co-location模式。定义3.spi-闭频繁co-location模式,spi-closedprevalentco-locationpatterns若一个spi-闭co-location模式c是spi-闭频繁co-location模式,当且仅当c是spi-闭的且pi(c)≥m,其中m表示的是用户指定的频繁性阈值。为了简化陈述,用spi-闭co-location模式代替spi-闭频繁co-location模式。而对于一个co-location模式c,如果存在一个co-location模式c'使得且pi(c)=spi(c|c')(pi(c)=pi(c')),那么称“c'spi-覆盖c(pi-覆盖)”。引理1.若且“c'pi-覆盖c”,那么“c'spi-覆盖c”一定成立。引理2.在频繁co-location模式集中,spi-覆盖关系是一种伪偏序关系,它满足:(1)“cspi-覆盖c”。(自反性)(2)若“c′spi-覆盖c”且“cspi-覆盖c′”,那么c=c′。(反对称性)(3)若pi(c)=pi(c′)且“c"spi-覆盖c′”,那么“c"一定能够spi-覆盖c”。(伪传递性)我们注意到,“pi-覆盖关系”是满足传递性的,但是“spi-覆盖关系”并非如此。这也就是为什么在定义2中附加了条件“c'是spi-闭co-location模式”。此外,寻找spi-闭co-location模式的过程必须自顶向下进行,也就是说,spi-闭co-location模式的挖掘是从高阶到低阶依次生成的。最后,spi-闭模式集的压缩性能比pi-闭模式集的压缩性能要强,也就是说,对于同一数据集,我们得到的spi-闭模式集sspi-closed中所包含的模式数量要比pi-闭模式集spi-closed中所包含的模式数量要少。引理3.若c∈sspi-closed,那么c∈spi-closed,反之则不一定成立。下面阐述直接挖掘spi-闭co-location模式的有效方法,称为spi-闭挖掘器。为了快速生成spi-闭co-location模式集,需要预处理输入数据,其过程如下:对于一个空间特征实例f.i∈s,它的实例邻居事务集是一个包含f.i和所有与f.i具有邻近关系的其它空间特征实例的集合。也就是,nt(f.i)={f.i,g.j∈s|nr(f.i,g.j)=trueandf≠g},其中nr表示空间实例之间的邻近关系,f.i被称为参考实例。例如,在图2(a)中,实例a.1的实例邻居事务集是{a.1,b.1,c.1,d.1}。而表1(a)给出了图2(a)中所有空间实例的邻居事务集。实例邻居事务集中不同空间特征的字典序集,称为特征邻居事务集,如表1(b)是表1(a)对应的特征邻居事务集。表1为图2(a)空间数据集的实例邻居事务集和特征邻居事务集为了方便快捷地生成候选spi-闭co-location模式并剪枝候选搜索空间,使用字典序前缀树结构来存储特征邻居事务集。首先,我们定义字典序前缀树。它以参考实例的特征类型为根节点,以特征邻居事务集中邻居特征为子节点。每个节点由三部分内容构成:特征类型,计数值和节点连线。其中,特征类型用来标识节点;计数值代表在整个特征事务集中有几条路径可以从参考实例的特征类型到达该特征类型;节点连线连接的是在这棵树中与该节点拥有相同特征类型的节点。例如,表1(b)中的特征邻近事务集的字典序前缀树如在图3(a)所示。其次,由于在字典序前缀树中,所有的子节点都与根节点具有邻近关系,所以可以生成星型spi-闭候选co-location模式。而且通过字典序前缀树,还可以得到此星型spi-闭co-location模式的参与率上界值(它是根节点的参与率上界值)。若在同一棵树中,某个候选的上界参与率等于它的超候选的上界参与率,那么,就标红这个星型候选。但若某个候选的上界参与率小于阈值m,那么就把它删除掉。例如,对于图3(a)中特征a的字典序前缀树,如果m=0.3,可以得到星型候选及上界参与度:{a,b,c,d}:2/4,{a,b,c}:2/4,{a,b,d}:2/4,{a,c,d}:3/4,{a,b}:3/4,{a,c}:3/4,{a,d}:3/4。而其中需要被标红的候选模式分别为:{a,b,c}:2/4,{a,b,d}:2/4,{a,c}:3/4和{a,d}:3/4。图3(a)中4棵前缀树所能生成的星型spi-闭co-location候选模式如图3(b)所示。最后,通过组合k个相关星型spi-闭co-location候选模式,生成k阶团spi-闭co-location候选模式,且这k个星型候选中最小的上界参与率便是k阶团spi-闭co-location候选模式的上界参与度值。剪枝1(非频繁剪枝):若一个co-location模式c不是某个特征fi(fi∈c)前缀树的星型spi-闭co-location候选模式,那么c可以被剪枝掉。例如,若m=0.4,那么模式{c,a,b,d}和{c,a,b}就不是特征c前缀树的星型spi-闭co-location候选模式。那么,{a,b,c,d}和{a,b,c}不能再组合形成团spi-闭co-location候选模式,{a,b,c,d}和{a,b,c}可以被剪枝掉。剪枝2(非spi-闭剪枝1):若一个团spi-闭候选模式c的upi值(上界参与度值)被标红,且upi(c)=upi(c')(c′是一个团spi-闭候选模式),那么c可以被剪枝掉。例如,在图3(c)中,upi({a,b,c})=upi({a,b,c,d}),若{a,b,c,d}是团spi-闭候选模式,那么{a,b,c}可以被剪枝掉。同样地,{a,c}和{b,c}也可以被剪枝掉。剪枝3(非spi-闭剪枝2):若一个团spi-闭候选模式c的upi值被标红,且upi(c)=uspi(c|c')(c′是一个团spi-闭候选模式,uspi(c|c')是指超参与度上界值),那么c可以被剪枝掉。例如,在图3(c)中,upi({a,b,d})=uspi({a,b,d}|{a,b,c,d})=2/5,若{a,b,c,d}是团spi-闭候选模式,那么{a,b,d}可以被剪枝掉。同样地,{a,d}也可以被剪枝掉。但是,由于upi({b,d})≠uspi({b,d}|{b,c,d}),所以{b,d}不可以被剪枝掉。如图3(c)所示,若m=0.3,那么可以得到的团spi-闭候选模式和它们的upi值分别为:{a,b,c,d}:1/3,{a,c,d}:2/3,{b,c,d}:2/3},{a,b}:3/5,{b,d}:3/4和{c,d}:1。注意到,对于图2(a)中的空间数据集,通过上述的剪枝过程,所有非spi-闭模式都已被剪枝掉。此外,注意到,剪枝3包含了剪枝2,也就是说,能被剪枝2剪枝掉的候选模式,也能用剪枝3剪枝掉。之所以保留剪枝2的原因在于:1、当使用值对比策略时,剪枝2的计算复杂性要比剪枝3的低;2、符合剪枝2条件的非spi-闭模式居多。一旦生成了候选模式之后,就需要找出每个候选模式的表实例并计算出它们的真实参与度(pi)值。对此,将以自顶向下的方式来完成。通过扫描邻居事务集,可以得到候选模式的候选表实例,再通过检测其它实例的邻居事务集,可以得到真正符合团关系的表实例。例如,在图3(a)中,{a.2,b.2,c.1,d.2}是候选模式{a,b,c,d}的真实表实例。但{a.2,b.1,c.1,d.2}就不是了。对于k阶候选模式c,若pi(c)=upi(c),那么c一定是spi-闭co-location模式。否则,就需要先生成模式c的所有k-1阶子模式,接下来,若pi(c)<m,那么c就被剪枝掉;如若大于等于m,则需要根据定义2和定义3来检测c是否是一个spi-闭co-location模式。需要注意的是,2阶co-location模式的upi值是其真实的pi值。下面,给出直接挖掘spi-闭co-location模式的spi-闭挖掘器的算法:而第三部分的主要功能是计算cncc中每个候选模式的真实pi值,且生成spi-闭频繁co-location模式集ω。特别地,若一个候选模式c,其pi(c)=upi(c),那么就直接把模式c从cncc移到ω中。但若候选模式c的pi(c)≠upi(c),那么就用steps25)–27)进一步处理它们。下面通过一组实验(实施例)来验证本发明提出的spi-闭co-location模式集和spi-闭挖掘器的性能。本实验所采用的编程工具是visualc++。运行spi-挖掘器的实验环境是:cpu:intelcorei53337u@1.80ghz;ram:2gb;operatingsystem:microsoftwindows7.实施例所使用的数据是来自“云南三江并流保护区”的植物分布数据集,它拥有少量空间特征,但含有大量特征实例。此组数据是分布在110000m×160000m区域范围,它不仅含有离散分布的数据,而且含有聚簇分布的数据。如表1所示。表1.云南三江并流保护区植物分布数据集数据集名特征数实例数(max,min)实例分布区域(米)云南三江并流植物分布数据集15501046(55646,8706)110000×160000(max,min):用来表示此数据集中所有特征的最大实例数目和最小实例数目使用表1所示的数据集,我们对spi-闭挖掘器和pi-闭挖掘器进行对比。如表2所示,它给出的是随着模式阶数的增长,生成的候选模式的数量和最终结果模式的数量。可以看到,spi-闭挖掘器生成的候选模式的数量比pi-闭挖掘器生成的候选模式的数量要少。此外,随着模式阶数的增长,spi-闭挖掘器生成的候选模式的数量和最终结果模式的数量越来越靠近。这样就会大幅度地减少算法的运行时间,因为判定一个长候选模式是否是闭模式所花费的时间要比判定一个较短的候选模式所花费的时间要长。表2.spi-闭挖掘器和pi-闭挖掘器对比在这个实验中,我们设置d=10000,m=0.3如图4所示,我们可以看到,当m和d比较小时,spi-闭挖掘器要比pi-闭挖掘器运行的快。特别是当m=0.1时,spi-闭挖掘器比pi-挖掘器快了三倍。本发明的优点是:1、提出的spi-闭co-location模式集提供了频繁co-location模式集的更小(比文献2提出的闭co-location模式(称为pi-闭co-location模式)集减少约30%)的、不丢失参与度信息的表示。2、设计的spi-闭挖掘器的运行时间比传统pi-闭co-location模式挖掘所用的时间要少。首先,因为spi-闭模式的约束条件要比pi-闭模式的约束条件要强,所以,与pi-闭模式挖掘算法相比,在spi-闭挖掘器中生成的候选模式要少;其次,在spi-闭co-location模式生成的过程中,大量的时间被用在生成co-location实例和计算pi值上。因此,在生成候选模式的过程中,我们使用了3种剪枝策略来尽可能地去掉非spi-闭模式,如图1(a)所示的数据,在组合过滤阶段,所有非spi-闭co-location模式已被全部剪枝掉了。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1