Top-k高效用项集挖掘_学习笔记(一) 基础概念

前言

本篇博客出于学习交流目的,主要是用来记录自己学习后的理解,过程中遇到的问题和心路历程,方便之后回顾。过程中可能引用其他大牛的博客,文末会给出相应链接,侵删!

REMARK:本人菜鸟一枚,如有理解错误还望大家能够指出,相互交流。也是第一次以博客的形式记录,文笔烂到自己都看不下去,哈哈哈


这篇学习笔记关于一种高效Top-k的频繁效用项集挖掘算法。
参考文献:Efficient Algorithms for Mining Top-K High Utility Itemsets

本博客介绍一些高效用频繁模式挖掘以及传统高效用top-k挖掘的基本概念,具体算法在Top-k高效用项集挖掘学习笔记(二) TKUTop-k高效用项集挖掘学习笔记(三) TKO 中详细记录,请手动跳转。

正文

Top-k挖掘算法研究意义:解决传统高效用模式频繁项集挖掘需要人为设置阈值的问题,太大或太小的阈值都不好,而重复计算不同阈值结果又造成多次无用重复执行。

一些可能会涉及到的定义:
高效用项集 (HUI):high utility itemset ,如果一个项集不小于用户自定义的最小效用阈值;
有价值的交易效用 (TWU):transaction-weighted utilization,一种高效用频繁挖掘模型,也作项集的效用值上界值;
高价值的交易效用项集 (HTWUI):high transaction-weighted utilization itemset ,TWU中效用值大于阈值的项集,由于TWU是效用值上界,所以HTWUI一定包含HUI;

传统基于TWU的模型,包含两个步骤,phase I :获得所有HTWUI集合(由于TWU是效用值上界,所以HTWUI一定包含HUI);phase II:再基于HTWUI集合具体计算获得HUI;

Top-k高效用项集挖掘即在考虑效用值场景下进行Top-k挖掘。

Top-k高效用项集挖掘面临的主要挑战:
1)高效用项集不具有单调性或反单调性,所以剪枝是很有难度的;
2)怎么结合现有TWU算法和top-k概念。因为在phase I 时候如果确保所有HTWUI一定包含HUI,起始设置最小阈值为0,但这可能会带来一个很大的搜索空间;
3)没有给定的阈值,随着算法的进行不断更新边界阈值, m i n _ u t i l B o r d e r (border minimum utility threshold), m i n _ u t i l B o r d e r 最初为0,如果不能高效的更新将面临巨大的计算时间和存储开销;
4)如何在不丢失Top-k HUIs 的情况下高效的增大阈值 m i n _ u t i l B o r d e r

论文中提出了两种算法:
(1)TKU (mining Top-K Utility itemsets) ;在Top-k高效用项集挖掘_学习笔记(二) TKU会介绍,其中还包括五种优化策略:PE、NU、MD、MC、SE
(2)TKO (mining Top-K utility itemsets in One phase) ;Top-k高效用项集挖掘_学习笔记(三) TKO 中介绍,还包括三个剪枝策略:RUC、RUZ、EPB;请手动跳转。


在开始正式算法之前,还是先看一堆枯燥的定义,我也很绝望,不过后面一直要用到,所以必须认真理解!!!大部分是我按自己的理解解释的,英语原版看原始论文。

高效用项集基本定义
总项集(distinct items) I = { I 1 , I 2 , , I m } ;事务数据集(transactional database) D = { T 1 , T 2 , , T m } ;交易记录 T r D I 的子集, r T i d ;并且对于每个 I j T r 都有一个内部效用值 Q ( I j , T r ) ,同时对于每个 I j I 都有一个外部效用值 P ( I j , D ) ;一个项集 X = { I 1 , I 2 , , I L } 共有 L 个不同的项, L 也称作项集 X 的长度; L i t e m s e t 表示项集长度为 L

Definition 1. 项的绝对效用值(Absolute utility of an item): E U ( I j , T r )

E U ( I j , T r ) = Q ( I j , T r ) × P ( I j , D )
这个很好理解,给定项 I j I 和交易记录 T r D ,项的绝对效用值就是内部效用乘外部效用。

Definition 2. 一条交易中某个项集的绝对效用值(Absolute utility of an itemset in a transaction): E U ( X , T r )

E U ( X , T r ) = I j X ( I j , T r )
就是把交易记录 T r 中求项集 X 中各项效用值得累加和。

Definition 3. 项集在整个数据集中的绝对效用值(Absolute utility of an itemset in a database): E U ( X )

E U ( X ) = T r D X T r ( I j , T r )
同样,满足条件累加求和,面向整个数据集。

Definition 4. 交易效用值和总效用值(Transaction utility and total utility): T U ( T r ) and T o t a l U D B

