关联规则挖掘算法研究

一、 问题背景与意义:

数据挖掘作为一种从数据中获取信息的有效方法,越来越受到人们的重视。其中,关联规则挖掘首先被用来发现购物篮数据事务中项目之间的有趣联系。此后,关联规则成为数据挖掘领域的一个重要研究方向,广泛应用于医学、金融、互联网等多个领域。

随着大数据时代的到来,数据的收集和存储愈加重要,许多场景也对从数据中挖掘出频繁模式有着愈加迫切的需求,比如从大量商务事务记录中发现有价值的相关模式,可以为分类设计、交叉销售和顾客购买习惯分析等许多商务决策过程提供帮助。因此,关联规则算法的研究十分具有现实意义。

1993年,Agrawal 首次突出了关联规则概念,随后给出了关联规则挖掘问题描述和相应的挖掘算法。1994 年,Agrawal 等人建立了项目集格空间理论,提出了著名的 Apriori 算法[1],目前该算法已经成为关联规则挖掘的经典算法。1995年Park 等人[2]提出了一种基于散列( hash) 技术产生频繁项集的算法同年基于划分( partition) 的算法[3]也被提出,克服了 Apriori 算法 I /O 开销大的瓶颈。针对数据库中数据量大、扫描数据库次数多的问题,Toivonen[4]提出了基于采样思想的 Sampling 关联规则算法;之后Han 等人[5]提出了一种不产生候选集的发现频繁项集的挖掘方法 FP-growth,大大提升了算法的效率,成为又一里程碑式的工作。之后随着关联规则处理的数据量呈现指数级的增长,分布式的算法逐渐成为主流,Agrawal 等人[6]提出了CD、DD及CaD三种并行算法。基于DIC思想,Cheung 等人[7]提出了APM并行算法。针对 DD 算法效率低下的问题,Han等[8]引入了 IDD、HD 算法。由于新需求数据流累关联规则挖掘算法应运而生,Giannella 等人[9]提出的 FP-stream 频繁项集挖掘算法是数据流挖掘的经典算法。图的广泛应用使得研究者将其引入关联规则挖掘,针对基于Apriori思想的算法产生大量候选子图的缺点,出现了基于 FP-growth 的频繁子图挖掘算法gSpan、FFSM、closeGraph。Agrawal 和 Strikant 也提出了序列模式挖掘的概念,提出了经典的水平格式的类 Apriori 算法 GSP[10],和基于垂直格式的序列模式算法 SPADE[11]。

二、 问题定义

规则的支持度support和置信度confidence是规则兴趣度的两种度量。它们分别反映所发现规则的有用性和确定性。
在这里插入图片描述
项的集合称为项集。包含k个项的项集称为k项集。项集的出现频度是包含项集的事务数,简称为项集的频度、支持度计数或计数。如果项集I的支持度满足预定义的最小支持度阈值,则I是频繁项集。则有:
在这里插入图片描述

一般而言,关联规则的挖掘是一个两步的过程:
(1) 找出所有的频繁项集:根据定义,这些项集的每一个频繁出现的次数至少与预定义的最小支持度min_sup一样;
(2) 由频繁项集产生强关联规则:根据定义,这些规则必须满足最小支持度min_sup和最小置信度min_con。

三、 经典的关联规则挖掘算法

关联规则挖掘算法根据其实现原理大致可以分为层次算法、图搜索算法、并行算法,下面本文将分别对其进行介绍,并简述其中较为经典的挖掘算法。

3.1 层次算法

按照关联规则中涉及到的变量的层次可以把关联规则分为单层关联规则和多层关联规则。单层关联规则只涉及数据的一个维度;而多层关联规则要处理多维数据,涉及多个变量。其中Apriori算法是该系列算法的开山代表之作。

3.1.1 Apriori算法描述

Apriori经典关联规则挖掘算法基于两个核心理论: 频繁项集的子集是频繁项集; 非频繁项集的超集是非频繁项集。其核心思想如下图1所示[1]:
在这里插入图片描述

图1
即首先,找出频繁1项集的集合,该集合记作L1,然后由L1经过连接步和剪枝步得到L2,再由L2经过连接步和剪枝步得到L3,如此循环下去,直到不能找到频繁k项集。每找一层均需要进行一次数据库扫描。最后,利用频繁项集构造出满足用户最小置信度的规则。挖掘和识别出所有频繁项集是该算法的核心,占整个计算量的大部分。

