写在前面:这是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”指包含数量参数的序列(<{(, 2)(, 1)}, {(, 3)}>),“sequence”指<{}, {}>,相同的还有“q-itemset”、“q-item”
- 设“q-sequence” = <, , , >,“sequence” = <, , , >,如果 = 且构成 的元素与 构成的元素相同,那么称 匹配 ();显然,一个 sequence 是有多个 q-sequence 可以匹配的(quantity是个变量),如 <{, 1}, {, 1}> 或 <{, 3}, {, 2}> <{}, {}>
- 事件 是 的子事件很好判断,但对于“q-itemset” ,当且仅当构成 的元素是构成 的元素的子集,而且相应的 quantity 要保持一致,这一点与itemset的包含关系定义不同;同理,序列 和 也是一样的判断标准
- 正因为有多个 匹配 ,所以在计算“sequence” 的效用值时,取最长匹配的效用值( = max{}),进一步, 在数据集中的全部效用值计算公式为 = {};出于简化的目的,将每个匹配项的最后一项的位置定义为连接点,其中,第一个连接点称为起点,如令 = <{a}, {b}>,则在 = <{(, 2)(c, 3)}, {(, 3)(, 1)(, 2)}, {(, 4)(, 5)(, 4)}, {(, 3)}> 中的连接点为 4,7,7,起始连接点为 4(Ps. 因为在有序状态下,是从 开始连接,而不是 )
- 对于“sequence” 存在两种扩展方式(I-Concatenation 和 S-Concatenation):I-Concatenation 相当于是把元素 在序列纵向上扩展,并不会增加原序列的长度(<>);S-Concatenation 相当于是把元素 在序列横向上扩展,会使原序列长度加1(<>)
- 为了缩短序列匹配时间和减少数量,为每一个符合条件的序列都构造一个新型的数据结构 Utility-Linked-List Structure,包含的具体内容如下图所示:
,相比于其它算法采用的数据结构,UL-List结构更为紧凑,而且存储关键信息并不多(使用了投影(preject)技术)
策略
向下闭合性(downward closure property)
是大多挖掘算法都采用的经典上边界,可以对直接连接根节点的元素进行有效删减,避免生成太多无用的高阶候选项,具体内容点击这里
序列扩展效用(sequence extension utility)
同HUI-Miner算法中的剩余效用概念一致,对于某个序列,它的可扩展项的效用值之和代表了该序列的最大扩展程度是多少。“sequence” 的扩展项定义为 = {},序列扩展效用 = { + },则有定理 、 成立,那么可以推理出如果“sequence” 的 是小于阈值,则没有必要对 进行扩展(证明过程在 ProUM算法 中有详细介绍)
前缀扩展效用(prefix extension utility)
的缺点是很明显的,它并不能证明 本身是一个低效用序列,而且如果手算一遍 可以发现它比真正的效用值要高出很多(Ps. 重复计算了 t 的值)。因此,该论文借鉴了一个更紧凑的上边界 = {}、 = max{ + }(Ps. 取最大值其实就是一个上边界);同理也有定理 、 成立(Ps. 证明过程详见论文)
根据 的性质,该论文设计了两种新的剪枝策略:
- LAR pruning strategy:针对关于序列的两种不同连接方式,有如下不等式成立 1)max{} { };2)max{} { },其中 是“sequence” 在不同连接方式下的候选项(Ps. 这个不难理解,PEU本身就是按照最大值计算得到)当该上边界值小于阈值时,可以断定候选项 是低效用项,不可以对 进行扩展,该策略可以避免多余的 计算
- IIP pruning strategy:给定“sequence” 和 任意项 ,如果 { () ()} 小于阈值,那么可以断定 是 的无关项,在后续对 以及它的扩展 的处理中可以直接忽略 ,该策略可以进一步减少剩余效用项的值,缩小序列的扩展范围
伪代码
Main algorithm
PGrwoth procedure
Judge procedure
总结
HUSP-ULL算法根据以前人提出的 概念设计了两个新的剪枝策略,并且详细分析了 、 和 三者之间的大小关系。论文重点在于分析如何通过新的剪枝策略缩减LQS-tree的规模,对于UL-list数据结构与想象中的不大一样,并不是针对每个sub-sequence构造的(想想也确实不可能,sequence candidates实在是太多了),而是针对于每条交易项(完整的序列),并且该论文进行了大量的实验,也有详细的对比论述,这一点是非常值得学习和研究的。此外,要与episode mining task区分开来,该算法是在每条交易项相互独立的情况下进行效用挖掘。