T U ( T r ) = E U ( T r , T r )
计算整条交易的效用值;
T o t a l U D B = T r D T U ( T r )
计算这个数据集的效用值。

Definition 5. 项集在整个数据集中的相对效用(Utility of an itemset in a database): U ( X )

U ( X ) = E U ( X ) T o t a l U D B
即项在整个数据集效用的占比

Definition 6. 高效用项集(High utility itemset): H U I
项集 X 被称为高效用项集,当且仅当 U ( X ) m i n _ u t i l ,或 E U ( X ) a b s _ m i n _ u t i l a b s _ m i n _ u t i l = m i n _ u t i l × T o t a l U D B

Definition 7. 高效用项集挖掘(High utility itemset mining):
设置参数 δ ( 0 % δ 100 % ) 为最小效用阈值,数据集 D 中完整集合 H U I s f H U I ( D , δ ) 表示。HUI挖掘的目标就是挖掘 f H U I ( D , δ )

看下面这个例子

表1和表2分别给出了交易数据集和项对应的外部效值,根据上诉的定义,如果这设置 a b s _ m i n _ u t i l = 30 ,我们能够计算得到HUIs完整集合为:
{ { B D } : 30 , { A C E } : 31 , { B C D } : 34 , { B C E } : 31 , { B D E } : 36 , { B C D E } : 40 , { A B C D E F } : 30 }

由于考虑效用值后,项集与其超集之间不存在直接的单调性或反单调性,所以只能通过不断缩小搜索空间来剪枝。 t r a n s a c t i o n w e i g h t e d   d o w n w a r d   c l o s u r e   p r o p e r t y (TWDC property) 这个策略基于以下的定义可以实现,对!又是定义

Definition 8. 有价值的交易效用值(Transaction-weighted utilization): T W U ( X )

T W U ( X ) = T r D X T r T U ( T r )
计算这个数据集中包含 X 项集的交易的交易效用值累加和。

Definition 9. TWU值高的项 (High TWU itemset):
如果项 X 满足 T W U ( X ) a b s _ m i n _ u t i l ,则 X 是TWU值高的项。

Property 1 (TWDC property): t r a n s a c t i o n w e i g h t e d   d o w n w a r d   c l o s u r e   p r o p e r t y ,如果项 X 不是高TWU值得项,那么 X 对应的所有超集的效用值都低。

这个挺好理解的,原文给出了数学证明,有兴趣可以看,只要思想就是包含超集的项一定包含 X ,所以超集的TWU肯定不大于 X 的TWU,而超集EU值又不大于TWU值,所以超级的EU肯定也小于阈值。

Definition 10. Top-k高效用项集(Top-k high utility itemset): t o p k   H U I
X 是Top-k高效用项集,当且仅当存在少于K个项集的效用值大于 E U ( X ) 在过程 f H U I ( D , 0 ) 中。

Property 2: D 中的完整 t o p k   H U I s 集合为 K H K H 可能包含项集小于k个,当 | f H U I ( D , 0 ) | k ,也有可能大于k个项集,因为可能有些项集具有同样的效用值。

Definition 11. 优化的最小效用阈值(Optimal minimum utility threshold): δ
参数 δ 成为优化的最小效用阈值,当且仅当不存在阈值 δ > δ 使得 | f H U I ( D , δ ) | = | K H | ;或者也可以认为 δ = m i n { U ( X ) | X K H } 。也就是当前KH中 X 最小的效用值。

Problem Statement:
给定一个交易数据库 D 和想要挖掘出 H I U s 的数目 k ,等价于发现那些在 D 中拥有效用值大于 δ 的项集集合。


相关工作

高效用项集挖掘
创建的有两类,一类是two-phase:包括两个步骤,第一步获取候选项集,第二步计算实际高效用项集。常见算法有 I H U P I I D S U P G r o w t h (这个目前最优,并且在第一阶段有四个优化策略,DGU、DGN、DLU、DLN,本篇TKU的基础);另一类是one-phase:不生成候选项集,直接生成最终高效用序列。常见的算法有 d 2 H U P H U M M i n e r (用了 u t i l i t y l i s t s 结构本篇TKO的基础)。

Top-k项集挖掘
这个就是传统的了,但是都没有考虑效用值。

Top-k高效用项集挖掘
最先提出这个概念的是Chan,但是没有考虑定量的项,和这篇论文的概念有些不一样;Zihayat提出T-HUDS用于挖掘流数据的top-k HUIs;还有一些人的工作,对理解本篇论文没什么用,就不介绍了。

总结

这篇博客主要是一些概念,为了方便理解后面的TKU算法TKO算法,具体算法请手动跳转。

猜你喜欢

转载自blog.csdn.net/qq_35414569/article/details/79969585