您的当前位置:首页正文

基于分布式系统下的改进矩阵算法应用研究

2023-05-07 来源:爱站旅游
导读基于分布式系统下的改进矩阵算法应用研究
基于分布式系统下的改进矩阵算法应用研究★ 郑金彬 (龙岩学院数学与计算机科学学院.龙岩364012) 摘 要:在分布式数据库中,采用集中的数据挖掘技术来发现有用的模式并不总是可行的.因为从 不同的站点来合并数据集会导致庞大的数据通信量。为此.提出一种基于分布式系统下的 改进矩阵算法。实验结果表明,该算法既可计算局部的支持计数,又可减少扫描分区数据库 的时间。 关键词:分布式系统;关联规则;Apriori算法;矩阵算法 0 引言 众所周知.Ar,riori算法是大多数现有的并行和分 I={i ,i ,…,i }是项集,其中ik(k=1,2,…,n1)可以是购物 篮中的物品.也可以是保险公司的顾客。设任务相关的 数据D是事务集,其中每个事务T是项集.使得T I。 设A是一个项集.且A T 关联规则是如下形式的逻辑蕴涵:A B,A CI。 布式算法的核心.直接编写一种Apriori算法不能显著 提高频繁项目集的生成。在分布式数据挖掘中.信息传 递是同步的.因此能否实现信息的同步传递就成为通 信优化的目标.而对于分布式数据库来说.数据如何分 解是非常重要的『l1。因此.具有较好性能的分布式数据 BcI.且AnB= 性: 关联规则具有如下两个重要的属 挖掘所主要面临的挑战之一是如何找到一种较为优越 的数据分解策略.以实现各节点的负载平衡,并尽量减 (1)支持度(Suppo ̄):P(AUB),即A和B这两个 项集在事务集D中同时出现的概率 少数据通信量 分布式算法的主要思想是根据分布在各个领域的 (2)可信度(置信度)(Confidence):P(BIA),即在出 现项集A的事务集D中.项集B也同时出现的概率嘲。 数据集以形成一定的挖掘规则。与其将不同领域的数 据集合并在一个集中领域.不如生成统一的关联规则. 1.2基于分布式系统的关联规则挖掘 设有一个分布式数据库系统S,由11个站点S;(j_1. …所以这种算法必须尽可能减少数据通信量 关联规则 挖掘过程主要包含两个阶段:第一阶段必须先从资料 集合中找出所有的高频项目组(Frequent Itemsets),第二 阶段再由这些高频项目组中产生关联规则(Association ,n)组成。DB=DB1UDB2U…uDB ,则DB称为全局 数据库,DB;称为局部数据库。 定义1设X.sup和X.supi分别表示X在DB和 DBi上的支持数。如果X.supi>mi ̄nsupxDi,则称X为站 点Si上的局部频繁项目集;如果X.sup>Iminsup ̄D,则 X为全局频繁项目集 定义2若X既是站点S 的局部频繁项目集.又是 全局频繁项目集,则X称为站点Si的重频繁项目集。 显然站点S;的重频繁项目集包含于其局部频繁项目集 中【引 Rules).面临的主要问题有:工作负载平衡、通信的最小 化、同步、数据布局状况、数据分解、磁盘I/O负载等。 1 分布式系统的关联规则概述 1.1关联规则描述 关联规则挖掘的一个典型例子是购物篮分析。设 ★基金项目:福建省教育厅基金资助项目(No.JA08229) 收稿El期:2010—07—12 修稿日期:2010-08-12 作者简介:郑金彬(1975一),男,副教授,硕士,研究方向为数据挖掘、算法设计与分析 ④ 现代计算机2010.09 1.3 Apfiofi算法核心思想 为了生成所有频集.使用了递推的方法。其核心思 想简要描述如下: Ll={large 1-itemsets}; for(k=2;Lk-l≠ ;k++)do begin 种解决方案还降低了平均交易的规模和数据集的大 小.从而导致减少了扫描分区数据库的时间。它最大限 度地减少了候选集的数量、局部和全局信息交换所需 的修正量 通过使用L型压缩矩阵方法来减少扫描分 区数据库的时间。从而得到所需的支持度。这是一种非 常有效的策略 找出一个中心点用以管理其他所有的 /,新的候选集 Ck=apriori—gen(Lk—1);信息交流点以获取所有全局频繁项目集.其时间复杂 度为O(n)。L型矩阵算法具有优异的运行效率、低廉的 or allf transactions tED do begin 通信成本.为序贯算法在分布式数据库中的直接应用 //事务t中包含的候选集 Ct=subset(Ck,t); 提供了更强的可扩展性 L型矩阵是一个压缩结构的对象变量。事务数据 库是由一个二进制数码矩阵构成的.其中行代表事务. 列代表警报 将分区数据库数据转换成局部L型矩阵 时.只需扫描一次就行了.所以只需从局部L型矩阵读 取数据就可获取相关的支持度.而不是一次又一次对 分区数据库中的数据不断扫描.因此这种策略将节省 大量内存空间。 or fall candidates C∈Cl do c・count++; end Lk={C∈Ck Ic.count≥minsup} end answer=-U kh; C 中的每个元素需在交易数据库中进行验证来决 定其是否加入IJk,这里的验证过程是算法性能的一个 瓶颈 这个方法要求多次扫描可能很大的交易数据库。 即如果频集最多包含l0个项.那么就需要扫描交易数 据库10遍.这需要很大的I/O负载 可能产生大量的候 选集.以及可能需要重复扫描数据库.是Apriori算法 的两大缺点 . 2.2 L型矩阵算法执行策略 现在以一超市的例子来说明该算法的可行性实施 策略。假定超市现有五种商品类别是咖啡、茶、牛奶、面 包和黄油,分别用A、B、C、D和E来表示。现假设有如 下三种事务:第一个事务涉及咖啡、茶和牛奶:第二个 事务涉及咖啡、茶、面包和黄油;第三个事务涉及咖啡、 2 改进矩阵算法 同其他许多关于数据挖掘课题一样.挖掘关联规 则的关键也是设计出一种用于挖掘频繁项目集的高效 牛奶和黄油 商品的L型矩阵数据和事务表如图1所 示。 然后。我们只需统计图l中L型矩阵的第1列中 ‘1’的计数值就获取对应商品A的支持度为3 同样. 可统计出介于A和C之间同时为‘1’的计数值为2.也 就是说AC的支持度为2 算法,并实现之 有效的办法是使用前缀树结构用于存 放频繁项目集的压缩信息。例如FP-树。许多实验结果 表明.这些算法是很有效的.为了很大程度上减少需要 遍历的FP一树.本文采用了一种新型的FP阵列技术. 它可以显著提高FP一树算法的性能.这种阵列技术对 于稀疏数据集是非常有效的问 为此.笔者提出一种改 进的算法,它可用于所有的极大化的、关闭了的频繁项 『I 1 1 1 0 0 l 1 0 l 1 【1 0 1 0 1 j 图1商品的L型矩阵和事务表 目集的数据挖掘。实验结果表明,这种算法相对其他算 法而言是最快的。当处理稀疏数据集且最小支持度也 较低时.即便可能会消耗较多内存资源.但该算法也是 最快的 2.3改进的矩阵算法描述 根据定义2以及上面的提出的算法思想.给出具 体的算法描述.设关系数据库中数据的预处理工作已 完成。 2.1 L型矩阵算法的优越性 L型矩阵算法可以最大限度地减少通信开销。这 (1)在局部站点Si处计算频繁项目集算法: 输人:DBj(i_1,…,n),在站点S。的分支数据库 现代计算机2010.o9 囝 输出:LLi㈦中的候选元 for k=l to n do begin if k=l then ,I’i“)=get_heavy_items(Si, ,1); else begin Ck=apriori—gen(Lk—1);,/新的候选集 ifCK- ̄then Exit; //算法终止 (k)=read(LMatrix,Cbi);,,从L矩阵剩余的候选数 据集中读取局部支持计数 end for_allX∈rI’i(k)do begin if X.supi<S D then prune(X,X.supi);,/若候选的最大值小于S*D, 则进行局部修正后存放到IL( )中 end f0r all request item X from global_site do if receive(center_site)∈S; //若项目集X 的计数是从中心站点获取的.则重新从LL矩阵中读取,且将 局部剪正值存放回中心站点 begin ㈦=read(LMatrix,CK'i); prune(X,X.supi)into U (k); end else f0r.j=1 to n do receive (”from global_site;,,获 取全局频繁项集及其支持度 k=k+1: end (2)在中心点处计算全局频繁项目集算法: 输入:各个站点Si的LIJi(k); 输出:取得Lk ofr i=l to n do begin for k=l to m do begin = ; receive ELi㈤from partitionsites;/,从各个站点Si _的读取数据集LL if ELi(k)= then 0 现代计算机2010.09 . if i=n then Exit:,/一旦所有站点候选数据集 LL。(k】= ,算法终止 else continue; forall X∈LIJi㈦d。 begin if all partition—site∈X then =IJkuX ,/若X中 包含了所有的分区站点,则将候选集X加入到 else begin X.MaxCount=X.supi; if X.MaxCount<S D then LL(k ̄=Lk(k)-X://计算 出候选集X的最大值,若候选的最大值小于S*D,则进行局 部修正后存放到LL(k)中 ofrj::1 to n do begin ifj≠i then send request to sj; X.MaxCount=X.MaxCount+X.supj;,,累加支持 数得到X的全局支持数 end end k= UX; ,/将X.MaxCount≥S¥D的X并入 到IJk k=k+1: end -_i+l: end return 3 实验结果与算法性能分析 以上述实例为证:从A、B、C、D、E五个商品类别中 任选取一项作为项目.在这商品事务中每种项目个数 均以1数值递增。然后任选取一项目组合,且与其相应 的事务假定为:若商品在候选项目集中则以l计数递增 且将其加入该项目集.其余小于事务的最小支持数的 商品则从列表中删除。 图2中.基于分布式系统下,依据不同最小支持度 和不同的数据库容量大小来测试,着重从扫描分区数 据库的时间来说明:改进的L矩阵算法较Apriori算法 在执行效率方面有一定程序的提高.其中A曲线代表 L矩阵算法执行效率.B曲线代表Apriori算法执行效 .率 硒蜜与 发 / 图2基于分布式系统下L矩阵算法和Apriori算法比较 4 结语 参考文献 『11A.Schuster,R.Wolf.Communication—Efficient Distributed Mining of Association Rules.Pm .of ACM Sigmod Int'l Conf. Management of Data.ACM Press.2o0l 综上所述.该L矩阵算法用于分布式数据库的挖 掘关联规则是一种行之有效的算法.不仅大大减少了 数据通信成本.它还具有通过网络传递数据信息以缩 小规模的优势 通过构造L矩阵.从中获取计数值直接 减少了扫描分区数据库的时间。此外.该改进算法可应 用于统计大型集中数据库的关联规则挖掘所分割的分 布式数据库系统的节点.当其中数据集较大且采用贯 序挖掘策略时.这种方法就显得特别有效 【2】朱喜梅.关联规则挖掘综述【J】.电脑知识与技术,2006(05) 【3】刘独玉,杨晋浩,钟守铭.关联规则挖掘研究综述【J】.成都 大学学报(自然科学版).2006(01) 『41M.Z Ashrafi,Monash University ODAM:An Optimized Dis— tributed Association Rule Mining Algorithm,IEEE Distribut— ed Systems Online 1541—4922.2oo4.Published by the IEEE Computer Society Vo1.5 Research on the Application of I mproved Matrix Algorithm Based on Distributed System ZHENG Jin—bin (College of Mathematics and Computer Science,Longyan University,Longyan 364012) Abstract:Centralized data mining to discover useful patterns in distributed databases isn't always feasible because merging data sets from different sites incurs huge data communication counts.Proposes an improved matirx algorithm based on distributed system.The experimental result shows that this algorithm can calculate local support counts,also reduce the time of scanning partition database. Keywords:Distibuted System;Associration Rules;Apiori Algorithm;Matirx Algorithm 现代计算机2010.09 0 

因篇幅问题不能全部显示,请点此查看更多更全内容