21/7/14 读书笔记 子图模式 非频繁模式
21/7/14 读书笔记
数据挖掘导论 频繁子图挖掘
在拓扑结构中进行频繁子图的挖掘需要与以往不同的计算方法,但是整体上还是可以遵从Apriori算法的基本框架,即:
- 候选产生:通过合并频繁(k-1)子图对得到候选k子图
- 候选剪枝:丢弃含有非频繁(k-1)子图的候选k子图
- 支持度计数:统计所有给定图中含有子图的个数
- 候选删除:按照支持度阈值删去部分子图。剩下的就是频繁k子图。
注意书中在本章讨论的都是无向连通子图
候选产生
关于如何定义什么是k这个问题,k子图即可以说有k个顶点,也可以说有k条边,由此引出了顶点增长和边增长两种产生候选子图的方法:
- 顶点增长:对两个含有(k-1)顶点的频繁子图,分别求得其邻接矩阵(按照相同的顶点次序),当两个矩阵分别去除最后一行和最后一列后的矩阵相同时方可合并。合并过程相当于在其中一者的邻接矩阵的基础上添加上另一者的特有的邻接矩阵单元。注意可能此时有的矩阵单元会有多种取值可能,因为该单元对应的两个顶点分别处于两个子图中,我们需要对可能的情况都进行考虑。
- 边增长:对两个含有(k-1)边的频繁子图,各自删除一条边,如果删除后两图拓扑等价(此时称为核),则可以合并。合并时在其中一者的拓扑结构上添加另一者中特有的边。
- 边增长会面临拓扑等价的问题,核内的顶点间的拓扑等价会导致添加边时,可以将该边分别添加到核中拓扑等价的多个顶点上,造成多种候选k子图。同时核本身也会有多种可能,两个频繁(k-1)子图之间可能不止存在一个(k-2)的拓扑等价的子图,因此也需要额外考虑。
候选剪枝
剪枝的行为主要是从候选k子图中相继删除一条边,然后看删除后的图是不是频繁(k-1)子图。由于我们此时已知所有的频繁(k-1)子图,因此问题转变为将这个删除后的图去与所有已知的频繁(k-1)子图进行图同构的比较。
图同构问题可以通过初始邻接矩阵的编码对比来实现。每个矩阵的邻接矩阵会因为顶点次序而变化,因此我们需要考虑一个图所可能对应的所有邻接矩阵的情况,然后由于邻接矩阵的对称性,将邻接矩阵的上三角部分按照一定方式构造成串,然后对串进行对比即可得出结果。
支持度计数
对于每个频繁(k-1)子图,维护一张包含该子图的图的ID表。当通过合并产生候选k子图时,两张表取交集进行合并,然后在这张合并了的表上进行子图的匹配。不在这张表中的图中一定不含有这个候选k子图,因此这种方式可以稍微减小计算损耗。
数据挖掘导论 非频繁模式
所谓非频繁模式,就是指某种规则的支持度小于支持度阈值。回想一下之前的项集格,非频繁模式就是在我们所在意的边界的另一边的所有项集。
非频繁模式是我们用来挖掘竞争项的主要抓手,其描述了具有互斥性质的元素间的关联。这里书中介绍了两种与非频繁模式相关的模式:
负模式
首先我们引入负项概念:当一个项出现在集合中,我们记其对应负项为0,反之记负项为1。对于一个(正)项集,我们可以得到其负项的集合。注意负项集=负项的集合+正项的集合。负关联关系描述了从负项集中提取出来的频繁项集产生的规则。
负相关模式
负相关模式是基于概率估计中的负相关性来定义的,当一个项集X满足:
即项集的支持度小于各项支持度的积,这反映了项集在输入数据中的出现概率小于各项基于统计独立性假设所计算的期望概率,反映了项集间元素的负相关性,此时称X为负相关项集。
同样。对于关联规则\(X\to Y\),如果\(s(X\bigcup Y)<s(X)*s(Y)\),则该规则称为负相关关联规则。这个条件是定义负相关关联规则的部分条件,因为X和Y本事可能是正相关项集,也可能是负相关项集。
注意非频繁模式、负模式、负相关模式有非常密切的关联,但是这不意味着三者等价。事实上,三者在一定的条件下存在交集:
- 当支持度阈值不是特别高时,非频繁模式大多对应有负模式,因为负模式的支持度与对应频繁模式的支持度成反比例关系。
- 负相关模式大多也具有负模式,因为概率估计反映到具体数据中通常能够使负模式得到较高的支持度。

浙公网安备 33010602011771号