一种基于嵌套滑动窗口和遗传算法的并行处理方法技术

技术编号:7758817 阅读:204 留言:0更新日期:2012-09-14 00:18
本发明专利技术提供一种基于嵌套滑动窗口和遗传算法的并行处理方法,采用基于滑动窗口之上的嵌套子窗口模型和利用遗传算法,根据数据流数据量大需要实时处理的特点,采用GPU-CUDA并行处理技术来进行动态挖掘出最新数据的频繁项集,综合处理滑动窗口内各嵌套子窗口中频繁项集,获得当前滑动窗口内数据的频繁项集,最后采用遗传算法的并行模式,得到数据流的频繁项集模式。

【技术实现步骤摘要】

本专利技术涉及近期数据流频繁项集挖掘的实现方法,具体地说是一种基于嵌套子窗口模型和遗传算法的近期数据流频繁项集挖掘并行处理方法,。
技术介绍
数据流实际上就是连续移动的元素队伍,其中的元素是由相关数据的集合组成。令t表示任一时间戳,at表示在该时间戳到达的数据,流数据可以表示成{···,at 1,at,at+1,…区别于传统应用模型,流数据模型具有以下4点共性(I)数据实时到达;(2)数据到达次序独立,不受应用系统所控制;(3)数据规模宏大且不能预知其最大值;(4)数据一经处理,除非特意保存,否则不能被再次取出处理,或者再次提取数据代价昂贵。滑动窗口(sliding window)模型滑动窗口对窗口起点和终点都没有明确给定,只明确给定窗口的长度W。窗口保持一定长度在数据流D= { d0, Cl1 -,dn }上滑动,处理的数据流范围就由该窗口确定,随着窗口的滑动不断地把得到的结果输出。滑动窗口 SW的长度既可由一个时间区间确定,也可由窗口所包含数据流元素个数确定; 嵌套子窗口模型某时刻T,窗口长度为W的滑动窗口 SW内最新数据集dn落入到窗口大小为W2的嵌套子窗口 S_SW中,称窗口 SW为嵌套子窗口。如图I所示,应用滑动窗口对动态更新数据集进行说明。窗口数据集为图I (a)中标识所示。当新增数据集到达时,滑动窗口向前移动一个单位,如图I (b)所示。滑动窗口的频繁项集对于当前滑动窗口内数据,设I=U1, i2,…,in}是项的集合,事务数据集s={ s0, S1…,sn },其中,数据集中每个事务S是项的集合,s I。如果X S,则称X是个项集。如果X中有k个元素,则称X为k-项集。对于一个项集X,如果其支持度大于等于用户给定的最小支持度阈值,则X为频繁项集。遗传算法一种基于随机搜索的优化算法,已成功应用于函数优化、自动控制、生产调度、机器人学、图像处理、人工生命、机器学习和数据挖掘等领域。从代表问题可能潜在的解集的一个种群开始的,而一个种群则由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码,可以作为问题近似最优解。遗传算法的基本运算过程如下,算法流程示意图如图2 a)初始化设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(C1)。 b)个体评价计算群体?(1)中各个个体的适应度。 c)选择运算将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。 d)交叉运算将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。遗传算法中起核心作用的就是交叉算子。 e)变异运算将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基因值作变动。群体Ρω经过选择、交叉、变异运算之后得到下一代群体P(t D。 f)终止条件判断若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。CUDA是一种并行编程模型和软件环境,采用C语言等标准编程语言进行操作。该技术封装了 GPU的硬件细节,CUDA的核心有三个重要抽象概念线程组层次结构、共享存储器、屏蔽同步(barrier synchronization)。这些抽象提供了细粒度的数据并行化和线程并行化,嵌套于粗粒度的数据并行化和任务并行化之中,将问题分解为更小的片段,以便通过协作的方法并行解决。这样的分解保留了语言表达,允许线程在解决各子问题时协作,同时支持透明的可伸缩性。因而,该技术可以利用GPU的众核特性,大幅加速并行化的应用。但是,目前还没有一种能快速有效地获得流数据频繁项集的技术来提高用户的操作体验。
技术实现思路
本专利技术所要解决的技术问题是需要提供一种适应流数据的流动性特点,采用遗传算法的并行形式,得到一种并行处理的理论依据和解决方法及以快速有效地获得流数据的频繁项集。本专利技术的目的是按以下方式实现的 采用基于滑动窗口之上的嵌套子窗口模型和利用遗传算法,根据数据流数据量大需要实时处理的特点,采用GPU-CUDA并行处理技术来进行动态挖掘出最新数据的频繁项集,综合处理滑动窗口内各嵌套子窗口中频繁项集,获得当前滑动窗口内数据的频繁项集,最后采用遗传算法的并行模式,得到数据流的频繁项集模式,获得当前滑动窗口内数据的频繁项集的步骤,包括 1)滑动窗口内的数据分成Z段,将每个嵌套子窗口内的数据交给一个线程进行并行处理,获得初始种群,计算个体支持度值是初始种群内待考察频繁模式与实际事务匹配的过程,选择,交叉,变异,扫描确定变异后个体支持度值,判断结束条件; 2)获得的各个频繁项集模式与之前U(U=W1ZV2-I)次获得的频繁项集模式共同组成初始种群,进行一次搜索,最终满足条件的模式个体为滑动窗口内数据的频繁项集,随着数据流的流动,继续处理新接收到的数据,并抛弃最早的数据; 3)利用遗传算法的并行性搜索嵌套子窗口内最新数据的频繁项集,从一组初始种群开始搜索过程,种群中的每个个体是一个可能的频繁模式,遗传算法通过交叉、变异、选择运算实现,经过若干代选择之后,得到最终频繁项集,其中变异操作是通过动态、随机改变个体中某些基因而产生新的个体,变异操作是产生全局最优的一个重要原因,有助于增加种群的多样性,但本算法中频繁项集产生所需的各对应非零基因都已存在,经交叉操作产生的基因基本上涵盖所有频繁项集,因此采用一个较低的变异率; 4)综合处理滑动窗口内各嵌套子窗口中频繁项集,最终获得当前滑动窗口内数据的频繁项集; 5)随着新数据的流入,周期性删除过期流数据,并重复以上两部分操作; 具体步骤如下 1)设定滑动窗口SW及子窗口 S_SW大小,分别为^、《2输入各类参数之后,根据数据流 属性来确定窗口大小,Sff内容是根据当前多少条事务的频繁项集的兴趣度来决定的,子窗口是根据数据的处理能力以及被抛弃的旧数据条数来确定,也决定了需求所要求统计的频率; 2)给定支持度阈值S,若某个个体i,其适应度为Fi,当匕>=S,事务i即为滑动窗口内数据集的频繁项集模式; 3)事务的属性种数、各属性的取值范围以及生成原始种群大小来确定最大迭代次数T,处理方法是采用子窗口模型,避免在旧数据被淘汰之后,对滑动窗口 SW内存在的数据进行多次重复处理; 4)设定交叉概率P,个体变异概率Q,子窗口内的数据分成Z段并行计算,函数采用GPUCUDA并行技术,将每个子窗口内的数据交给一个线程进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:卢晓伟
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1