关联规则挖掘综述_5.docx
《关联规则挖掘综述_5.docx》由会员分享,可在线阅读,更多相关《关联规则挖掘综述_5.docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关联规则挖掘综述关联规则挖掘综述本文介绍了关联规则挖掘的研究情况,提出了关联规则的分类方法,对一些典型算法进行了分析和评价,指出传统关联规则衡量标准的缺乏,归纳出关联规则的价值衡量方法,瞻望了关联规则挖蔡伟杰张晓辉朱建秋朱扬勇2复旦大学计算机科学系上海200433摘要:本文介绍了关联规则挖掘的研究情况,提出了关联规则的分类方法,对一些典型算法进行了分析和评1价,指出传统关联规则衡量标准的缺乏,归纳出关联规则的价值衡量方法,瞻望了关联规则挖掘的将来研究方向。关键词:数据挖掘,关联规则,频集,OLAP1引言数据挖掘DataMining,又称数据库中的知识发现KnowledgeDiscoveryin
2、Database,在近期几年里已被数据库界所广泛研究,其中关联规则AssociationRules的挖掘是一个重要的问题。关联规则是发现交易数据库中不同商品项之间的联络,这些规则找出顾客购买行为形式,如购买了某一商品对购买其他商品的影响。发现这样的规则能够应用于商品货架设计、货存安排以及根据购买形式对用户进行分类。Agrawal等于1993年1首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后众多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对关联规则的应用进行推广。近期也有独立于Agrawal
3、的频集方法的工作18,19,以避免频集方法的一些缺陷,探索挖掘关联规则的新方法。同时随着OLAP技术的成熟和应用,将OLAP和关联规则结合20,21也成了一个重要的方向。也有一些工作6注重于对挖掘到的形式的价值进行评估,他们提出的模型建议了一些值得考虑的研究方向。本文第二部分是对关联规则基本概念的介绍,提出了关联规则的分类方法;第三部分是对挖掘算法的介绍,从经典的apriori开场,然后描绘了对该算法的优化拓展,接着讲述脱离apriori算法的方法,最后是多层、多维的关联规则挖掘;第四部分归纳出关联规则价值衡量方法,主要从两个方面进行考虑:系统客观层面和用户主观层面;最后瞻望了关联规则挖掘的将
4、来研究方向。2关联规则的基本概念2.1基本概念和问题描绘设I=i1,i2,im是二进制文字的集合,其中的元素称为项(item)。记D为交易(transaction)T的集合,这里交易T是项的集合,并且TI。对应每一个交易有唯一的标识,如交易号,记作TID。设X是一个I中项的集合,假如XT,那么称交易T包含X。一个关联规则是形如XTY的蕴涵式,这里XI,YI,并且XY=F。规则XTY在交易数据库D中的支持度support是交易集中包含X和Y的交易数与所有交易数之比,记为support(XTY),即support(XTY)=|T:XYT,TD|/|D|规则XTY在交易集中的可信度confidenc
5、e是指包含X和Y的交易数与包含X的交易数之比,记为confidence(XTY),即confidence(XTY)=|T:XYT,TD|/|T:XT,TD|给定一个交易集D,挖掘关联规则问题就是产生支持度和可信度分别大于用户给定的最小支持度(minsupp)和最小可信度(minconf)的关联规则。2.2关联规则的种类我们将关联规则按不同的情况进行分类:1.基于规则中处理的变量的类别,关联规则能够分为布尔型和数值型。布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则能够和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原
6、始的数据进行处理,当然数值型关联规则中可以以包含种类变量。例如:性别=“女=职业=“秘书,是布尔型关联规则;性别=“女=avg收入=2300,涉及的收入是数值类型,所以是一个数值型关联规则。2.基于规则中数据的抽象层次,能够分为单层关联规则和多层关联规则。在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=Sony打印机,是一个细节数据上的单层关联规则;台式机=Sony打印机,是一个较高层次和细节层次之间的多层关联规则。3.基于规则中涉及到的数据的维数,关联规则能够分为单维的和多维的。在单维的
7、关联规则中,我们只涉及到数据的一个维,如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。换成另一句话,单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。例如:啤酒=尿布,这条规则只涉及到用户的购买的物品;性别=“女=职业=“秘书,这条规则就涉及到两个字段的信息,是两个维上的一条关联规则。给出了关联规则的分类之后,在下面的分析经过中,我们就能够考虑某个详细的方法适用于哪一类规则的挖掘,某类规则又能够用哪些不同的方法进行处理。3关联规则挖掘的算法3.1经典频集方法Agrawal等于1993年1首先提出了挖掘顾客交易数据库中项集间的关联规则问题,其核
8、心方法是基于频集理论的递推方法。以后众多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;提出各种变体,如泛化的关联规则、周期关联规则等,对关联规则的应用进行推广。3.1.1核心算法Agrawal等1在1993年设计了一个基本算法,提出了挖掘关联规则的一个重要方法这是一个基于两阶段频集思想的方法,将关联规则挖掘算法的设计能够分解为两个子问题:1.找到所有支持度大于最小支持度的项集Itemset,这些项集称为频集FrequentItemset)。2.使用第1步找到的频集产生期望的规则。这里的第2步相对简单一
9、点。如给定了一个频集Y=I1I2.Ik,k32,IjI,产生只包含集合I1,I2,.,Ik中的项的所有规则(最多k条),其中每一条规则的右部只要一项,(即形如Y-IiTIi,1ik),这里采用的是4中规则的定义。一旦这些规则被生成,那么只要那些大于用户给定的最小可信度的规则才被留下来。对于规则右部含两个以上项的规则,在其以后的工作中进行了研究,本文后面考虑的是这种情况。为了生成所有频集,使用了递推的方法。其核心思想如下:1.L1=large1-itemsets;2.for(k=2;Lk-11F;k+)dobegin3.Ck=apriori-gen(Lk-1);/新的候选集4.foralltra
10、nsactionstDdobegin5.Ct=subset(Ck,t);/事务t中包含的候选集6.forallcandidatescCtdo7.c.count+;8.end9.Lk=cCk|c.count3minsup10.end11.Answer=kLk;首先产生频繁1-项集L1,然后是频繁2-项集L2,直到有某个r值使得Lr为空,这时算法停止。这里在第k次循环中,经过先产生候选k-项集的集合Ck,Ck中的每一个项集是对两个只要一个项不同的属于Lk-1的频集做一个(k-2)-连接来产生的。Ck中的项集是用来产生频集的候选集,最后的频集Lk必须是Ck的一个子集。Ck中的每个元素需在交易数据库中
11、进行验证来决定其能否参加Lk,这里的验证经过是算法性能的一个瓶颈。这个方法要求屡次扫描可能很大的交易数据库,即假如频集最多包含10个项,那么就需要扫描交易数据库10遍,这需要很大的I/O负载。在论文6中,Agrawal等引入了修剪技术Pruning来减小候选集Ck的大小,由此能够显著地改良生成所有频集算法的性能。算法中引入的修剪策略基于这样一个性质:一个项集是频集当且仅当它的所有子集都是频集。那么,假如Ck中某个候选项集有一个(k-1)-子集不属于Lk-1,则这个项集能够被修剪掉不再被考虑,这个修剪经过能够降低计算所有的候选集的支持度的代价。文6中,还引入杂凑树HashTree方法来有效地计算
12、每个项集的支持度。3.1.2频集算法的几种优化方法固然Apriori算法本身已经进行了一定的优化,但是在实际的应用中,还是存在不令人满意的地方,于是人们相继提出了一些优化的方法。1.基于划分的方法。Savasere等14设计了一个基于划分(partition)的算法,这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块能够被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。上面所讨论的算法是能够高度并行的
13、,能够把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。通常这里的通信经过是算法执行时间的主要瓶颈;而另一方面,每个独立的处理器生成频集的时间也是一个瓶颈。其他的方法还有在多处理器之间分享一个杂凑树来产生频集。更多的关于生成频集的并行化方法能够在2,11,17中找到。2.基于hash的方法。一个高效地产生频集的基于杂凑(hash)的算法由Park等10提出来。通过实验我们能够发现寻找频集主要的计算是在生成频繁2-项集Lk上,Park等就是利用了这个性质引入杂凑技术来改良产生频繁2-项集的方法。3.基于采样的方法。基于前一遍扫描得到
14、的信息,对此仔细地作组合分析,能够得到一个改良的算法,Mannila等8先考虑了这一点,他们以为采样是发现规则的一个有效途径。随后又由Toivonen16进一步发展了这个思想,先使用从数据库中抽取出来的采样得到一些在整个数据库中可能成立的规则,然后对数据库的剩余部分验证这个结果。Toivonen的算法相当简单并显著地减少了I/O代价,但是一个很大的缺点就是产生的结果不准确,即存在所谓的数据扭曲(dataskew)。分布在同一页面上的数据时常是高度相关的,可能不能表示整个数据库中形式的分布,由此而导致的是采样5%的交易数据所花费的代价可能同扫描一遍数据库相近。Lin和Dunham在7中讨论了反扭
15、曲(Anti-skew)算法来挖掘关联规则,在那里他们引入的技术使得扫描数据库的次数少于2次,算法使用了一个采样处理来采集有关数据的次数来减少扫描遍数。Brin等4提出的算法使用比传统算法少的扫描遍数来发现频集,同时比基于采样的方法使用更少的候选集,这些改良了算法在低层的效率。详细的考虑是,在计算k-项集时,一旦我们以为某个(k+1)-项集可能是频集时,就并行地计算这个(k+1)-项集的支持度,算法需要的总的扫描次数通常少于最大的频集的项数。这里他们也使用了杂凑技术,并提出产生“相关规则CorrelationRules的一个新方法,这是基于他们的3工作基础上的。4.减少交易的个数。减少用于将来
16、扫描的事务集的大小。一个基本的原理就是当一个事务不包含长度为k的大项集,则必然不包含长度为k+1的大项集。进而我们就能够将这些事务移去,这样在下一遍的扫描中就能够要进行扫描的事务集的个数。这个就是AprioriTid的基本思想。3.2其他的频集挖掘方法上面我们介绍的都是基于Apriori的频集方法。即便进行了优化,但是Apriori方法一些固有的缺陷还是无法克制:1.可能产生大量的候选集。当长度为1的频集有10000个的时候,长度为2的候选集个数将会超过10M。还有就是假如要生成一个很长的规则的时候,要产生的中间元素也是宏大量的。2.无法对稀有信息进行分析。由于频集使用了参数minsup,所以
17、就无法对小于minsup的事件进行分析;而假如将minsup设成一个很低的值,那么算法的效率就成了一个很难处理的问题。下面将介绍两种方法,分别用于解决以上两个问题。在18中提到了解决问题1的一种方法。采用了一种FP-growth的方法。他们采用了分而治之的策略:在经过了第一次的扫描之后,把数据库中的频集压缩进一棵频繁形式树FP-tree,同时仍然保留其中的关联信息。随后我们再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关。然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,可以以结合划分的方法,使得一个FP-tree能够放入主存中。实验表明,FP-growth对不同长度的
18、规则都有很好的适应性,同时在效率上较之apriori算法有宏大的提高。第二个问题是基于这个的一个想法:apriori算法得出的关系都是频繁出现的,但是在实际的应用中,我们可能需要寻找一些高度相关的元素,即便这些元素不是频繁出现的。在apriori算法中,起决定作用的是支持度,而我们如今将把可信度放在第一位,挖掘一些具有非常高可信度的规则。在19中介绍了对于这个问题的一个解决方法。整个算法基本上分成三个步骤:计算特征、生成候选集、过滤候选集。在三个步骤中,关键的地方就是在计算特征时Hash方法的使用。在考虑方法的时候,有几个衡量好坏的指数:时空效率、错误率和遗漏率。基本的方法有两类:Min_Ha
19、shing(MH)和Locality_Sensitive_Hashing(LSH)。Min_Hashing的基本想法是:将一条记录中的头k个为1的字段的位置作为一个Hash函数。Locality_Sentitive_Hashing的基本想法是:将整个数据库用一种基于概率的方法进行分类,使得类似的列在一起的可能性更大,不类似的列在一起的可能性较小。我们再对这两个方法比拟一下。MH的遗漏率为零,错误率能够由k严格控制,但是时空效率相对的较差。LSH的遗漏率和错误率是无法同时降低的,但是它的时空效率却相对的好很多。所以应该视详细的情况而定。最后的实验数据也讲明这种方法确实能产生一些有用的规则。3.3
20、多层和多维关联规则的挖掘随着数据仓库和OLAP技术研究的深化,能够预见大量的数据将经过整合、预处理,进而存入数据仓库之中。在当前,大多数的数据仓库的应用都是进行统计、建立多维以及OLAP的分析工作。随着数据挖掘研究的深化,已经有了OLAP和数据挖掘相结合的方法20,21。首先一个有效的数据挖掘方法应该能够进行探索性的数据分析。用户往往希望能在数据库中穿行,选择各种相关的数据,在不同的细节层次上进行分析,以各种不同的形式呈现知识。基于OLAP的挖掘就能够提供在不同数据集、不同的细节上的挖掘,能够进行切片、切块、展开、过滤等各种对规则的操作。然后再加上一些可视化的工具,就能大大的提高数据挖掘的灵敏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关联 规则 挖掘 综述 _5
限制150内