HUSP-ULL算法

458 阅读4分钟

写在前面:这是2020年最新的一篇关于高效用序列挖掘的算法,基于常见的LQS-tree,结合list结构,辅之以 LAR 和 IIP 两种高效的剪枝策略,显著地降低了挖掘过程中消耗的资源,并且通过实验与 USpan、HUS-Span 和 ProUM 三个算法比较,HUSP-ULL算法的性能表现最好。 ———— By Suarne

Fast Utility Mining on Sequence Data

需要特别强调的一点是,序列挖掘必须所有元素基于有序状态(原因可以参考 SPADE算法HUSRM算法 笔记),具体的排序规则根据算法本身特点设定,没有统一原则

定义

  • “q-”符号指待“quantitative”,如“q-sequence”指包含数量参数的序列(<{(aa, 2)(bb, 1)}, {(cc, 3)}>),“sequence”指<{abab}, {cc}>,相同的还有“q-itemset”、“q-item”
  • 设“q-sequence” ss = <v1v_1, v2v_2, \ldots, vdv_d>,“sequence” tt = <w1w_1, w2w_2, \ldots, wdw_{d^\prime}>,如果 dd = dd^\prime 且构成 vkv_k 的元素与 wkw_k 构成的元素相同,那么称 tt 匹配 sstst \sim s);显然,一个 sequence 是有多个 q-sequence 可以匹配的(quantity是个变量),如 <{aa, 1}, {bb, 1}> 或 <{aa, 3}, {bb, 2}> \sim <{aa}, {bb}>
  • 事件 wwww^\prime 的子事件很好判断,但对于“q-itemset” vvv \subseteq v^\prime,当且仅当构成 vv 的元素是构成 vv^\prime 的元素的子集,而且相应的 quantity 要保持一致,这一点与itemset的包含关系定义不同;同理,序列 ssww 也是一样的判断标准
  • 正因为有多个 ss 匹配 tt,所以在计算“sequence” tt 的效用值时,取最长匹配的效用值(u(t,s)u(t, s) = max{u(sk)tsksksu(s_k) \mid t \sim s_k \land s_k \subseteq s}),进一步,tt 在数据集中的全部效用值计算公式为 u(t)u(t) = sD\sum_{s \in D}{u(t,s)tsu(t, s) \mid t \subseteq s};出于简化的目的,将每个匹配项的最后一项的位置定义为连接点,其中,第一个连接点称为起点,如令 tt = <{a}, {b}>,则在 SS = <{(aa, 2)(c, 3)}, {(aa, 3)(bb, 1)(cc, 2)}, {(aa, 4)(bb, 5)(dd, 4)}, {(ee, 3)}> 中的连接点为 4,7,7,起始连接点为 4(Ps. 因为在有序状态下,是从 bb 开始连接,而不是 aa
  • 对于“sequence” tt 存在两种扩展方式(I-Concatenation 和 S-Concatenation):I-Concatenation 相当于是把元素 iji_j 在序列纵向上扩展,并不会增加原序列的长度(<tijt \oplus i_j>IConcatenation_{I-Concatenation});S-Concatenation 相当于是把元素 iji_j 在序列横向上扩展,会使原序列长度加1(<tijt \oplus i_j>SConcatenation_{S-Concatenation}
  • 为了缩短序列匹配时间和减少数量,为每一个符合条件的序列都构造一个新型的数据结构 Utility-Linked-List Structure,包含的具体内容如下图所示: UL-List ,相比于其它算法采用的数据结构,UL-List结构更为紧凑,而且存储关键信息并不多(使用了投影(preject)技术)

策略

向下闭合性(downward closure property)

是大多挖掘算法都采用的经典上边界,可以对直接连接根节点的元素进行有效删减,避免生成太多无用的高阶候选项,具体内容点击这里

序列扩展效用(sequence extension utility)

同HUI-Miner算法中的剩余效用概念一致,对于某个序列,它的可扩展项的效用值之和代表了该序列的最大扩展程度是多少。“sequence” tt 的扩展项定义为 I(t)restI(t)_{rest} = {ijij<st>resttssDi_j \mid i_j \in <s - t>_{rest} \land t \subseteq s \land s \in D},序列扩展效用 SEU(t)SEU(t) = sD\sum_{s \in D}{u(t,s)u(t, s) + u(<st>rest)u(<s-t>_{rest}) \mid tSt \subseteq S},则有定理 SEU(t)SEU(t)SEU(t^\prime) \le SEU(t)u(t)SEU(t)u(t) \le SEU(t) 成立,那么可以推理出如果“sequence” ttSEUSEU 是小于阈值,则没有必要对 tt 进行扩展(证明过程在 ProUM算法 中有详细介绍)

前缀扩展效用(prefix extension utility)

SEUSEU 的缺点是很明显的,它并不能证明 tt 本身是一个低效用序列,而且如果手算一遍 SEUSEU 可以发现它比真正的效用值要高出很多(Ps. 重复计算了 t 的值)。因此,该论文借鉴了一个更紧凑的上边界 PEU(t)PEU(t) = sD\sum_{s \in D}{PEU(t,s)tsPEU(t, s) \mid t \subseteq s}、PEU(t,s)PEU(t, s) = max{u(sk)u(s_k) + u(<ssk>rest)u(<s - s_k>_{rest}) \mid tskskst \sim s_k \land s_k \subseteq s}(Ps. 取最大值其实就是一个上边界);同理也有定理 PEU(t)PEU(t)PEU(t^\prime) \le PEU(t)u(t)PEU(t)u(t) \le PEU(t) 成立(Ps. 证明过程详见论文

根据 PEUPEU 的性质,该论文设计了两种新的剪枝策略:

  • LAR pruning strategy:针对关于序列的两种不同连接方式,有如下不等式成立 1)max{u(<tij>IConcatenation)u(<t \oplus i_j>_{I-Concatenation})} \le sD\sum_{s \in D}{PEU(t,s)PEU(t, s) \mid <tij>IConcatenations<t \oplus i_j>_{I-Concatenation} \subseteq s};2)max{u(<tij>SConcatenation)u(<t \oplus i_j>_{S-Concatenation})} \le sD\sum_{s \in D}{PEU(t,s)PEU(t, s) \mid <tij>SConcatenations<t \oplus i_j>_{S-Concatenation} \subseteq s},其中 iji_j 是“sequence” tt 在不同连接方式下的候选项(Ps. 这个不难理解,PEU本身就是按照最大值计算得到)当该上边界值小于阈值时,可以断定候选项 iji_j 是低效用项,不可以对 tt 进行扩展,该策略可以避免多余的 PEUPEU 计算
  • IIP pruning strategy:给定“sequence” tt 和 任意项 ijI(t)resti_j \in I(t)_{rest},如果 sD\sum_{s \in D}{PEU(t,s)PEU(t, s) \mid (<tij>IConcatenations<t \oplus i_j>_{I-Concatenation} \subseteq s) \lor (<tij>SConcatenations<t \oplus i_j>_{S-Concatenation} \subseteq s)} 小于阈值,那么可以断定 iji_jtt 的无关项,在后续对 tt 以及它的扩展 tt^\prime 的处理中可以直接忽略 iji_j,该策略可以进一步减少剩余效用项的值,缩小序列的扩展范围

伪代码

Main algorithm

Main algorithm

PGrwoth procedure

PG-Growth procedure

Judge procedure

Judge procedure

总结

HUSP-ULL算法根据以前人提出的 PEUPEU 概念设计了两个新的剪枝策略,并且详细分析了 SWUSWUSEUSEUPEUPEU 三者之间的大小关系。论文重点在于分析如何通过新的剪枝策略缩减LQS-tree的规模,对于UL-list数据结构与想象中的不大一样,并不是针对每个sub-sequence构造的(想想也确实不可能,sequence candidates实在是太多了),而是针对于每条交易项(完整的序列),并且该论文进行了大量的实验,也有详细的对比论述,这一点是非常值得学习和研究的。此外,要与episode mining task区分开来,该算法是在每条交易项相互独立的情况下进行效用挖掘。