序列模式挖掘及其应用研究.docx
- 文档编号:29287012
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:43
- 大小:155.23KB
序列模式挖掘及其应用研究.docx
《序列模式挖掘及其应用研究.docx》由会员分享,可在线阅读,更多相关《序列模式挖掘及其应用研究.docx(43页珍藏版)》请在冰豆网上搜索。
序列模式挖掘及其应用研究
序列模式挖掘及其应用研究
摘要
序列模式挖掘是数据挖掘研究的一个重要的研究领域。
目前,成熟的序列模式挖掘算法要紧有三类:
基于Apriori性质的候选码生成-测试的算法;基于垂直格式的候选码生成-测试的算法;基于投影数据库的模式增加算法。
最近几年来,序列模式挖掘在散布式环境下的应用的研究慢慢成为热点,提出了各类算法。
本文介绍序列模式挖掘算法及各自的优缺点和在散布式环境下的应用,在此基础上发觉了散布式环境下站点之间局部模式子树的传输存在问题。
本文提出了散布式环境下基于叶子节点传输的序列模式挖掘方式LMSP(leaf-basedminingofsequentialpatterns),即在生成全局L2序列模式的进程中,各站点传输局部L2子树时只传输局部子树的叶子节点的序列和所有节点的支持度计数,在选举站点上再依照接收到的子树信息将局部L2子树还原。
接着又简单地提出约减的树结构的传输,除根节点外的每一个节点都只记录相对其父节点的后缀序列。
实验结果说明,LMSP算法性能优于FDMSP算法。
文章最后简单的介绍了序列模式挖掘的实际应用。
关键词:
数据挖掘;序列模式;散布式算法;数据传输
Abstract
Sequentialpatternminingisanimportantdomainofdatamining.Nowtherearethreetypesofmaturealgorithmsofsequentialpatternsmining:
Apriori-basedalgorithmsbycandidatesequencegenerating-and-testing;verticalformatdatabasebasedalgorithmsbycandidatesequencegenerating-and-testing;projectiondatabasebasedalgorithmswithbypattern-growth.Inrecentyears,miningofsequentialpatternsindistributedenvironmentisbecominghottopic,andsomealgorithmshavebeenproposed.Inthispaper,threealgorithmsofsequentialpatternminingandadvantagesanddisadvantagesofthemareintroduced,andthentheapplicationsofsequentialpatternminingalgorithmsindistributedenvironment.Sincethis,wefindaproblemoflocalpatternsubtreetransportationfromonesitetoanotherindistributedenvironment.Inthispaper,weproposealeaf-basedalgorithmindistributedenvironment,LMSP(leaf-basedminingofsequentialpatterns),onlytransporttheleafnodesequencesandallthesupportcountsofthelocalL2subtree,whileeverysitetransportingthelocalL2subtreetopollingsiteinthecourseofglobalL2patternsgenerating.Atpollingsite,wegetthelocalL2subtreebackfromreceivedsubtreemessage.Andwealsoproposetransportationofreductionsubtreesimply,allthenodes(excepttheroot)registeronlysuffixaccordingtoitsparentinsteadoftheentiresequence.TheexperimentsshowthatthealgorithmLMSPoutperformsthealgorithmFDMSP.Thelastpartofthispaper,wesimplyintroducetheapplicationsofsequentialpatternmining.
Keywords:
datamining;sequentialpattern;distributedalgorithm;datatransportation
1. 引言
数据挖掘概述
什么是数据挖掘?
日常生活中咱们常常碰到这种情形:
超市的经营者希望将顾客常常同时购买的商品放在临近的货架上,以增加销售;保险公司的决策者想明白购买某种保险的客户一样具有哪些特点(比如年龄或社会身份),以制定出有效的营销策略;医学研究人员希望从许多病历中找出同种疾病患者的一起特点,从而为预防和治愈这种疾病提供帮忙。
现有信息治理系统中的数据分析工具,不管是查询、统计仍是报表,都是对指定的数据进行简单的数字处置,而不能对这些数据所包括的内在信息进行提取,因此无法对上述问题给出答案。
但是随着信息系统的普遍应用和数据量的急剧增加,人们希望能够提供更高层次的数据分析功能,从而更好的为决策和科研工作提供支持。
为了知足这种需求,从大量的数据中提掏出隐藏在其中的有效信息,将机械学习应用于大型数据库的数据挖掘(DataMining)技术取得了专门大的进展。
数据挖掘,也称为数据库中的知识发觉(KnowledgeDiscoveryinDatabase,KDD),是从大量的数据中提掏出可信、新颖、有效并能被人明白得的模式的高级处置进程。
数据库中的知识发觉进程一样由以下步骤组成[1]:
1)数据清理(排除噪音或不一致数据)
2)数据集成(多种数据源能够组合在一路)
3)数据选择(从数据库中检索与分析任务相关的数据)
4)数据变换(数据变换或统一成适合挖掘的形式,如通过汇总或聚集操作)
5)数据挖掘(大体步骤,利用智能方式提取数据模式)
6)模式评估(依照某种爱好度气宇,识别表示知识的真正有趣的模式)
7)知识表示(利用可视化和知识表示技术,向用户提供挖掘的知识)
由此可见,数据挖掘是数据库中知识发觉的一个步骤,而且是最重要的一个步骤。
咱们往往不加以区别的利用KDD和数据挖掘,一样在研究领域被称为数据库中知识发觉的,在工程领域那么称为数据挖掘。
数据挖掘能做什么?
数据挖掘所涉及的学科领域和方式很多,以下是四种超级重要的发觉任务[2]:
数据总结,其目的是对数据进行浓缩,给出它的紧凑描述。
数据挖掘要紧关切从数据泛化的角度来讨论数据总结。
数据泛化是一种把数据库中的有关数据从低层次抽象到高层次上的进程。
分类,其目的是学会一个分类函数或分类模型(也称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。
聚类,是把一组个体依照相似性归成假设干类别,即“物以类聚”。
它的目的是使属于同一类别的个体间的距离尽可能地小,而不同类别间的距离尽可能地大。
关联规那么,是形式如下的一种规那么,“在购买面包和黄油的顾客中,有90%的人同时也买了牛奶”(面包+黄油=牛奶)。
关联规那么发觉的思路还能够用于序列模式发觉。
用户在购买物品时,除具有上述关联规律,还有时刻或序列上的规律。
数据挖掘技术的进展前景
随着KDD在学术界和工业界的阻碍愈来愈大,国际KDD组委会于1995年把专题讨论会更名为国际会议,在加拿大蒙特利尔市召开了第一届KDD国际学术会议,以后每一年召开一次。
最近几年来,KDD在研究和应用方面进展迅速,尤其是在商业和银行领域的应用比研究的进展速度还要快。
目前数据挖掘的研究方向要紧有两方面:
一是对数据挖掘方式的进一步研究,主若是要适应更大型的数据库、更高的维数和更复杂的关系;二是数据挖掘的应用,尤其是数据挖掘系统的开发,而且在商业、经济、金融、治理等领域都取得了应用性功效。
数据挖掘的进展趋势[3][4]要紧有:
数据挖掘与数据库系统、数据仓库系统和Web数据库系统的集成;复杂数据类型的挖掘;数据挖掘中的隐私爱惜和信息平安。
序列模式挖掘概述
序列模式挖掘概念
序列模式挖掘(sequentialpatternmining)是一类重要的数据挖掘问题,且有着普遍的应用范围和进展前景,比如顾客购买行为的分析、网络访问模式的分析、科学实验的分析、自然灾害的预测、疾病医治的初期诊断、DNA序列的破译等等。
序列模式挖掘问题是由Agrawal和Srikant在文献[5]中最先提出的,文中对序列规定了时刻限制、滑动时刻窗口和用户规定的分类,并总结了序列模式的概念:
给定一个序列集,其中每一个序列由项集组成,然后给定由用户确信的最小支持度阈值(minimumsupportthreshold),序列模式挖掘确实是去发觉所有的频繁子序列(即:
这些子序列的显现频率不小于给定的最小支持度)。
序列模式挖掘传统算法及瓶颈
到目前为止对如何有效地进行序列模式挖掘的研究已经取得了专门好的进展。
传统的序列模式挖掘算法都是基于Apriori性质(频繁项集的所有非空子集都必然也是频繁的,或一个非频繁模式的任何超模式都必然非频繁)的算法,这种算法咱们称之为Apriori-like算法。
Apriori-like序列模式挖掘尽管降低了搜索空间,可是却带来了三个不容轻忽的开销,而且这些开销是不依托具体的实现技术而存在的。
1)潜在的庞大的候选序列集
因为候选序列集包括了一个序列中的元素和项的重复的所有可能的排列;因此即便对一个适度大小的种子集合,Apriori-like算法也可能会产生一个超级庞大的候选序列集。
例如:
若是有1000个长度为1的频繁序列设为
<(a1a2)>,<(a1a3)>,…,<(a999a1000)>。
2)对序列数据库的多遍扫描
因为每一次对序列数据库的扫描,候选序列的长度仅增加1,因此若是要发觉长度为L的序列模式,Apriori-like算法必需扫描数据库至少L次。
3)当要挖掘出的序列模式较长时的算法瓶颈
一个长的序列模式是由短的序列模式组合而成的,可是如此的候选序列的数量的增加与要被挖掘序列模式的长度的增加是成指数关系的。
例如:
假设在一个序列数据库中仅有一条序列:
为了取得那个长度为100的序列模式,Apriori-like算法必需产生100个长度为1的候选序列,100×100+100×99/2=14,950个长度为2的候选序列,〔3100〕=161,700个长度为3的候选序列,…。
总之,传统的序列模式挖掘算法,当从序列数据库中挖掘长模式或支持度较低时,存在所挖出的频繁子序列个数会随模式长度增加而爆炸性增加,和将会碰到较高的计算复杂度等等很多问题。
如此便限制了这些算法的应用,因为很多有效的长模式不能被有效地挖掘出来,而在很多实际应用中,如进行DNA序列分析和股票序列分析等,常常会碰着含有大量长模式的序列数据库。
因此,很有必要发觉更有效的方式来解决这些问题。
2. 序列模式挖掘算法
序列模式挖掘基础知识
相关概念
设I={i1,i2,…,in}是一个项目集合,项目集或项集(items)确实是各类项目组成的集合,即I的所有子集。
一个序列确实是假设干项集的有序列表,一个序列S可表示为
元素由不同的项组成,可表示为(x1,x2,…,xn)。
当元素只包括一项时,一样省去括号,如(x2)一样表示为x2,元素之间是有顺序的,但元素内的项是无序的,一样概念为词典序。
序列包括项的个数称为序列的长度,长度为L的序列记为L-序列。
序列数据库确实是元组(tuples)
∣SDB∣。
概念1(子序列,超序列):
序列T=
存在1≤j1<j2<…<jm≤n且t1
sj1,t2
sj2,…,tm
sjm。
称序列T是序列S的子序列,序列S是序列T的超序列,记作T
S。
概念2(支持度):
序列数据库D是元组
S)称元组
例如在表1中supprot(a)=4。
概念3(频繁序列模式):
给定一个最小支持度阈值minsupport,若是序列s的支持度不小于minsupport,那么称序列s为频繁序列模式,所有的频繁序列模式集合记作FS。
例如在表1中序列
长度为L的序列模式称为L-模式。
概念4(前缀):
假定每一个元素中的项目是依照词典序排列的,给定序列α=
(m≤n),若是ei/=ei(i≤m-1),em/
em,而且(em-em/)中的项目均需在em/中项目的后面,那么称β是α的前缀。
例如序列
概念5(最大子序列):
给定序列α和β,若是β是α的子序列,那么α关于β的投影α/需要知足β是α/的前缀,α/是α的知足上述条件的最大子序列。
概念6(后缀):
序列α关于子序列β= (1) 通常情形下,序列数据库中只有较少的一部份序列模式会增加的较长,因此投影数据库中的序列数量会随着前缀的增加而明显的减少;b.投影数据库中仅仅是关于某个前缀的后缀的集合。 值得注意的是,FreeSpan算法也采纳投影数据库的思想。 但是,在FreeSpan算法的投影数据库中引用的是完整的序列(而不单单是后缀),因此其投影数据库的缩减程度要比PrefixSpan算法要小得多。 (2)PrefixSpan算法的要紧代价在于投影数据库的构造。 最坏的情形下,PrefixSpan算法为每一个频繁模式构造投影数据库。 3. 散布式环境下的序列模式挖掘 随着运算机应用技术的不断推行和利用的不断深切,海量的数据使得传统的单运算机系统在功能和性能上已经不能知足对数据处置能力的需要;由网络联接多台运算机所组成的散布式系统已经成为现今的主流系统,因此数据往往是散布式状态寄存的。 这也就直接致使了基于散布式环境下的序列模式挖掘成为当前序列模式挖掘研究的热点。 关于散布式的序列数据,在个单机系统上执行挖掘算法所取得的序列模式只是针对局部数据有效的,无法取得对散布式系统中的所有数据全局有效的序列模式。 一种直接的方式确实是将散布式系统中的所有数据集中到一台运算机上执行挖掘算法,可是在具有海量数据的散布式环境中,这将造成庞大的通信开销和极度的资源浪费。 如何有效的处置散布式环境下的序列模式挖掘问题成为当前亟待解决的问题。 目前散布式环境下序列模式挖掘相关研究很多。 如: GuralnikV在树投影基础上提出了几种新的基于散布存储的并行挖掘序列模式算法: STPF算法和DTPF算法[12]。 ParkJS提出了PDM算法[13],AgrawalR提出了CD算法[14],该算法实质是对Apriori算法的并行化来挖掘关联规那么。 为了幸免过量的冗余信息,LUJiepin等人又提出了全局最大项目集的挖掘,该算法在不丢失信息的情形下减少了数据量。 CheungDW又提出了FDM(fastdistributedofminingassociationrules)算法[15],用来解决散布式环境下关联规那么挖掘的问题。 还有在FDM算法基础上提出的FDMSP(fastdistributedminingofsequentialpatterns)算法[16],解决散布式环境下的序列模式挖掘问题。 FDMSP算法用来解决散布式环境下的序列模式挖掘问题。 其要紧思想是: 在散布式环境中的各站点上,利用前缀投影技术划分模式搜索空间,降低了需要扫描数据库的规模,生成局部序列模式;利用序列模式前缀指定选举站点降低通信开销;利用局部序列模式与全局序列模式之间存在的特殊性质减少候选序列数量;多个子进程异步运行,提高算法的并行性,从而高效地生成所有全局序列模式。 在散布式环境下,各个站点之间的数据传输是超级频繁的。 在现今条件下,站点与站点间的数据传输速度(与效率)和在某个站点上的运算机运算速度相较有必然的差距。 对FDMSP算法而言,大量的数据传输要紧集中在生成全局L2子树的进程中,在确信某L2子树的选举站点后,各个站点都要把该站点上的那个局部L2子树传递给选举站点,然后在选举站点进行处置。 咱们明白树结构的数据量是专门大的,尤其是在散布式环境下的序列模式挖掘那个特殊的问题下,树的广度与深度都可能专门大,就致使了数据传输在整个处置问题进程中要占用很多时刻,直接阻碍了算法效率。 基于减少站点间数据传输量的思想,本文提出散布式环境下基于叶子节点传输的序列模式挖掘方式LMSP(leaf-basedminingofsequentialpatterns)。 相关概念 散布式环境下的序列模式挖掘问题的形式化描述如下: 设散布式环境中存在m个站点S1,S2,…,Sm每一个站点都是一台独立的运算机,站点之间通过网络互联。 以S代表所有站点的集合,S={S1,S2,…,Sm},站点Si(i=1,2,…,m)上的数据序列集合记为dbi(i=1,2,…,m),所有站点上数据序列的集合记为DB,dbi DB,db1∪db2∪…∪dbm=DB,且db1∩db2∩…∩dbm=NULL。 给定最小支持度minSupp(是一个百分比),那么站点Si上的最小支持度计数为minCounti=|dbi|×minSupp,全局最小支持度计数minCount=|DB|×minSupp=(|db1|+|db2|+|dbm|)×minSupp。 概念1(局部序列模式): 站点Si上包括序列s的序列总数称为s在站点Si上的局部支持计数,记作counti(s),若是counti(s)≥minCounti称序列s是站点Si上的局部序列模式。 概念2(全局序列模式): 在散布式环境中,序列s的支持度计数为count(s),若是count(s)≥minCount那么称序列s是全局序列模式。 概念3(全局-本地序列模式): 关于站点Si上的一个局部序列模式s,若是s同时也是全局序列模式,咱们称s为Si上的全局-本地序列模式,记为gl-seq。 概念4(Lk子树): 知足最小支持度的所有序列模式能够组成一棵序列树,树的根标记为NULL,第1层为L1序列模式,第2层为L2序列模式,…,对树中处于第1层以下的任意节点,设长度为L,其父节点是其前缀,长度为L-1;其子节点以它为前缀,长度为L+1。 序列树依照L1序列模式能够划分为多个子树,咱们称这些子树为L1子树;相应地,长度为k的序列模式所对应的子树记为Lk子树。 概念5(局部子树,全局子树): 咱们将个站点上局部序列模式组成的子树称为局部子树(localsubtree),而将全局频繁序列模式所组成的子树称为全局子树(globalsubtree)。 对任意一个全局L1序列模式x,对应的全局L1子树记为{x}-seq;若是它在站点Si上是gl-seq,那么在Si上对应的局部L1子树{x}-seqi,对应的L1投影数据库记为{x}-DBi。 将所有局部L1子树的集合记为UL1。 引理1: 关于任意一条全局序列模式s,存在站点Si,s和其所有子序列对是Si上的gl-seq。 定理1: 所有全局序列模式的集合FG是所有局部L1子树的集合UL1的子集。 散布式环境下序列模式挖掘算法 算法要紧思想 LMSP算法的要紧思路确实是,先在各个站点上挖掘局部序列模式,再依照各个站点上取得的局部序列模式产生全局序列模式,因为由引理1可知任意一条全局序列模式至少在一个站点上是局部频繁的。 局部序列模式的生成进程,确实是在各个站点上应用PrefixSpan算法挖掘出局部序列模式。 全局序列模式的生成进程,要紧分为四个步骤: (1)是生成全局L1序列模式,即生成所有局部L1序列模式的并集,再向各个站点广播并集中的序列模式,求得局部支持计数,然后将这些局部支持计数累加,若是累加和大于minCount那么为全局L1序列模式; (2)将每一个局部L1子树{x}-seqi拆分为多个L2子树,利用一个分派函数(一样是哈希散列函数,要保证每一个局部序列的选举站点是唯一的)将L2子树分派到相应站点,该站点称为该子树上所有序列的选举站点,负责统计它们的全局支持计数,判定它们是不是是全局频繁的;(3)选举站点收到所有站点发送的L2子树集合后,将其归并为一棵L2子树(归并方式是: 将每一个L2子树看做是一个集合,执行集合的并集操作,相同节点的支持计数相加,同时记录每一个节点的已知支持计数的站点),关于归并后的L2子树中的每一个节点,向其支持计数未知站点发送以其为根的子树的支持计数请求;(4)依照L2子树的所有节点的支持计数判定其是不是为全局序列模式。 关于局部L2子树的传输,咱们提出一种基于叶子节点的传输方式。 在非选举站点上记录子树: 对L2子树进行广度优先遍历,依照遍历顺序用两个数组记录每一个节点的信息,一个是支持计数数组,记录每一个节点的局部支持计数,另一个是序列数组,记录每一个叶子节点的序列,如此只需传输这两个数组。 选举节点上还原子树: 在接收到各个站点传输过来的子树信息数组时,要对信息数组进行说明还原成L2子树
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 序列 模式 挖掘 及其 应用 研究