高级人工智能第十二章.ppt
《高级人工智能第十二章.ppt》由会员分享,可在线阅读,更多相关《高级人工智能第十二章.ppt(141页珍藏版)》请在三一办公上搜索。
1、高级人工智能第十二章,史忠植 中国科学院计算技术研究所,关联规则 Association Rules,2023/10/6,史忠植 关联规则,2,内容提要,引言Apriori 算法FP-growth 算法并行关联规则挖掘多维关联规则挖掘相关规则关联规则改进,2023/10/6,史忠植 关联规则,3,关联规则,关联规则反映一个事物与其他事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么,其中一个事物就能够通过其他事物预测到。关联规则表示了项之间的关系。示例:cereal,milk fruit“买谷类食品和牛奶的人也会买水果.”商店可以把牛奶和谷类食品作特价品以使人们买更
2、多的水果.,2023/10/6,史忠植 关联规则,4,市场购物篮分析,分析事务数据库表我们是否可假定?Chips=Salsa Lettuce=Spinach,2023/10/6,史忠植 关联规则,5,基本概念,通常,数据包含:,事务 ID,项的子集,2023/10/6,史忠植 关联规则,6,关联规则挖掘,在事务数据库,关系数据库和其它信息库中的项或对象的集合之间,发现频繁模式,关联,相关,或因果关系的结构.频繁模式:数据库中出现频繁的模式(项集,序列,等等),2023/10/6,史忠植 关联规则,7,基本概念,项集事务关联规则-事务数据集(例如右图)事务标识 TID 每一个事务关联着一个标识,
3、称作TID.,2023/10/6,史忠植 关联规则,8,关联规则的度量,支持度sD中包含A和 B 的事务数与总的事务数的比值规则 AB 在数据集D中的支持度为s,其中s 表示D中包含AB(即同时包含A和B)的事务的百分率.,2023/10/6,史忠植 关联规则,9,关联规则的度量,可信度 cD中同时包含A和B的事务数与只包含A的事务数的比值,规则 AB 在数据集D中的可信度为c,其中c表示D中包含A的事务中也包含B的百分率.即可用条件概率P(B|A)表示.confidence(A B)=P(B|A)条件概率 P(B|A)表示A发生的条件下B也发生的概率.,2023/10/6,史忠植 关联规则,
4、10,关联规则的度量,关联规则根据以下两个标准(包含或排除):最小支持度 表示规则中的所有项在事务中出现的频度最小可信度-表示规则中左边的项(集)的出现暗示着右边的项(集)出现的频度,2023/10/6,史忠植 关联规则,11,市场购物篮分析,I是什么?事务ID B的T是什么?s(Chips=Salsa)是什么?c(Chips=Salsa)是什么?,2023/10/6,史忠植 关联规则,12,频繁项集,项集 任意项的集合k-项集 包含k个项的项集频繁(或大)项集 满足最小支持度的项集若I包含m个项,那么可以产生多少个项集?,2023/10/6,史忠植 关联规则,13,强关联规则,给定一个项集,
5、容易生成关联规则.项集:Chips,Salsa,BeerBeer,Chips=SalsaBeer,Salsa=ChipsChips,Salsa=Beer强规则是有趣的强规则通常定义为那些满足最小支持度和最小可信度的规则.,2023/10/6,史忠植 关联规则,14,关联规则挖掘,两个基本步骤找出所有的频繁项集满足最小支持度找出所有的强关联规则由频繁项集生成关联规则保留满足最小可信度的规则,2023/10/6,史忠植 关联规则,15,内容提要,引言Apriori 算法FP-growth 算法并行关联规则挖掘多维关联规则挖掘相关规则关联规则改进总结,2023/10/6,史忠植 关联规则,16,Ap
6、riori算法,IBM公司Almaden研究中心的R.Agrawal 等人在1993年提出的AIS和SETM。在1994年提出Apriori和AprioriTid。Apriori和AprioriTid算法利用前次过程中的数据项目集来生成新的候选数据项目集,减少了中间不必要的数据项目集的生成,提高了效率,2023/10/6,史忠植 关联规则,17,生成频繁项集,Nave algorithmn-|D|for each subset s of I do l-0 for each transaction T in D do if s is a subset of T then l-l+1 if min
7、imum support=l/n then add s to frequent subsets,2023/10/6,史忠植 关联规则,18,生成频繁项集,nave algorithm的分析I 的子集:O(2m)为每一个子集扫描n个事务测试s为T的子集:O(2mn)随着项的个数呈指数级增长!我们能否做的更好?,2023/10/6,史忠植 关联规则,19,Apriori 性质,定理(Apriori 性质):若A是一个频繁项集,则A的每一个子集都是一个频繁项集.证明:设n为事务数.假设A是l个事务的子集,若 A A,则A 为l(l l)个事务的子集.因此,l/n s(最小支持度),l/n s也成立.
8、,2023/10/6,史忠植 关联规则,20,Apriori 算法,Apriori算法是一种经典的生成布尔型关联规则的频繁项集挖掘算法.算法名字是缘于算法使用了频繁项集的性质这一先验知识.思想:Apriori 使用了一种称作level-wise搜索的迭代方法,其中k-项集被用作寻找(k+1)-项集.首先,找出频繁1-项集,以L1表示.L1用来寻找L2,即频繁2-项集的集合.L2用来寻找L3,以此类推,直至没有新的频繁k-项集被发现.每个Lk都要求对数据库作一次完全扫描.,2023/10/6,史忠植 关联规则,21,生成频繁项集,中心思想:由频繁(k-1)-项集构建候选k-项集方法找到所有的频繁
9、1-项集扩展频繁(k-1)-项集得到候选k-项集剪除不满足最小支持度的候选项集,2023/10/6,史忠植 关联规则,22,Apriori:一种候选项集生成-测试方法,Apriori 剪枝原理:若任一项集是不频繁的,则其超集不应该被生成/测试!方法:由频繁k-项集生成候选(k+1)-项集,并且在DB中测试候选项集性能研究显示了Apriori算法是有效的和可伸缩(scalablility)的.,2023/10/6,史忠植 关联规则,23,The Apriori 算法一个示例,Database TDB,1st scan,C1,L1,L2,C2,C2,2nd scan,C3,L3,3rd scan,
10、2023/10/6,史忠植 关联规则,24,Apriori 算法,Algorithm:Apriori输入:Database,D,of transactions;minimum support threshold,min_sup.输出:L,freuqent itemsets in D.过程:Ck:Candidate itemset of size kLk:frequent itemset of size kL1=find_frequent_1_itemsets(D);for(k=2;Lk+1!=;k+)do begin Ck=apriori_gen(Lk-1,min_sup);for each
11、transaction t in database D do/scan D for counts Ct=subset(Ck,t);/get the subsets of t that are candidates For each candidate c Ct c.count+;Lk=candidates in Ck with min_support endreturn L=k Lk;,2023/10/6,史忠植 关联规则,25,Apriori 算法,Procedure apriori_gen(Lk-1:frequent(k-1)-itemsets;min_sup:minimum suppor
12、t threshold)for each itemset l1 Lk-1 for each itemset l2Lk-1 if(l11=l21)(l12=l22)(l1k-1=l2k-1)Then c=join(l1,l2)/join step:generate candidates if has_infrequent_subset(c,Lk-1)then delete c;/prune step:remove unfruitful candidate else add c to Ckreturn Ck,2023/10/6,史忠植 关联规则,26,Apriori 算法,Join is gene
13、rate candidates set of itemsets Ck from 2 itemsets in Lk-1Procedure join(p,q)insert into Ck select p.item1,p.item2,.,p.itemk-1,q.itemk-1 from Lk-1 p,Lk-1 q where p.item1=q.item1,.,p.itemk-2=q.itemk-2,p.itemk-1=q.itemk-1,2023/10/6,史忠植 关联规则,27,Apriori 算法,Procedure has_infrequent_subset(c:candidate k-i
14、temset;Lk-1:frequent(k-1)-itemsets;)/use prior knowledge for each(k-1)-subset s of c if s Lk-1 then return TRUE;return FALSE.,2023/10/6,史忠植 关联规则,28,Apriori 算法,如何生成候选项集?步骤 1:自连接 Lk步骤 2:剪枝如何计算候选项集的支持度?候选项庥生成的示例L3=abc,abd,acd,ace,bcd 自连接:L3*L3由abc 和abd 连接得到abcd 由acd 和ace 连接得到acde剪枝:因为ade 不在L3中acde 被剪除C
15、4=abcd,2023/10/6,史忠植 关联规则,29,如何生成候选项集?,假定Lk-1中的项以一定顺序排列步骤 1:自连接 Lk-1 insert into Ckselect p.item1,p.item2,p.itemk-1,q.itemk-1from Lk-1 p,Lk-1 qwhere p.item1=q.item1,p.itemk-2=q.itemk-2,p.itemk-1 q.itemk-1步骤 2:剪枝forall itemsets c in Ck doforall(k-1)-subsets s of c doif(s is not in Lk-1)then delete c
16、from Ck,2023/10/6,史忠植 关联规则,30,如何计算候选项集的支持度?,为何候选项集的支持度的计算是一个问题?候选项集的总数可能是巨大的 一个事务可能包含多个候选项集方法:候选项集被存储在一个哈希树哈希树的叶子结点包含一个项集和计数的列表内部结点 包含一个哈希表子集函数:找出包含在一个事务中的所有候选项集,2023/10/6,史忠植 关联规则,31,频繁模式挖掘的挑战,挑战多次扫描事务数据库巨大数量的候选项集繁重的计算候选项集的支持度工作改进 Apriori:大体的思路减少事务数据库的扫描次数缩减候选项集的数量使候选项集的支持度计算更加方便,2023/10/6,史忠植 关联规则
17、,32,AprioriTid算法,AprioriTid算法由Apriori算法改进优点:只和数据库做一次交互,无须频繁访问数据库将Apirori中的Ck 扩展,内容由c变为TID,c,TID用于唯一标识事务引入Bk,使得Bk 对于事务的项目组织集合,而不是被动的等待Ck 来匹配,2023/10/6,史忠植 关联规则,33,AprioriTid算法,举例:minsupp=2数据库:,2023/10/6,史忠植 关联规则,34,AprioriTid算法示例,2023/10/6,史忠植 关联规则,35,ApioriTid算法示例,2023/10/6,史忠植 关联规则,36,ApioriTid算法示例
18、,2023/10/6,史忠植 关联规则,37,ApioriTid算法,上面图中分别为Bk 和Lk,而Ck 和Apriori算法产生的一样,因此没有写出来可以看到Bk 由Bk-1 得到,无须由数据库取数据缺点:内存要求很大,事务过多的时候资源难以满足,2023/10/6,史忠植 关联规则,38,内容提要,引言Apriori 算法FP-growth 算法并行关联规则挖掘多维关联规则挖掘相关规则关联规则改进总结,2023/10/6,史忠植 关联规则,39,频繁模式挖掘的瓶颈,多次扫描数据库是高代价的长模式的挖掘需要多次扫描数据库以及生成许多的候选项集找出频繁项集 i1i2i100扫描次数:100候选
19、项集的数量:(1001)+(1002)+(110000)=2100-1=1.27*1030!瓶颈:候选项集-生成-测试我们能否避免生成候选项集?,2023/10/6,史忠植 关联规则,40,不生成候选项集的频繁模式挖掘,利用局部频繁的项由短模式增长为长模式“abc”是一个频繁模式得到所有包含“abc”的事务:DB|abc“d”是 DB|abc 的一个局部频繁的项 abcd 是一个频繁模式,2023/10/6,史忠植 关联规则,41,FP Growth算法(Han,Pei,Yin 2000),Apriori算法的一个有问题的方面是其候选项集的生成指数级增长的来源另一种方法是使用分而治之的策略(d
20、ivide and conquer)思想:将数据库的信息压缩成一个描述频繁项相关信息的频繁模式树,2023/10/6,史忠植 关联规则,42,利用FP-树进行频繁模式挖掘,思想:频繁模式增长递归地增长频繁模式借助模式和数据库划分方法 对每个频繁项,构建它的条件模式基,然后构建它的条件FP-树.对每个新创建的条件FP-树重复上述过程直至结果FP-树为空,或者它仅包含一个单一路径.该路径将生成其所有的子路径的组合,每个组合都是一个频繁模式.,2023/10/6,史忠植 关联规则,43,频繁 1-项集,最小支持度为20%(计数为 2),事务数据库 支持度计数 频繁1-项集,2023/10/6,史忠植
21、 关联规则,44,FP-树 构建,按支持度降序排列,2023/10/6,史忠植 关联规则,45,FP-树 构建,扫描数据库 事务1:I1,I2,I5 排序:I2,I1,I5,处理事务 以项的顺序增加结点 标注项及其计数,2023/10/6,史忠植 关联规则,46,FP-树 构建,null,(I2,2),(I4,1),2023/10/6,史忠植 关联规则,47,FP-树 构建,null,(I2,7),(I4,1),(I3,2),(I3,2),(I1,2),(I3,2),(I4,1),(I5,1),2023/10/6,史忠植 关联规则,48,FP-树 构建,扫描事务数据库D一次,得到频繁项的集合F
22、及它们的支持度.将F按支持度降序排列成L,L是频繁项的列表.创建FP-树的根,标注其为NULL.对D中的每个事务进行以下操作:根据 L中的次序对事务中的频繁项进行选择和排序.设事务中的已排序的频繁项列表为p|P,其中p表示第一个元素,P表示剩余的列表.调用insert_Tree(p|P,T).,2023/10/6,史忠植 关联规则,49,FP-树 构建,Insert_Tree(p|P,T)If T has a child N such that N.item-name=p.item-name,then increment Ns count by 1;else create a new node
23、 N,and let its count be 1,its parent link be linked to T,and its node-link to the nodes with the same item-name via the node-link structure.If P is nonempty,call insert_tree(P,N)recursively.,2023/10/6,史忠植 关联规则,50,挖掘 FP-tree,从索引表中的最后一个项开始找到所有包含该项的路径沿着结点-链接(node-links)确定条件模式路径中符合频度要求的模式构建 FP-tree C添加项
24、至C中所有路径,生成频繁模式递归地挖掘C(添加项)从索引表和树中移除项,2023/10/6,史忠植 关联规则,51,挖掘 FP-Tree,null,(I2,7),(I1,4),(I4,1),(I3,2),(I3,2),(I4,1),(I5,1),(I1,2),(I3,2),前缀路径(I2 I1,1)(I2 I1 I3,1)条件路径(I2 I1,2)条件 FP-tree(I2 I1 I5,2),(I2 I5,2),(I1 I5,2),null,(I2,2),(I1,2),2023/10/6,史忠植 关联规则,52,挖掘 FP-Tree,2023/10/6,史忠植 关联规则,53,挖掘 FP-Tr
25、ee,Procedure FP_growth(Tree,)If Tree contains a single path P then for each combination(denote as)of the nodes in the path P generate pattern with support=minisup of nodes in;Else for each ai in the header of Tree generate pattern=ai with support=ai.support;construct,s conditional pattern base and t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 人工智能 第十二

链接地址:https://www.31ppt.com/p-6216506.html