CN104899283A - 一种针对单个不确定图的频繁子图挖掘与优化方法 - Google Patents
一种针对单个不确定图的频繁子图挖掘与优化方法 Download PDFInfo
- Publication number
- CN104899283A CN104899283A CN201510296077.2A CN201510296077A CN104899283A CN 104899283 A CN104899283 A CN 104899283A CN 201510296077 A CN201510296077 A CN 201510296077A CN 104899283 A CN104899283 A CN 104899283A
- Authority
- CN
- China
- Prior art keywords
- graph
- single uncertain
- subgraph
- uncertain
- support
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种针对单个不确定图的频繁子图挖掘与优化方法,包括:获取单个不确定图;根据单个不确定图枚举出单个不确定图的所有子图;在单个不确定图的所有蕴含图中指定部分蕴含图为样本图;使用计算重用方法分别计算单个不确定图的每个样本图的存在概率,并使用计算重用方法计算每个子图在单个不确定图的样本图上的期望支持度;根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图;输出所有频繁子图。
Description
技术领域
本发明涉及图挖掘技术,特别地,涉及一种针对单个不确定图的频繁子图挖掘与优化方法。
背景技术
不确定性在现实应用中,无论是对内源还是外源,都是一种固有的属性。例如,在一个合作社交网络中,利用目前掌握的信息,我们未必能明确断言比尔和马修两人具有很好的合作关系,通常我们使用概率来衡量这种合作关系的可能性。假设这种关系存在的概率为p,p的值由本领域专家通过可用信息人工确定,或者由信息抽取或生成规则自动产生。在大数据时代的今天,对于管理不确定数据有更为强烈的需求,因此目前出现了各种质量不一的数据。特别地,我们专注于不确定图,尤其是图的边上具有存在概率的不确定图。不确定图模型具有广泛的应用领域,除了社会网络,不确定图模型还被应用于通信网络,无线传感器网络,蛋白质交互网络以及生物学中的调控网络等。
另一方面,频繁模式挖掘作为数据挖掘领域高度关注的主题,一直持续了近十年,相关研究也取得了长足的进展,其中频繁子图引起了特别的研究兴趣。所谓频繁子图是指从多个小确定图的集合或者单个大确定图中发现的支持度不小于用户给定阈值的子图。频繁子图再刻画确定图的数据特征、分类、聚类以及建立索引方面具有重要作用。
虽然目前对于频繁子图及其在确定图上挖掘的方法已经具有很好的理解,但在不确定图上,这一问题变得更加有趣但也更少被研究。一个不确定图时特殊的边加权图,其中每条边(u,v)上的权重是其存在的概率。最近,研究工作致力于在多个小的不确定图的图集上挖掘频繁子图。但是,该问题在单个大型不确定图中虽然同等重要,因为现实生活中的大型网络越来越多地出现了不确定性——比如,在社会网络中一个人对另一个人的影响是具有概率的;在生物网络中的蛋白质交互情况也有一定测量误差——但现有技术在本方面是一片空白。
针对现有技术中缺乏针对单个不确定图的频繁子图挖掘与优化技术方案的问题,目前尚缺乏有效的解决方案。
发明内容
针对现有技术中缺乏针对单个不确定图的频繁子图挖掘与优化技术方案的问题,本发明的目的在于提出一种针对单个不确定图的频繁子图挖掘与优化方法,能允许针对单个不确定图进行频繁子图挖掘并优化挖掘算法,填补了本领域的技术空白。
基于上述目的,本发明提供的技术方案如下:
根据本发明的一个方面,提供了一种针对单个不确定图的频繁子图挖掘与优化方法,包括:
获取单个不确定图;
根据单个不确定图枚举出单个不确定图的所有子图;
在单个不确定图的所有蕴含图中指定部分蕴含图为样本图;
使用计算重用方法分别计算单个不确定图的每个样本图的存在概率,并使用计算重用方法计算每个子图在单个不确定图的样本图上的期望支持度;
根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图;
输出所有频繁子图。
其中,使用计算重用方法分别计算单个不确定图的每个样本图的存在概率,并使用计算重用方法计算每个子图在单个不确定图的样本图上的期望支持度,为根据单个不确定图构造重用树,为单个不确定图的每个样本图中的每条嵌入边构建反向索引,并根据重用树与反向索引分别计算单个不确定图的每个样本图的存在概率与每个子图在单个不确定图的样本图上的期望支持度。
并且,根据单个不确定图构造重用树,为从单个不确定图上选取一根节点,根据一条嵌入边的存在与否生成第一层二叉树,再根据根节点的子节点上嵌入边的存在与否生成第二层二叉树,如此重复直到单个不确定图上所有节点与嵌入边的二叉树形式均被重用树包括。
另外,根据单个不确定图枚举出单个不确定图的所有子图包括:
从单个不确定图提取出多个蕴含图,每个蕴含图都是单个不确定图可能的存在方式;
分别计算每个蕴含图所包含的所有子图。
并且,提取出多个蕴含图的个数为2的单个不确定图中边的个数次幂。
并且,在单个不确定图的所有蕴含图中指定部分蕴含图为样本图,为在单个不确定图的所有蕴含图随机指定数个蕴含图为样本图,其中,样本图的数量与任一子图在单个不确定图的所有蕴含图的支持度最大值的平方成正比,与不置信度的自然对数成反比,与误差系数的平方成反比,与支持度阈值的平方成反比。
并且,使用计算重用方法分别计算单个不确定图的每个样本图的存在概率,并使用计算重用方法每个子图在单个不确定图的样本图上的期望支持度包括:
根据单个不确定图中每条边的概率,计算出每个蕴含图的存在概率;
指定单个不确定图的所有子图中的一个;
分别计算被指定的子图在每个样本图上的支持度;
根据每个样本图的存在概率、被指定的子图在每个样本图上的支持度,计算被指定的子图在每个样本图的支持度;
继续从单个不确定图中指定下一个子图并计算其在每个样本图上的支持度,直到单个不确定图的所有子图都被指定;
根据每个子图在每个样本图上的支持度,计算每个子图在单个不确定图上的期望支持度。
并且,分别计算被指定的子图在每个样本图上的支持度,为使用最大独立集法计算被指定的子图在每个样本图上的基于最小像的支持度。
并且,根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图包括:
获取期望支持度阈值;
根据单个不确定图的每个样本图的存在概率,计算子图在所有支持度等于一恒定值的蕴含图上的聚合概率;
根据子图在所有支持度等于一恒定值的蕴含图上的聚合概率,计算子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率;
根据子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率,计算当前概率观察值与结果区间;
根据结果区间与期望支持度阈值判定子图是否为频繁子图,将所有结果区间上限大于期望支持度阈值、且结果区间下限大于期望支持度阈值与非误差系数的乘积的子图判定为频繁子图,将所有结果区间上限小于期望支持度阈值的子图判定为不是频繁子图。
从上面所述可以看出,本发明提供的技术方案通过将单个不确定图划分为多个蕴含的确定图并将蕴含图视作确定图使用计算重用方法抽样计算子图的期望支持度的手段,能在单个不确定图上使用频繁子图挖掘技术,填补了本领域的技术空白。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种针对单个不确定图的频繁子图挖掘与优化方法的流程图;
图2为根据本发明实施例的一种针对单个不确定图的频繁子图挖掘与优化方法中,单个不确定图、确定图与子图的一个实施例;
图3为根据本发明实施例的一种针对单个不确定图的频繁子图挖掘与优化方法中,根据布尔表达式获得的单个不确定图及其子图的一个实施例;
图4为根据本发明实施例的一种针对单个不确定图的频繁子图挖掘与优化方法中,单个不确定图的两个样本图及其重用树的一个实施例。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
一个确定图G是一个元组(VG,EG,lG,ΣG),其中,VG是节点集合,是边的集合,lG:VG∪EG→ΣG是为节点和边赋予标签的函数。|VG|和|EG|分别表示G中节点和边的数量。为了描述简便,我们假设图是无向的,且没有自循环和多重边。但是,本方法可以很容易的被拓展到具有多重边的有向图。
如果存在单射f:Vg→VG同时满足以下两个条件:
我们就用表示一个子图g同构于确定图G。我们称g是G的子图,G是g的超图,f(g)是g在G中的一个嵌入。如果g是g′的直接超图,那么且|Eg|=|Eg′|+1。直接超图是指仅比子图多一条边的超图。
对于以及支持度阈值τ,假设存在一个函数来衡量g在G中的支持度,那么最直接的想法是计算g在G中的同构次数。然而,该支持度计算方法不具有反单调性。反单调性对于开发能够有效剪枝搜索空间的算法是十分关键的,如果没有此性质,则不得在整个空间进行穷举搜索。因此,目前的研究提出了很多具有反单调性的支持度计算法方法,包括最小映射法(MI),有害重叠法(HO),以及最大独立集法(MIS)。这些计算方法都是基于子图同构,但对延生的重叠兼容性有所不同,而导致计算复杂度不同。特别的,MI是唯一一个可以高效计算的方法,而HO和MIS都涉及解决NP完全的问题;MI得到的结果是HO/MIS得到结果的超集,因此,其结果可以从MI的结果通过进一步计算得到。因此,接下来我们使用MI作为支持度计算的标准,然而算法只需要简单改变即可拓展到另外两种计算方法。
考虑从g到G的一个子图同构集合F={f}。F(v)表示{v′},其中对于每个v′,存在映射f将v∈Vg映射到v′∈VG。基于最小像的支持度表示为 下文中“支持度”是“基于最小像的支持度”的缩写。
图2示出了确定图G和子图g,该图建模了合作社交网络,其中节点表示人,边表示合作关系。每个人的研究领域作为标签,即Bio表示生物学家;为了图示的清晰,边的标签被省略了。容易发现在g和G之间有三个同构,分别是(u1,u2)到(v1,v2),(v3,v2)和(v3,v4)。结果是sup(g,G)=min{2,2}=2。
虽然在确定图上子图的重要性由支持度进行衡量,但此概念在不确定图上没有意义,因为图结构中存在概率,包含关系变得模糊或者不确定.现有的工作在多个小的不确定图的图集上定义了期望支持度,该定义计算不确定图来自所蕴含的确定图中支持度的贡献,只要当前子图被包含了一次.扩展此概念,我们定义单个大的不确定图上期望支持度为在所有可能图上支持度的聚合值,即支持度在所有由不确定图蕴含的确定图上的概率分布.子图超过一个给定阈值被认为是频繁的.由于定义的偏移,目前在多个小不确定图的图集上的算法不再适用于单个不确定图.我们提出了一个高效的具有精度保证的解决方案,解决了基于边的概率和基于点的支持度计算。
根据本发明的实施例,提供了一种针对单个不确定图的频繁子图挖掘与优化方法。
如图1所示,根据本发明的实施例提供的针对单个不确定图的频繁子图挖掘与优化方法包括:
步骤S101,获取单个不确定图;
步骤S103,根据单个不确定图枚举出单个不确定图的所有子图;
步骤S105,在单个不确定图的所有蕴含图中指定部分蕴含图为样本图;
步骤S107,使用计算重用方法分别计算单个不确定图的每个样本图的存在概率,并使用计算重用方法计算每个子图在单个不确定图的样本图上的期望支持度;
步骤S109,根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图;
步骤S111,输出所有频繁子图。
其中,使用计算重用方法分别计算单个不确定图的每个样本图的存在概率,并使用计算重用方法计算每个子图在单个不确定图的样本图上的期望支持度,为根据单个不确定图构造重用树,为单个不确定图的每个样本图中的每条嵌入边构建反向索引,并根据重用树与反向索引分别计算单个不确定图的每个样本图的存在概率与每个子图在单个不确定图的样本图上的期望支持度。
并且,根据单个不确定图构造重用树,为从单个不确定图上选取一根节点,根据一条嵌入边的存在与否生成第一层二叉树,再根据根节点的子节点上嵌入边的存在与否生成第二层二叉树,如此重复直到单个不确定图上所有节点与嵌入边的二叉树形式均被重用树包括。
另外,根据单个不确定图枚举出单个不确定图的所有子图包括:
从单个不确定图提取出多个蕴含图,每个蕴含图都是单个不确定图可能的存在方式;
分别计算每个蕴含图所包含的所有子图。
并且,提取出多个蕴含图的个数为2的单个不确定图中边的个数次幂。
并且,在单个不确定图的所有蕴含图中指定部分蕴含图为样本图,为在单个不确定图的所有蕴含图随机指定数个蕴含图为样本图,其中,样本图的数量与任一子图在单个不确定图的所有蕴含图的支持度最大值的平方成正比,与不置信度的自然对数成反比,与误差系数的平方成反比,与支持度阈值的平方成反比。
并且,使用计算重用方法分别计算单个不确定图的每个样本图的存在概率,并使用计算重用方法每个子图在单个不确定图的样本图上的期望支持度包括:
根据单个不确定图中每条边的概率,计算出每个蕴含图的存在概率;
指定单个不确定图的所有子图中的一个;
分别计算被指定的子图在每个样本图上的支持度;
根据每个样本图的存在概率、被指定的子图在每个样本图上的支持度,计算被指定的子图在每个样本图的支持度;
继续从单个不确定图中指定下一个子图并计算其在每个样本图上的支持度,直到单个不确定图的所有子图都被指定;
根据每个子图在每个样本图上的支持度,计算每个子图在单个不确定图上的期望支持度。
并且,分别计算被指定的子图在每个样本图上的支持度,为使用最大独立集法计算被指定的子图在每个样本图上的基于最小像的支持度。
并且,根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图包括:
获取期望支持度阈值;
根据单个不确定图的每个样本图的存在概率,计算子图在所有支持度等于一恒定值的蕴含图上的聚合概率;
根据子图在所有支持度等于一恒定值的蕴含图上的聚合概率,计算子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率;
根据子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率,计算当前概率观察值与结果区间;
根据结果区间与期望支持度阈值判定子图是否为频繁子图,将所有结果区间上限大于期望支持度阈值、且结果区间下限大于期望支持度阈值与非误差系数的乘积的子图判定为频繁子图,将所有结果区间上限小于期望支持度阈值的子图判定为不是频繁子图。
下面根据具体实施例进一步阐述本发明的技术方案。
一个不确定图是一个元组Gu=(G,P),其中G是一个确定图,P:EG→(0,1是一个概率函数,将每条边e映射为一个存在概率,由Pe表示,e∈EG。G是主干图。
一旦确定了每条边的存在情况,由Gu可以蕴含得到确定图Gi,称为蕴含图。因此一个不确定图Gu总共蕴含可能的确定图,每个蕴含图都是Gu可能的存在方式。
我们考虑的模型假设边之间的存在概率是相互独立的,这种模型有很多实际的应用,那么,Gu蕴含Gi的概率,或者Gi的存在概率,可以通过包括或不包括边来计算:
既然经典的关于支持度的概率在不确定图上变得很有意义,我们求助于期望支持度,即在蕴含图上的概率分布情况。
我们将子图g在不确定图Gu上的期望支持度定义为:
其中,Gi是Gu的蕴含图。给定期望支持度阈值σ,子图g如果是频繁的,那么g在Gu中的期望支持度将不小于阈值,即esup(g,Gu)≥σ。
对每个Gu的蕴含图Gi,esup(g,Gi)≤esup(g′,Gi)。不等式在对i进行求和后仍然成立。因此,esup(g,Gu)≤esup(g′,Gu),期望支持度是反单调的。
在图2中,我们为G的每条边赋予一个存在概率并构造一个不确定图Gu,其中存在概率建模两个人合作关系的紧密程度。此时,G是主干图,同时Gu有8个蕴含图, 我们在上文中已经计算出sup(g,G)=2,因此照此将所有来自蕴含图的值聚合起来,可以计算出esup(g,Gu)=1.12。如果给定的支持度阈值σ=1,则esup(g,Gu)≥1,g是频繁子图。
给定一个不确定图Gu=(G,P)和一个期望支持度阈值σ,单个不确定图上频繁子图挖掘问题是指发现所有期望支持度不小于给定阈值的子图g,即
我们在期望支持度的定义中给出了频繁子图的语义。假设sup(g,Gu)=10,Gr表示一个随机独立选择的蕴含图,那么我们有理由期望g在Gr中至少有10次不重复的出现。根据现有的分析,基于期望语义的频繁子图适合于在不确定图中进行主题发现。当不存在二义性时,在后文中省略领域Gu,即表示为sup(g)。
我们提出了一个枚举一评价的算法,取名为fanta(frequent subgraphmining on uncertain graphs)。fanta算法先枚举所有可能的候选子图,再对每个子图计算期望支持度,然后决定是否将其作为结果输出。任何利用了Apriori性质的枚举策略都可以使用。Apriori性质陈述的是,不频繁子图的超图也不可能是频繁的。特别地,不确定图中所有子图可以被组织为一个有根的有向无环图(DAG),其中节点代表候选子图(根表示为空)。DAG中从g′到g的一条弧表示g′是g的直接超图。我们从频繁的边开始,每次将一条新的边加到频繁子图中,枚举所有可能子图,因此可以在DAG的第n层找到包含n条边的子图。为了避免重复枚举同时保证完备性,我们使用方法gSpan给每个子图增加了词典顺序。
然而,通过比较期望支持度和阈值,决定一个被枚举出的子图是否是频繁的,其最简单的方式是产生所有蕴含图,计算并聚合子图在所有蕴含图上的支持度,得到期望支持度,再与支持度阈值进行比较。但这种方法因为会产生大量蕴含图,加上支持度计算的高复杂度,因此对终端用户而言是不可接受的。为了达到更好的运行性能,我们尝试所有可能,在可接受时间内返回结果。
我们已经发现,使用定义计算期望支持度复杂度相当高,因为Gu存在个蕴含图。对每个候选子图,我们需要计算在指数级的确定图上计算其支持度,其中频繁涉及具有高昂时间代价的子图同构检测。我们研究这一问题并通过一个高效的算法来降低计算复杂度。
我们首先用另一种方式给出期望支持度的计算。假设P(sup(g)=j)表示子图g在所有支持度等于j的蕴含图上的聚合概率,即
其中,Λj(g)={Gi|sup(g,Gi)=j}。
因此有
其中,Ms=sup(g,G)是g在Gu所有蕴含图中最大的支持度。
我们进一步定义,Pj(g)为g在Gu的蕴含图中支持度不小于j的聚合概率,即
其中,Δj(g)={Gi|sup(g,Gi)≥j}。
同时,对esup(g)公式右端展开可得
因此又有
我们还注意到Pj(g)的两个性质:(1)Pj(g)≤Pj(g′),其中,(2)Pj(g)≤Pj′(g),其中,1≤j′≤j。
我们可以证明,计算是#P难的,其中是一个整型常数。可以将DNF计数问题在多项式时间内归约为此问题,以此证明该问题是#P难的。
考虑一个析取范式的一阶逻辑表达式(DNF)D=C1∨C2∨…∨Cm.Ci(i∈[1,m])的形式为l1∧l2∧…∧lk,其中,lj(j∈[1,k])是{x1,x2,…,xn}中的布尔变量。DNF计数问题是计算有多少种对变量的赋值可以满足D。设P(xi)表示xi被赋值为真的概率,P(D)是随机一组对变量的赋值满足D的概率,给定一个前述实例,下面构造了在Gu中计算的问题。
我们构造一个不确定图Gu,其节点集合为V1∪V2∪V3,其中:
其中,V1中节点的标签为α,V2∪V3中为β。边的构造方法如下:
(1)在和之间增加一条边,j∈[1,k],存在概率为1;
(2)如果D中xi包含在Ci中,则在(ci,uj)增加一条概率为1的边;
(3)对每个xi∈{x1,x2,...,xn},在(ui,vi)之间增加概率为P(xi)的一条边,所有Gu的边标签为γ。
两个问题之间的关联性为:
每个对{x1,x2,…,xn}的真值赋值π一对一对应于Gu的一个蕴含图Gi,即边(ui,vi)存在当且仅当xj赋值为真,每个真值赋值π的概率等于显然,在所有蕴含图Gi中,因此,如果一个真值赋值π满足D,当且仅当g在蕴含图Gi中的支持度超过因此
综上可知,计算是一个#P难问题。类似地,可以证明计算esup(g)也是#P难的。
图3示出的是布尔表达式D按照上述构造方法,得到的不确定图Gu和子图g,其中,D=(x1∧x2∧x3)∨(x2∧x3∧x4),x1,x2,x3,x4被赋值为真的概率分别是P(x1),P(x2),P(x3),P(x4)。
由于计算子图支持度问题具有#P难的时间复杂度,我们提出了一个近似评价算法,其误差为ε。作为近似算法,理想的结果是能够返回所有频繁的子图(真正);为了满足这一要求,则结果集中也会有不频繁的子图(假正)。根据这一目的,我们输出一个闭区间该区间包含esup真实值,然后对于子图g的支持度与支持度阈值σ之间关系的以下不同情况进行处理:
Case 1:如果不输出g,因为esup(g)<σ是确定的;
Case 2:如果esup(g)≥(1-ε)σ且则输出g,因为esup(g)≥(1-ε)σ是肯定的,而且很有可能esup(g)≥σ;
Case 3:如果且esup(g)<(1-ε)σ,则不能决定是否输出g,因为我们不能决定是否esup(g)≥σ或者esup(g)<(1-ε)σ。
Case 3并不是我们想要的,因为Case 3我们无法决定。然而,我们观察到如果区间的宽度在εσ范围内,则Case 3不会出现。因此,通过限制区间宽度最大为εσ,则通过来估计esup是足够的,因为此时只有Case 1和Case 2会出现。这对于算法设计很重要,我们的算法依赖此来决定是否将g作为结果输出。
我们的近似算法基于蒙特卡洛方法。通过我们首先计算Pj(g)的近似值,其中,j∈[1,Ms];然后聚合该值得到区间为了保证区间不会大于εσ,我们要求每个Pj(g)近似值的绝对误差不会超过εσ/Ms。此要求来自一类随机算法——随机近似模式,可以提供精度保证。
给定一个置信系数δ∈[0,1],以及一个绝对误差范围ε′,我们可以使用由随机近似模式得到的近似值来估计p,如果其中,1-δ是置信程度。为了在δ和ε′的条件下近似得到Pj(g),我们依靠一个基于霍夫丁不等式的算法。
假设X1,X2,…,Xn是独立同分布的伯努利随机变量,其中Xi=1的概率为p,则有下述不等式成立:
n个样本观察值的平均可以提供一个具有精度保证关于p的近似,为提供置信度1-δ和绝对误差ε′=εσ/2Ms需要的样本量大小为:
算法1为评价一个子图的过程的封装。输入一个子图g,不确定图Gu误差系数ε以及实数δ;输出一个布尔值,表示g是否是频繁的。
算法第1行为Pj(g)的观察值分配一个空的数组,并计算Ms,即g在所有蕴含图中最大的支持度,也即在Gu的主干图G中的支持度,其中嵌入(embedding)被记录下来,并以其ID进行标识。第2行初始化变量,以及抽样次数N。接着,我们应用蒙特卡洛方法。第3行收集N个随机抽取的蕴含图,或者Gu的样本图Gi。注意到“样本图”与“蕴含图”是不一样的,因为两个样本图可能对应于同一个蕴含图。一个小的优化是,不用抽样图中所有的边,而是只考虑嵌入边,即εm={ei|ei∈F(g)},其中F是g到G同构的集合,i∈[1,|εm|]。这样便缩小了概率空间,而且相对在整个不确定图上进行抽样而言,并不影响正确性。我们仍然用Gu的样本来表示,虽然只包含嵌入边(部分边),第4-7行计算g在每个Gi上的支持度,并聚合对应的概率值即增加观察概率,或者Pj(g)的近似值(如果j不大于sup(g,Gi)的话)。在浏览了所有样本图后,第9行通过函数EvaluateSup评价支持度的近似值.
函数EvaluateSup工作流程为:输入Pj(g)的观察概率值P[j]、整数x,并输出Case 1或者Case 2(Case 3不应该出现)。特别地,当前概率观察值 输出结果在 和 之间。根据区间与支持度阈值σ之间的关系作出决定。
实现基于蒙特卡洛支持度评价的一种直观方式是在每个样本图中计算子图的支持度,并聚合观察概率。这种方式会比较耗时,因此我们考虑可能的加速方法。
图4示出的是图2中不确定图Gu的两个样本图G′和G″,以及G′和G″的重用树“DM-Bio”。首先,在计算后。我们可以进一步考虑边e3来计算另外。如果一个p的嵌入(embedding)存在于G″中,我们可以确定G′也包含了此嵌入而不需要额外的计算。最后,为了算出sup(p,G″),我们构造了一个数据结构:
可增加一个新的列(v3-v4),用于计算sup(p,G′)。
对于图4中的两个样本图存在三种可以重用的计算:
(1)计算样本图的存在概率;
(2)测试一个嵌入是否存在;
(3)计算支持度。
我们可以将此计算重用的思想泛化到多个样本图的情况,此时,样本图之间的包含关系并不需要满足。
对于第(1)种和第(2)种计算,我们首先要构造一个二叉重用树,其中所有样本图都是树的叶节点。假设嵌入边有一种关于其ID的线性顺序,则可以得到传统的树的结构。二叉树的深度为|εm|,在深度为i的所有分支决定于是否包含边ei。换言之,根的深度为1,其左分支nl是一棵包含有e1这条边所有样本图的子树的根,而右分支nr包含剩下的不含e1这条边所有样本图子树的根。这个分支过程从e1到εm中最后一条边,最终得到叶节点。因此我们可以在叶节点为每个样本图找到一个对应的位置。
我们不需要产生整棵树。我们每计算了一个样本图,就存储包含此样本图的一个分支。我们采用如下方法产生样本图,并构造整个树:在根节点,对每个样本图Gi,我们随机决定它是去左分支nl还是右分支nr,左分支、右分支分别由left边和right边连接。接着,如果nl不为空,则将nl在树上保存下来,接着,随机决定样本图的去向;如果nl是空,则停止此分支继续增长。对于nr也是同样的处理过程,当所有的样本图都到达叶节点时,整个迭代过程结束。在增长过程中,每个样本图的存在概率在增长过程中作为一个副产品计算得到,同时计算重用达到最大。
之后,我们计算每个样本图的支持度。第一步是决定每个样本图包含的嵌入(embedding)。为此,我们对每条嵌入边维护一个反向索引,每条嵌入边作为一个条目,那些包含这条边的嵌入(embedding)作为对应的记录。该索引便于发现那些因为不存在嵌入边而缺少的嵌入,而该索引在主干图上计算支持度时建立,且开销较小。根据重用树的构造,进入右分支意味着一条边e不存在,因此包含这条边的嵌入也不存在;而进入左分支并不影响嵌入集合。
对于一个样本图,我们从叶节点追踪到根节点,并记录下经过的right边。整个嵌入集合减去那些一路上遇到的right边对应的嵌入即为考虑的样本图。另外,为了能计算重用,我们在处理每个样本图时,都会记录树节点上的中间结果。接着,我们从最低父节点开始,增量式地进行计算,即从叶节点到根节点路径上第一个已经被处理过的节点开始,而不是从根节点开始。
在图4示出的实施例中,右边的树是从G′和G″构造的部分重用树,其中n1是根,n4(或者n5)是叶节点,对应G′(或者G″)。在处理完G′后,我们在节点n3有嵌入集合{v1-v2,v3-v2,v3-v4},该集合可以包含于任意在此分支后的样本图。接着,由于不存在边e3,我们从反向索引上获取到那些不再包含的嵌入,即{v3-v4}。然后我们将其删除,得到G″包含的嵌入集合{v1-v2,v3-v2}。
接下来,我们以串行的方式进行第(3)种计算的重用。对于两个样本图G′和G″,我们首先描述怎样计算sup(g,G′)。对每个包含在G′中的嵌入,我们将其对应的点排成一行行。注意到由于我们已经获得了同构映射,因此该操作比一般情况要简单和迅速得多。特别地,对于一个点vg,我们利用一个映射来记录——G′中每个嵌入点作为键,该点在所有嵌入中出现次数作为其值。当我们遇到一个嵌入以u作为vg嵌入点时,则对u对应于vg在映射中的值增加1。在对所有嵌入中的节点进行计数后,我们可以通过获取所有映射中最小集合的值,得到sup(g,G′)。
为了在计算G″时重用之前的中间结果,而不是从头开始建立这些映射,我们首先去除掉不包含在G″中的嵌入,减少其在映射中对应的值,然后增加之前没有包含在G′中的嵌入,并增加对应的值。之后,我们可以得到sup(g,G″)。
对增加或减少一个单位的开销进行建模,固定为c;获取最小映射的集合大小的开销为c′。给定一系列样本图Gi,每个包含一个嵌入的集合其中i∈[1,N],从头开始计算支持度的开销为|Fi|.c+c′。我们定义:
从Gi(或Gj)到Gj(或Gi),支持度计算的开销是(或),并且如果则对于Gj,从头开始计算开销更小。为了最大化计算重用,我们将此问题进行形式化地描述如下:
给定一系列样本图Gi∈Ω,每个包含一个嵌入的集合其中,i∈[1,N],从Gi到Gj的计算开销为找到一个计算序列使得开销最小,满足每个图只被处理过一次。
该问题是NP难的。我们为每个样本图构造一个比特数组,每个比特对应一个F中的嵌入,即数组的维度为|F|。如果样本图包含该对应的嵌入,则比特位设为1,相反则设为0。这种情况下,两个图之间的开销可以通过计算二进制串之间的汉民距离比较容易获得。接着我们使用一种启发式的计算序列——从左到右对应样本图在叶节点的位置。直观的想法是两个连续叶节点(如图4中的G′和G″),通常距离较小,因此增量计算复杂度相对小。
我们使用算法2将所有3中重用计算集合在一起如下:
为了将算法2整合到基本算法中,我们可以将算法1中第4-8行替换为“P←ShareCompTree(g,Ω)”,使得算法2在基本算法中生效,修改后的算法1可以执行基于计算重用的子图判定。
综上所述,为获得不仅频繁,而且在现实中具有高置信度的子图,我们定义了在单个不确定图上,基于期望支持度的频繁子图挖掘问题,基于期望语义的支持度对于在不确定网络中主题发现很有用。为了说明此问题的高复杂度,通过将DNF计数问题归约为此问题,我们证明了计算子图期望支持度是#P难的,我们提出了一种基于蒙特卡洛的近似算法来获取一个区间,并以给定精确度包含真实值,将获取的支持度区间与支持度阈值之间的关系分为三种情况,可以保证,以概率至少为1-δ,任何子图支持度不小于σ的子图都会被输出,同时任何期望支持度小于(1-ε)σ的子图都不会输出。此分类确定了我们枚举-评价的算法框架,即慎重地枚举候选子图并逐一评价;同时,我们对抽取样本中可重用的计算进行共享,通过在线建立的二叉共享树进行计算重用,大幅度减少了子图挖掘消耗的时间。借助于本发明的上述技术方案,通过将单个不确定图划分为多个蕴含的确定图并将蕴含图视作确定图使用计算重用方法抽样计算子图的期望支持度的手段,我们能在单个不确定图上使用频繁子图挖掘技术,填补了本领域的技术空白。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,包括:
获取单个不确定图;
根据所述单个不确定图枚举出所述单个不确定图的所有子图;
在所述单个不确定图的所有蕴含图中指定部分蕴含图为样本图;
使用计算重用方法分别计算所述单个不确定图的每个样本图的存在概率,并使用计算重用方法计算所述每个子图在所述单个不确定图的样本图上的期望支持度;
根据所述每个子图在所述单个不确定图的样本图上的期望支持度与所述单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图;
输出所有频繁子图。
2.根据权利要求1所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,使用计算重用方法分别计算所述单个不确定图的每个样本图的存在概率,并使用计算重用方法计算所述每个子图在所述单个不确定图的样本图上的期望支持度,为根据所述单个不确定图构造重用树,为所述单个不确定图的每个样本图中的每条嵌入边构建反向索引,并根据所述重用树与所述反向索引分别计算所述单个不确定图的每个样本图的存在概率与所述每个子图在所述单个不确定图的样本图上的期望支持度。
3.根据权利要求2所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,根据所述单个不确定图构造重用树,为从所述单个不确定图上选取一根节点,根据一条嵌入边的存在与否生成第一层二叉树,再根据根节点的子节点上嵌入边的存在与否生成第二层二叉树,如此重复直到所述单个不确定图上所有节点与嵌入边的二叉树形式均被重用树包括。
4.根据权利要求1所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,根据所述单个不确定图枚举出所述单个不确定图的所有子图包括:
从所述单个不确定图提取出多个蕴含图,所述每个蕴含图都是所述单个不确定图可能的存在方式;
分别计算所述每个蕴含图所包含的所有子图。
5.根据权利要求4所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,所述提取出多个蕴含图的个数为2的所述单个不确定图中边的个数次幂。
6.根据权利要求5所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,在所述单个不确定图的所有蕴含图中指定部分蕴含图为样本图,为在所述单个不确定图的所有蕴含图随机指定数个蕴含图为样本图,其中,所述样本图的数量与任一子图在所述单个不确定图的所有蕴含图的支持度最大值的平方成正比,与不置信度的自然对数成反比,与误差系数的平方成反比,与支持度阈值的平方成反比。
7.根据权利要求6所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,使用计算重用方法分别计算所述单个不确定图的每个样本图的存在概率,并使用计算重用方法所述每个子图在所述单个不确定图的样本图上的期望支持度包括:
根据所述单个不确定图中每条边的概率,计算出所述每个蕴含图的存在概率;
指定所述单个不确定图的所有子图中的一个;
分别计算所述被指定的子图在每个样本图上的支持度;
根据所述每个样本图的存在概率、所述被指定的子图在每个样本图上的支持度,计算所述被指定的子图在每个样本图的支持度;
继续从所述单个不确定图中指定下一个子图并计算其在每个样本图上的支持度,直到所述单个不确定图的所有子图都被指定;
根据所述每个子图在每个样本图上的支持度,计算所述每个子图在所述单个不确定图上的期望支持度。
8.根据权利要求7中所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,分别计算所述被指定的子图在每个样本图上的支持度,为使用最大独立集法计算所述被指定的子图在每个样本图上的基于最小像的支持度。
9.根据权利要求8中所述的一种针对单个不确定图的频繁子图挖掘与优化方法,其特征在于,根据所述每个子图在所述单个不确定图的样本图上的期望支持度与所述单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图包括:
获取期望支持度阈值;
根据所述单个不确定图的每个样本图的存在概率,计算所述子图在所有支持度等于一恒定值的蕴含图上的聚合概率;
根据所述子图在所有支持度等于一恒定值的蕴含图上的聚合概率,计算所述子图在所述单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率;
根据所述子图在所述单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率,计算当前概率观察值与结果区间;
根据所述结果区间与期望支持度阈值判定所述子图是否为频繁子图,将所有结果区间上限大于期望支持度阈值、且结果区间下限大于期望支持度阈值与非误差系数的乘积的子图判定为频繁子图,将所有结果区间上限小于期望支持度阈值的子图判定为不是频繁子图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510296077.2A CN104899283A (zh) | 2015-06-02 | 2015-06-02 | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510296077.2A CN104899283A (zh) | 2015-06-02 | 2015-06-02 | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104899283A true CN104899283A (zh) | 2015-09-09 |
Family
ID=54031946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510296077.2A Pending CN104899283A (zh) | 2015-06-02 | 2015-06-02 | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899283A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354243A (zh) * | 2015-10-15 | 2016-02-24 | 东南大学 | 基于归并聚类的并行化频繁概率子图搜索方法 |
CN107918664A (zh) * | 2017-11-22 | 2018-04-17 | 广西师范大学 | 基于不确定图的社会网络数据差分隐私保护方法 |
CN110019400A (zh) * | 2017-12-25 | 2019-07-16 | 深圳云天励飞技术有限公司 | 数据存储方法、电子设备及存储介质 |
CN114880537A (zh) * | 2022-05-13 | 2022-08-09 | 深圳宏鹏数字供应链管理有限公司 | 一种企业风险评估方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073708A (zh) * | 2010-12-30 | 2011-05-25 | 东北大学 | 面向大规模不确定图数据库的子图查询方法 |
US20130311507A1 (en) * | 2012-05-21 | 2013-11-21 | International Business Machines | Representing Incomplete and Uncertain Information in Graph Data |
CN103823985A (zh) * | 2014-03-05 | 2014-05-28 | 德州学院 | 不确定图的树指数的计算方法 |
-
2015
- 2015-06-02 CN CN201510296077.2A patent/CN104899283A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073708A (zh) * | 2010-12-30 | 2011-05-25 | 东北大学 | 面向大规模不确定图数据库的子图查询方法 |
US20130311507A1 (en) * | 2012-05-21 | 2013-11-21 | International Business Machines | Representing Incomplete and Uncertain Information in Graph Data |
CN103823985A (zh) * | 2014-03-05 | 2014-05-28 | 德州学院 | 不确定图的树指数的计算方法 |
Non-Patent Citations (2)
Title |
---|
胡健等: "挖掘不确定频繁子图的改进算法的研究", 《计算机工程与应用》 * |
邹兆年等: "从不确定图中挖掘频繁子图模式", 《软件学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354243A (zh) * | 2015-10-15 | 2016-02-24 | 东南大学 | 基于归并聚类的并行化频繁概率子图搜索方法 |
CN105354243B (zh) * | 2015-10-15 | 2018-05-18 | 东南大学 | 基于归并聚类的并行化频繁概率子图搜索方法 |
CN107918664A (zh) * | 2017-11-22 | 2018-04-17 | 广西师范大学 | 基于不确定图的社会网络数据差分隐私保护方法 |
CN107918664B (zh) * | 2017-11-22 | 2021-07-27 | 广西师范大学 | 基于不确定图的社会网络数据差分隐私保护方法 |
CN110019400A (zh) * | 2017-12-25 | 2019-07-16 | 深圳云天励飞技术有限公司 | 数据存储方法、电子设备及存储介质 |
CN110019400B (zh) * | 2017-12-25 | 2021-01-12 | 深圳云天励飞技术有限公司 | 数据存储方法、电子设备及存储介质 |
CN114880537A (zh) * | 2022-05-13 | 2022-08-09 | 深圳宏鹏数字供应链管理有限公司 | 一种企业风险评估方法、系统及存储介质 |
CN114880537B (zh) * | 2022-05-13 | 2023-06-30 | 深圳宏鹏数字供应链管理有限公司 | 一种企业风险评估方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102411687B (zh) | 未知恶意代码的深度学习检测方法 | |
CN105741175A (zh) | 一种对在线社交网络中账户进行关联的方法 | |
Zheng et al. | Improving the efficiency of multi-objective evolutionary algorithms through decomposition: An application to water distribution network design | |
CN110837602A (zh) | 基于表示学习和多模态卷积神经网络的用户推荐方法 | |
CN102708327A (zh) | 一种基于谱优化的网络社区发现方法 | |
CN104268629A (zh) | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 | |
CN104199852A (zh) | 基于节点隶属度的标签传播社团结构挖掘方法 | |
Froese et al. | The border k-means clustering algorithm for one dimensional data | |
CN104899283A (zh) | 一种针对单个不确定图的频繁子图挖掘与优化方法 | |
Hüffner et al. | Techniques for practical fixed-parameter algorithms | |
CN103605793A (zh) | 基于遗传算法的异构社会网络社区检测方法 | |
CN106339714A (zh) | 多层嵌入差分隐私到决策树模型的隐私风险控制方法 | |
CN105825430A (zh) | 一种基于异构社会网络的检测方法 | |
Gellner et al. | Boosting Data Reduction for the Maximum Weight Independent Set Problem Using Increasing Transformations∗ | |
CN115617395A (zh) | 一种融合全局和局部特征的智能合约相似性检测方法 | |
Bi et al. | MM-GNN: Mix-moment graph neural network towards modeling neighborhood feature distribution | |
CN113312058B (zh) | 一种智能合约二进制函数的相似性分析方法 | |
CN104866588A (zh) | 一种针对单个不确定图的频繁子图挖掘方法 | |
CN104156462A (zh) | 基于元胞自动学习机的复杂网络社团挖掘方法 | |
CN104850646A (zh) | 一种针对单个不确定图的频繁子图挖掘方法 | |
CN104899885B (zh) | 一种针对单个不确定图的频繁子图挖掘与优化方法 | |
Wang et al. | On searching multiple disjoint shortest paths in scale-free networks with hyperbolic geometry | |
Molontay | Fractal characterization of complex networks | |
CN105094209B (zh) | 数据的修复方法及装置 | |
Patra et al. | Motif discovery in biological network using expansion tree |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150909 |