数据流上频繁项挖掘方法研究毕业论文.doc
《数据流上频繁项挖掘方法研究毕业论文.doc》由会员分享,可在线阅读,更多相关《数据流上频繁项挖掘方法研究毕业论文.doc(40页珍藏版)》请在三一办公上搜索。
1、毕 业 设 计(论 文)题 目: 数据流上频繁项挖掘方法研究 专 业: 信息安全 学生姓名: 班级学号: 指导教师: 指导单位: 信息安全系 日期: 2008年 3 月 21 日至 2008 年 6 月10日摘 要发现数据流中的频繁项是数据流挖掘中最基本的问题之一。数据流的无限性和流动性使得传统的频繁模式挖掘算法难以适应。针对数据流的特点,论文对数据流处理技术和数据流挖掘中的关键问题进行了研究和总结,并对一些经典的频繁项挖掘算法进行了介绍。在借鉴FP-growth算法的基础上,采用了一种较新的数据流频繁模式挖掘的算法:FP-stream算法。算法受能够进行有效频繁项挖掘的数据结构FP-tree
2、的启发,创造了一个可以在数据流上进行有效挖掘的数据结构FP-stream。一个FP-stream结构包含(a)一个可捕捉频繁项和次频繁项的内存中的频繁树,(b)每一个频繁项都有的倾斜时间窗口表。构建、更新和维护该结构实现了在数据流上的挖掘。分析和实验证明了其性能。最后对未来的研究方向进行了展望。关键词: 数据流; 频繁项; 流数据挖掘; FP-stream算法; 倾斜时间窗口;ABSTRACTFinding frequent items is one of the most basic problems in the data stream. The limitless and mobilit
3、y of data streams make the traditional frequent-pattern algorithm difficult to extend to data streams. According to the character of data streams, a new FP-stream algorithm for mining frequent items for data streams is proposed. Inspired by the fact that the FP-tree provides an effective data struct
4、ure for frequent pattern mining, we develop FP-stream, an effective FP-tree-based model for mining frequent patterns from data streams. In addition, An FP-stream structure consists of (a) an in-memory frequent pattern-tree to capture the frequent itemset information, and (b) a tilted-time window tab
5、le for each frequent pattern. Efficient algorithms for constructing, maintaining and updating an FP-stream structure over data streams are explored. The analysis and experiments show the performance of this algorithm. Finally, future directions in research are discussed.Key words data streams; frequ
6、ent items; stream data mining; FP-stream algorithm; tilted-time window目 录第一章 绪论11.1课题背景和研究现状11.2 课题内容3第二章 数据流和数据流挖掘42.1 数据流42.2 数据流挖掘算法和特点52.3 数据流挖掘的关键问题62.4 本章小结8第三章 频繁项挖掘及相关算法93.1 频繁模式概念93.2 挖掘方法103.3 有关算法123.4 本章小结13第四章 数据流上频繁项挖掘算法144.1 改进的FP-stream算法关键点144.1.1头表fList的设计144.1.2 倾斜时间窗口维护策略154.2 改进
7、的FP-stream算法设计184.2.1 FP-stream的模式树结构184.2.2 FP-stream结构204.3 对FP-stream的更新和维护22第五章 改进的FP-STREAM算法实现235.1 FP-tree的构建235.2 FP-tree的更新255.3 分析和评价295.4.1 数据处理295.4.2 结果分析和性能分析295.4.3 应用展望31结束语32致 谢33参考文献34第一章 绪论随着信息技术的高速发展,海量数据的积累成指数级增长,人类面临数据海洋、知识匾乏的难题。数据挖掘技术旨在从大量数据中提取有用的知识,帮助人们进行科学分析和决策。经过近十几年的发展,很多有
8、用的挖掘算法和模型相继被提出,数据挖掘技术已经被应用到多个相关领域。然而,近年来,产生了一种新的数据形式,如传感器网络、电子商务记录、网络监控日记。这些数据源源不断的到来,并且是快速的、无限的。这种数据流挖掘算法只能对数据进行一次顺序扫描,有限的内存也无法处理高速大量的数据。传统的数据挖掘算法不能适用于这种数据流模型,这促使人们设计新的算法来适应数据流挖掘。1.1课题背景和研究现状数据挖掘技术出现于20世纪80年代后期,90年代有了突飞猛进的发展。数据挖掘技术是人们长期对数据库技术进行研究和开发的结果。起初各种商业数据是存储在计算机的数据库中的,然后发展到可对数据库进行查询和访问,进而发展到对
9、数据库的即时遍历。数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。现在数据挖掘技术在商业应用中己经可以马上投入使用,因为对这种技术进行支持的三种基础技术已经发展成熟,分别是:海量数据搜集;强大的多处理器计算机;数据挖掘算法。数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的人们事先不知道的、但又是潜在有用的信息和知识的过程1。与数据挖掘相近的同义词有数据融合、数据分析和决策支持等。这个定义包含好几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要
10、可接受、可理解、可运用;知识从广义上理解为数据和信息。但人们更把概念、规则、模式、规律和约束等看作知识。原始数据可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形和图像数据;甚至是分布在网络上的异构型数据。发现的知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现的知识可以被用于信息管理,查询优化,决策支持和过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到从数据中挖掘知识,提供决策支持。在这种需求牵引下,汇聚了不同领域的研究者,尤其是数据库技术、人工智能技术、数理统计、可视化技术、并行
11、计算等方面的学者和工程技术人员,投身到数据挖掘这一新兴的研究领域,形成新的技术热点。 尽管传统数据库获得了巨大的成功,但是在20世纪末,一种新的应用模型却对它提出了有力的挑战。这种名为数据流(data stream)的应用模型广泛出现在众多领域,其中也包括安全领域。数据流的处理技术最早就是出现在网络监控方面,人们用它来做网络质量分析,流量统计等。数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将为公司创造很多潜在的利润,数据挖掘概念就是从这样的商业角度提出来的。数据挖掘(Data Minin
12、g)是指从大型数据库或数据仓库中提取隐含的、未知的、非平凡的及有潜在应用价值的信息或模式,它是数据库研究中的一个很有应用价值的领域,最近十几年出现了大量的数据挖掘方法,比如聚类,分类,关联分析等。随着数据流管理系统和数据流处理技术研究和发展,人们开始考虑能像以前的数据库一样,从数据流中发现知识,于是数据流挖掘算法随之出现。数据流挖掘类似数据挖掘,都是从大量的数据中获取有用的知识,不过挖掘对象是数据流。数据流管理系统、数据流处理技术和传统的数据挖掘,为数据流挖掘的研究提供了一系列方法。传统的数据挖掘问题也被引入到数据流挖掘领域,比如聚类,分类,频繁模式挖掘等。数据流还是一门较新的领域,对于数据流
13、的查询和分析以及数据流挖掘有许多的发展空间和研究方向。目前研究比较多的是:数据流处理的模型和语言;处理类似于普通数据库查询的流查询;数据流的采样和近似技术;数据流处理时对内存的管理;数据流处理与数据库的结合;对高速数据流的挖掘算法;新型的数据流处理的应用。这些都是一些重要的和活跃的研究领域,国外许多大学和研究机构都在对数据流做进一步的探讨。国内的数据流的研究还不是很多,但己有一些大学、研究院开始了数据流的相关研究,并己有一些相关的论文出现于国内刊物上。最近几 年,数据流上的频繁模式挖掘被广泛的进行研究。Manku提出的Lossy counting算法2,通过对当前整个数据流的事务进行近似计数挖
14、掘频繁项。Charikar 提出了一次扫描数据流的算法返回当前最频繁项。Chang提出了estDec算法,通过定义按时间指数进行衰减的策略挖掘最近的频繁项集。Giannella和Jiawei Han 等提出了在任意时间间隔上挖掘频繁项集的近似算法3.4,该算法采用在内存中保存频繁项的FP-stream数据结构,通过把数据流分成等长的数据段,对数据流进行批量处理,然后把历史数据保存在对数倾斜时间窗口中,能够实现对任意时间段的数据进行查询。由于是对数据流进行分段处理,不能实时的对数据流进行处理,处理时间粒度较粗。Huafu Li等提出DSM-MFI算法,用于挖掘最近的最大频繁项集,通过SFI-fo
15、rest数据结构存储当前的概要频繁项集。频繁模式挖掘算法能够发现所有的频繁项集,但会产生大量的冗余信息,最大频繁项集挖掘虽然减少内存空间的占用,却丢失大量有用的信息。相对于有限的内存空间,频繁闭项集挖掘能更好的满足用户的需求。Yun Chi提出基于滑动窗口的频繁闭项集挖掘算法,采用CET数据结构存储数据流中的所有项集,根据滑动窗口数据的变化实时更新CET中四种不同的项集,但项集的历史信息没有保存。国内研究数据流频繁模式挖掘主要有中国人民大学、哈尔滨工业大学和复旦大学等。哈尔滨工业大学提出了基于字典树5的频繁模式挖掘算法,复旦大学的周傲英等提出了数据流频繁模式历史计数的有效保存方法6。1.2 课
16、题内容基于数据流模型的挖掘算法,必须在有限的内存空间内完成,数据流高速到达的特性要求挖掘算法尽量采用增量更新的方法。本课题研究了一种有效的数据结构存储数据流的概要信息,基于滑动窗口实现挖掘算法的增量更新,主要研究内容包括以下几个方面。第一: 分析数据流的特点,对比传统数据挖掘与数据流挖掘的不同,理解数据流模型。第二: 研究存储数据流的概要信息的数据结构,FP-tree是目前比较有效的存储结构,在此基础上提出的FP-stream结构,类似于前缀树,并且通过时间窗口保存历史频繁计数。第三: 在用FP-stream结构存储数据流概要信息的基础上,研究数据流上频繁项挖掘算法FP-stream算法,以指
17、数直方图形式处理高速、大量的数据流,更好地适应数据流挖掘的特点。第四: 通过进行大量的实验,结合理论定理的说明,在时间复杂度和空间复杂度上证明算法的有效性。第二章 数据流和数据流挖掘2.1 数据流传统的数据库存储的是静态的关系型数据记录的集合,它们具有限定的大小、可控制的操作、详细定义的结构,同时这些数据具有持久性。传统数据库中的计算具有较高时间复杂度和空间复杂度,其查询处理为单次查询,查询计划为静态的,且最终生成确定的查询结果。另外,传统数据基本没有时间的概念。但许多当前的及今后的应用,要求能对不断快速变化的数据流提供在线分析支持。当网络控制器、电信数据管理、网络个性化、生产、传感器网络等应
18、用出现之后,数据大都是连续的数据流,并且与过去的那种单次查询相反,用户需要长期的、连续的查询,这就对数据库系统以及数据的处理算法等提出了新的挑战。数据流是连续的、无限的、快速的、随时间变化的数据元素的流。与传统的数据相比,流式数据具有许多特点:它是大量的、连续的、无限的数据;变化很快,并且要求快速的即时响应;数据流管理中随机存取采用的是一种代价昂贵的单一线性的扫描算法;仅仅存储到目前为止的现有数据。2.1.1 数据流的特点数据流不同于传统的数据仓库,数据流的到来往往是高速的,并且数据量是无穷的,通过对比传统关系型数据,数据流具有以下几个特点。(1) 数据记录是动态的,即数据不是静态的,需要动态
19、的进行更新并存储在管理系统中以备使用。(2) 数据流管理系统DSMS无法知道下个到达的数据是什么,甚至在同一个数据流中,DSMS也无法控制待处理的数据记录的顺序。(3) 本质上,数据流的长度是无限的,查询处理的数据流是高速的、连续的、随时间变化的。(4) 数据流中的记录一旦被处理,可能抛弃,也可能归档;无论是哪一种处理方式,很难重新查询。(5) 在数据流处理中,可能会结合DBMS。例如,某一次数据查询中,可能需要用到关系数据库中的数据,或者,连接操作,可能把数据流与关系表连接,以获得所需的数据流。2.1.2 数据流模型的特点数据流的这些特点要求一个完整、优秀的数据流处理系统必须具有以下特点:1
20、. 实时接受到达的数据,在不作存储的情况下立即处理,处理速度满足输入数据的速度要求。2. 由于数据流无边界,所以其处理结果的反馈也必须是实时的:结果即时更新、即时可查。3. 其处理算法必须满足一次扫描的要求,即不再对数据做重复扫描和计算。用户数据库或数据仓库DML结果数据用户概要数据结构数据处理算法DML结果实时更新数据流(a) 传统数据处理(b) 数据流处理 图 2-12.2 数据流挖掘算法和特点数据流具有以下几种性质:数据快速持续地到达、数据海量、数据到达有序。在传统的数据挖掘过程中一个重要的问题在于数据获取困难,从而导致在小样本上出现过配;而如今大量数据迅速到达样本获取不再困难,但处理时
21、的资源消耗成为主要的瓶颈;而且对数据流进行分析时不能忽略它的另一个重要性质:数据经过处理后,除非有其特殊价值,否则不进行保存,这主要是因为内存有限而使用外存增加处理时间。为了和数据流模型相适应,对应的数据挖掘算法需要能够只需要单遍扫描样本子集就能有效地快速地进行学习。另外和现实数据相关的数据流还有一些不可以忽略的性质,例如数据分布可能随时间变化而改变等,这就需要对一定时间内子样本进行学习的结果进行更新,这样的算法才能自适应数据分布的变化。相对于普通的数据挖掘算法,数据流的算法时空复杂度小,但是大多得到的是相对于普通算法的次优解,于是对数据流挖掘算法和普通算法差异的界的讨论也是必要的。数据流挖掘
22、算法和传统挖掘算法相对比有其特殊的地方。无论是分类、聚类还是频繁模式挖掘,数据流上的算法注重的都是一遍扫描数据集,并尽可能对结果集压缩存储。所有的分类和聚类算法注重模型的定义及再建立,以取得更好的匹配效果,使得分类或聚类的效果更好,而时间效率并不太关心;在数据流上进行分类或聚类算法则注意动态的适应数据的变化,尽可能及时地调整模型,算法的执行速度要达到一定要求,而建模的精确程度没有过多研究。原有的频繁模式挖掘算法因为最终结果是固定的,所以算法重点在于减少扫描数据集的次数, 以获得更好的时间效果;在数据流上挖掘频繁模式,算法一方面要保证只扫描一遍数据,另一方面要使结果集与统计的结果相比尽可能准确,
23、挑战是可想而知的。有的算法通过哈希或抽样等方法,在保证一定误差下降低处理的数据量,加快响应时间:有的算法以低支持度阐值的方法,来保证在一遍扫描的前提下,及时记录可能频繁的模式,使挖掘结果的误差尽量低。数据历史信息的压缩存储也是数据流挖掘算法共同关心的问题。一般来说,算法只保存数据的概要信息,如统计值;或分时间段保存数据,将大量信息存储为几个代表点。另外,随着数据的流动,部分信息可能过时,算法通常以一定策略进行删除,以释放存储空间。2.3 数据流挖掘的关键问题频繁项集挖掘是找出支持度大于给定支持度的所有项集。这些项集被称为频繁项集。由于数据流的连续性、无限性、商速性及数据分布随时间不断改变这些特
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据流 频繁 挖掘 方法 研究 毕业论文
链接地址:https://www.31ppt.com/p-3944443.html