数据挖掘算法并行化的研究.docVIP

  • 19
  • 0
  • 约3.93千字
  • 约 9页
  • 2018-10-17 发布于福建
  • 举报
数据挖掘算法并行化的研究

数据挖掘算法并行化的研究   数据挖掘的目标是从海量的数据中抽取出模式,找出数据变化的规律和数据之间的相互依存关系,使人们能够从宏观的高层次的角度来审视数据,充分发掘数据的潜力,指导人们的行为,为决策和科学发现提供有力的支持。关联规则发现是知识发现阶段的重要问题,其目的是找出项集的关系。最近几年数据挖掘算法已经吸引了研究人员和从业者的巨大兴趣。   1.基础概念   1.1 关联规则的基本概念与问题描述   关联规则发现是数据挖掘的一个方面。关联规则挖掘问题的形式化描述:设I={i1,i2,…,im}是所有项的集合。任务相关的数据D是数据库事务的集合其中每个事务T是项的集合,有TI,有n个项的T可以表示为T={t1,t2,…,tn},ti∈I,T相当于交易中的商品列表。每一个事务有一个标识符,称作TID。项的集合称为项集。包含K个项的项集称为K-项集。如:若A是一个项集,事务T包含A当且仅当AT,若A中含有的项数目为K,则称为K-数据项集,简称K-项集。   事务集D中的规则XY是由支持度和确信度约束的,支持度表示规则的频度,确信度表示规则的强度。   规则XY在交易数据库D中的支持度是指交易集中包含X和Y的交易数与所有交易数之比,记为support(XY),即:   Support(XY)=|{T:X∪YT,T∈D}|?M|{D}|   规则XY在交易集中的置信度(confidence)是指包含X和Y的交易数与包含X的交易数之比,记为confidence(XY),即:   Confidence(XY)=|{T:X∪YT,TD}|?M|{T:XT,TD}|   项集A在交易数据库D中的支持度(support)为XY在交易数据库D中的支持度且有X∩Y=,X∪Y=A,记为support(A),为:   Support(A)=|{T:AT,T∈D}|?M|{D}|   1.2 Apriori算法   Apriori算法是由Agrawal在1994年提出的一种最有影响的挖掘关联规则挖掘算法,是一种宽度优先搜索算法。它使用一种称作逐层搜索的迭代方法产生频繁项集,利用“频繁项集的所有非空子集都必须也是频繁的”这条性质对候选项集删减。算法首先扫描一遍数据库计算各个1-项集的支持度,从而得到频繁1-项集Ll;然后采用迭代的方式,逐步找出频繁2.项集,3.项集,…,直至不再产生新的频繁项集为止。在计算频繁k-项集Lk(k=1,2,3……),先通过Lk-1自连接产生候选集Ck,利用一定的剪枝策略缩减Ck;再通过扫描数据库来计算候选集的出现频率,消除非频繁项,从而得到Lk。Apriori算法能够有效地产生所有关联规则。   2.并行计算理论和技术   2.1 并行计算理论   算法是解题方法的精确描述,是一组有穷的规则,这些规则规定了解决某一特定类型问题的一系列运算并行算法的目标是尽可能减少时间复杂性,为达到这个目的,要尽量使每个时刻可独立执行的计算任务增加,使整个算法的计算步数尽量减少。   2.2 并行编程技术   从编程的角度,可以将所有的计算机系统分成共享内存的计算机(如SMP)和分布式内存的计算机(如Cluster),相应地可以采用不同的并行编程方式目前主要的并行编程模式有:数据并行模式(如DataParallel),消息传递模式(如MPI,PVM),共享内存模式(如OpenMP)以及后两种模式同时使用的混合模式[1]。   3.基于分布式存储的并行关联规则挖掘研究   3.1 基于分布式存储的并行关联规则挖掘的问题描述   全局事务数据库为D,总的事务条数为d。设P1、P2、…、Pn为n台基于无共享体系结构的计算机节点(简称节点),即它们之间除了通过网络传递信息外,其他资源(如硬盘、内存等)全部都是独立的,Di(i=1,2,…,n)是D经过分割存储于节点Pi上的分事务数据库,其中的事务有di条,则D=d=。   并行挖掘频繁项集问题就是如何通过n台节点同时工作,节点Pi(i=1,2,…,n)只处理自己的私有数据Di(i=1,2,…,n),各台节点间仅仅通过网络传递有限的信息,最终在整个事务数据库D中挖掘出频繁项集。   3.2 已有的分布式存储的并行关联规则挖掘算法的介绍   (1)CD算法、DD算法和CaD算法   Agrawal等给出了关联规则挖掘的三种并行算法,它们对候选集频度计算采用了不同策略,一是计数分布CD算法,二是数据分布DD算法,三是候选集分布CaD算法。在CD算法中,每个节点都要在本地数据库中对所有候选项集计数,然后交换计数信息,得到全局计数。在DD算法中,每个节点分别计算互不相交的候选项集,各个节点之间需将各自处理的分区的数据传送给其它所有节点。CaD算法在每一轮的计算中,通过把数据和候选集都划分到每一个节点,使

文档评论(0)

1亿VIP精品文档

相关文档