a) Apriori算法分析
可以看出,Apriori算法有两个致命的瓶颈:第一是可能在算法执行过程中产生庞大的候选项目集,这大大增加了算法的时空复杂度。第二是需要多次扫描数据库,造成大量的I/O操作,耗时耗力。
当然,Apriori算法在数据集比较稀疏时候,频繁集长度较短时候还是具有很好的性能的。

b) Apriori算法的改进
虽然Apriori算法自身已经进行了一定的优化,但是在实际的应用中,还是存在不令人满意的地方,于是人们相继在其基础上提出了一些优化的方法。

i)数据库划分改进
在这里插入图片描述

ii)数据采样改进
Toivonen[4]提出了基于采样思想的 Sampling关联规则算法,该方法首先用从数据库 中抽取采样数据 得到一些在整个数据库中可能成立的规则,然后对数据库的剩余部分验证这个结果。
抽样技术可以快速实现频繁项集的挖掘,但由于Sampling 算法利用随机抽样法进行采样,容易造成数据扭曲问题,导致样本数据库挖掘结果与数据库D 挖掘结果误差增大。

3.1.2 FP-Growth算法

a)算法描述
针对Apriori算法的固有缺陷,Han等人提出了一个称为FP-Growth的算法[5]。它是不产生候选集而直接生成频繁集的频繁模式增长算法,该方法在经过第一遍扫描之后,把数据库中的频繁项目集压缩进一棵频繁模式树(FP-Tree),同时依然保留其中的关联信息。然后再将FP-Tree分化成一些条件库,每个库和S个长度为l的频繁项目集相关,然后再对这些条件库递归地进行挖掘。该算法的步骤大致如下所示:
(1)按Apriori算法,扫描数据库一次生成1频繁集,并把它们按降序排列,放入L表中。
(2)创建根节点,并标记为null,扫描数据库一次,当得到数据库的一个项目集时,就把其中的元素按L表的次序排列,然后递归调用FP-Growth来实现FP-Tree增长。
(3)迭代重复(1)和(2),直到树包含一个元素项为止。

b)算法性能分析
算法中存储信息的FP-Tree保证了数据信息的完整性,而且FP-Growth算法在运行过程中只需要进行两次数据库扫描,而且不用生成候选集,相较于Apriori大大降低了时空复杂度。
但是构建FP-Tree这个数据结构本身也会消耗时间和内存,如果这个树很大,对于算法来说也是得不偿失的。

3.2 图挖掘算法

图挖掘是指将关联分析用于基于图的数据,在图的集合中发现一组公共子结构,即频繁子图挖掘。gSpan算法是图挖掘邻域的一个算法,而作为子图挖掘算法,又是其他图挖掘算法的基础,可见gSpan算法在图挖掘算法中的重要性。其算法流程如下:
1、遍历所有的图,计算出所有的边和点的频度。
2、将频度与最小支持度数做比较,移除不频繁的边和点。
3、重新将剩下的点和边按照频度进行排序,将他们的排名号给边和点进行重新标号。
4、再次计算每条边的频度,计算完后,然后初始化每条边,并且进行此边的subMining()挖掘过程。

3.3 并行算法

基于 DIC 思 想,Cheung 等 人[7] 提 出了 APM 并 行 算 法, APM 采用全局剪枝技术约减候选 2-项集,这在数据分布不均时十分有效。首先把数据库转化成布尔矩阵,根据要求的k项频繁项集来对矩阵进行裁减,然后用待生成的k-项集设计的匹配矩阵对裁减后的布尔矩阵进行运算产生与匹配矩阵对应的频繁 k-项集。APM 算法流程如下图2所示:
在这里插入图片描述

图2

3.4 数据流算法

不同于传统的静态数据库模型,数据流是在线联机产生的,其具有连续、无界、无序的特征。因此,基于数据流的关联规则挖掘不能采用以往多次扫描数据的形式,而应随着数据更新进行单次扫描。为了适应数据流的特征,解决存储空间不足的问题,一般通过滑动窗口技术对数据流作区域性限制进行窗口查询。
Giannella 等人[9]提出的 FP-stream 频繁项集挖掘算法是数据流挖掘的经典算法,它将倾斜时间窗口表嵌入到基于内存的频繁和亚频繁序列信息频繁模式树(pattern-tree) 中,挖掘出具有近似支持度的时间敏感频繁模式,并实现多时间粒度的频繁模式增量维护。根据概念“频繁闭项集提供一种不丢失支持 度信息的最小表示”,可以对频繁闭项集挖掘,这样在时间和空间的复杂性上提高了挖掘效率。

