写在前面:偶然翻到一篇关于权重频度挖掘的文献,之前研究的效用挖掘其实也是权重度量的一种表现,但在这种情况下很少会与支持度结合起来(也有对结合的研究),这次正好借着这篇文献了解一下权重还有哪些表现形式
Weighted frequent sequential pattern mining
定义
-
因为是序列挖掘,所以默认规则是 同一个时间点上 发生的事件之间是没有排序关系,而在不同时间点上发生的事件集之间是有排序关系
-
将权重(weight)进行具象化有三种方式:
- 效用值计算:利润越高的商品权重越大
- 忽略现实中pattern的意义,自定义权重:重要的客户购买低利润的商品
- 异常值:网络安全中的异常检测,很少但权重值很高(本文研究方向)
-
支持度权重(weighted support):类似于以往的效用值,项集的支持度权重计算公式为
Weightis(itemset)=∣itemset∣∑item∈itemsetWeight(item),
需要注意的是 ∣itemset∣ 不是项集的长度,而是项集内包含不同项的个数;同理,(子)序列的支持度权重计算公式为
Weightseq(P)=length(P)∑itemset∈PWeightis(itemset),
其中 ∣P∣ 是指该(子)序列中包含多少个项集
-
数据集中最大权重值(total sequence maximum weight):使用最大权重值作为一个平衡量,避免因为支持度和项集大小的变化失衡,计算公式为
tsmw(D)=SID∈D∑LMaxW(SID),
其中 LMaxW(SID) 表示在当前标号为 SID 序列包含的所有项中最大的那个权重值
-
相对支持度权重(relative weighted support):对于(子)序列计算相对支持度权重能够使得阈值设置更加合理,得到的结果可信度更高,计算公式为
WSUP(P,D)=tsmw(D)Weightseq(p)×support(P).
-
项集首次出现位置(last itemset index of the first occurrence):用作记录对应项集在每条序列中首次出现的位置,为了节省空间,只记录出现情况
-
可扩展列表:对于标号为SID的序列,(子)序列 P 的可扩展项用 LeftItemSet(P,SID) 记录,且用 LeftVec(P) 记录这些在不同序列中可扩展项的数量
-
潜在出现列表(probable occurrence list):指的是那些可以作为当前序列的扩展项组成的多个列表(不同序列上有不同扩展项),记为 POL+n(P),n 表示当前允许扩展多少个项(∣LeftVec(P)∣)
-
支持度权重上边界(possible weighted support):该值的作用和之前的上边界值WSpanCond和IUACond是一样的,但表现会更紧凑,对于(子)序列 P 的单个扩展的预估值计算公式为
Contrib(P,SID,n)=length(P)+nlength(P)×Weightseq(P)+n×LMaxW(SID),
所以,支持度权重上边界 PWS+n(P)=∑∀SID∈POL+n(P)Contrib(P,SID,n) 的计算公式为
∀SID∈POL+n(P)∑length(P)+nlength(P)×Weightseq(P)+n×LMaxW(SID).
策略
Maximum possible weighted support pruning strategy
根据定义中给出的 possible weighted support (PWS) 上边界值,取对于(子)序列 P 的所有扩展预估值,取最大的记为 MaxPWSabs,然后为了使结果更加可靠,取相对值 MaxPWSrel = tsmw(D)MaxPWSabs;当 MaxPWSrel<δ 时,我们可以根据反单调性认为 P 不存在符合条件的超集,证明过程在文献中有详细推理
伪代码
MaxPWS procedure
![MaxPWS.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e0569b661998432fbae8d801d13b4725~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
Ps. 文献后续还讲解了对MaxPWS的优化流程
I- and S-extension procedure
![Extension.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f047280285eb4b718b7dc8a7bbc10a68~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)