3.5 序列算法

Agrawal和Strikant最早提出了序列模式挖掘的概念,即从序列数据库中挖掘满足最小支持度的频繁子序列的过程。序列模式挖掘不同于关联规则挖掘项集属性内部的联系,它主要研究项集之间的联系。
序列模式挖掘较为经典的是类Apriori算法GSP,它的基本思路如下:
1、长度为1的序列模式 ,作为初始的种子集;
2、根据长度为i的种子集 ,通过连接操作和剪切操作生成长度为i+1的候选序列模式,然后扫描数据库,计算每个候选序列模式的支持度,产生长度为i+1的序列模式并作为新的种子集。
3、重复第二步,直到没有新的序列模式或新的候选序列模式产生为止。

四、 关联规则的应用

关联规则挖掘是数据挖掘领域的重要技术,是继贝叶斯、支持向量机等方法之后的又一项重要的分类技术,随着相关算法研究日渐成熟,被广泛应用于文本分类、医学图像分类、农业病虫防治、蛋白质结构预测、网络入侵检测等领域,并取得了喜人的成效。

五、 总结与展望

综上所述,本文给出了关联规则挖掘的学术定义,并在回顾前人在关联规则挖掘算法研究的基础上,将算法按照原理大致分为5类,在每类中重点介绍了其中较为经典的一两种算法,并进行对比分析。
关联分析算法带给人们便利的同时也存在诸多不足。比如一些关联度很大的A、B事物之间也有可能是负相关的事物,从整体看才发现原来买A之前B的销售额更多,这就需要关联算法更加智能化和专业化,结合当下炙手可热的AI技术是一个不错的研究方向。
关联规则挖掘经过长期的研究与发展,已在频繁模式挖掘算法的设计及优化方面日趋成熟,广泛应用于互联网、金融、生物信息等领域。但该领域在未来研究的方向是仍具有挑战性的工作;设计更高效的挖掘算法;实现用户与挖掘系统的交互,开发易于理解的可视化界面; 结合特殊领域完善扩展型挖掘算法,实现与其它系统的集成,如周期模式挖掘等; 拓展关联规则的应用领域。

六、 参考文献

[1] Agrawal R,Srikant R. Fast algorithms for mining association rules [C]/ /Proc of International Conference on Very Large Databases. 1994: 487-499.
[2] Park J S,Chen M S,Yu P S. An effective hash-based algorithm for mining association rules[J]. SIGMOD Record,1995,25( 2) : 175- 186.
[3] Savasere A,Omiecinski E,Navathe S. An efficient algorithm for mining association rules in large databases[C]/ /Proc of the 21st International Conference on Very Large Databases. 1995.
[4] Toivonen H. Sampling large databases for association rules[C]/ /Proc of the 22nd International Conference on Very Large Databases. 1996
[5] Han Jiawei,Pei Jian,Yin Yiwen. Mining frequent patterns without candidate generation[C]/ /Proc of ACM SIGMOD International Conference on Management of Data. New York: ACM Press,2000: 1-12.
[6] Agrawal R,Shafer J. Parallel mining of association rules[J]. IEEE Trans on Knowledge and Data Engeering,1996,8( 6) : 962-969
[7] Cheung D W,Han J,Ng V,et al. A fast distributed algorithm for mining association rules[C]/ /Proc of International Conference on Parallel and Distributed Information Systems. 1996: 31-44.
[8] Han E S,Karypis G,Kumar V. Scalable parallel data mining for association rules[C]/ /Proc of ACM SIGMOD International Conference on Management of Data. New York: ACM Press,1997: 277-288.
[9] Giannella C,Han Jiawei,Pei Jian,et al. Mining frequent patterns in data streams at multiple time granularities[J]. Next Generation Data Mining,2006,35( 1) : 61-84.
[10] Srikant R,Agrawal R. Mining sequential patterns: generalizations and performance improvements[C]/ /Proc of the 5th International Conference on Extending Data Base Technology. 1996: 3-17.
[11] Zaki M J. SPADE: an efficient algorithm for mining frequent sequences [J]. Machine Learning,2001,42( 1) : 31-60.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李霁明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值