西安科技大学硕士学位论文26“移...

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

论文题目:基于网格方法的数据流聚类算法研究
专 业:计算机应用技术
硕 士 生:王海东 (签名)
指导教师:杨君锐 (签名)
摘 要
数据流聚类是从大量的、有噪声的、模糊的、随机的流数据中发现不相连的、具有相似属性的簇,并使簇中数据的相似性尽可能高,不同簇中的数据的相似性尽可能低,它是数据挖掘领域的一个重要研究方向。

在现有的数据流聚类算法中,基于网格方法的聚类算法具有较高的数据压缩比和较低的时间复杂度的特点,这使其在数据流聚类中有着较好的表现。

但与此同时,网格方法也有其不足,主要是容易丢失簇边缘网格中的数据点,而这将导致网格聚类的正确率降低。

另外,针对高维数据空间如何进行有效的聚类也是一个值得关注的问题,在高维数据空间中,数据点之间的距离趋近于相等,这给以数据点之间的距离作为数据相似性评价标准的聚类算法带来了挑战。

为此,本文的主要研究内容和成果如下。

首先,针对网格数据流聚类中簇边缘网格数据点丢失的问题,提出了基于可变密度阈值的网格数据流聚类算法VDTS。

在传统的网格数据流聚类算法中,使用均匀划分网格并采用固定的密度阈值,而在VDTS算法中,采用不均匀划分的网格和可变的密度阈值,从而使簇中心部分的网格容易合并,形成较大的网格,簇边缘部分的网格不容易合并,保持较小的网格。

VDTS算法既保留了网格数据流聚类算法的高数据压缩比又解决了簇边缘网格数据点丢失的问题。

其次,针对高维数据流聚类困难的问题,提出了高维数据流网格聚类算法HVDTS。

在高维数据流的聚类中,通常的方法是对高维空间进行降维,其中一个关键的问题是如何降维,即如何选择那些对聚类影响较大的维并删除那些对聚类的结果影响较小的维。

本文提出了一种维选择算法,通过比较数据点在每一维上的投影的平方误差和来判断该维对聚类结果影响的大小。

经过维选择算法处理后,数据空间的维数降低到一个可以接受的范围,然后对降维后的数据集进行聚类,最终获得聚类结果。

关键词:数据挖掘;数据流;聚类;密度;高维
研究类型:理论研究
Subject: The Research on the Algorithms of Grid-based Data
Stream Clustering
Specialty : Computer Application Technology
haidong (Signature)
Wang
Name :
Junrui (Signature) Instructor : Yang
ABSTRACT
Data stream clustering is a very important problem in data mining. The purpose of data stream clustering is finding clusters in a large, noisy, fuzzy and random data stream and makes sure that the similarity of the data in the same cluster is as high as possible and in the different clusters is as low as possible. The grid-based data stream clustering of the present clustering methods has a good performance in all clustering algorithms because of its high data compression ratio and low time complexity. But the grid-based data stream clustering has its own flaw that it is easy to lose data points on the edge grids.This shortcoming reduces the correctness of grid clustering. Clustering in high dimensional data stream is another problem. All the distances between data points in high dimensional data streams are almost equal, that brings a huge difficulty to the algorithms which choose the distance of the data points as the evaluation criteria of similarity.
The main research content and results are as follows.
First, this paper introduces a grid-based data stream clustering based on variable density threshold. In the traditional grid data stream clustering algorithms, we usually use fixed threshold density and divide the grid evenly, the variable density threshold is used in VDTS. In this method, the grids in the center of the cluster are easily merged and grids on the edge of the center are hard to merge. The VDTS method not only contains the character of high data compression ratio and low time complexity but also keeps the data points on the edge of the cluster.
Second, high dimensional data stream clustering is a hard field in data clustering. In this paper, we introduce a high dimensional data stream clustering algorithm. In high dimensional data stream clustering, a critical problem is how to reduce the dimension, which is to say how
to choose the dimension which is critical to the clustering. In HVDTS we choose the critical dimension by measure the distributed of data points projected on each dimension. After the high dimensional data is turned into a low dimensional data stream, we use the VDTS algorithm to finish the clustering.
Key words: data mining; data stream; clustering; grid; high dimensional
Thesis: Theoretical Research
目录
1 绪论 (1)
1.1课题研究的背景和意义 (1)
1.2国内外研究的现状 (1)
1.2.1数据流管理系统 (1)
1.2.2流数据分析 (2)
1.3本文的研究内容 (3)
1.4本文的组织结构 (3)
2 数据挖掘与传统聚类算法 (5)
2.1数据挖掘概述 (5)
2.1.1数据挖掘的含义 (5)
2.1.2数据挖掘的背景 (5)
2.1.3主要的数据挖掘技术 (6)
2.2 传统聚类算法概述 (9)
2.2.1聚类分析中的常用技术 (9)
2.2.2聚类算法的发展演化历史 (11)
2.3本章小结 (15)
3 数据流聚类概述 (16)
3.1数据流 (16)
3.1.1数据流的特点 (16)
3.1.2对数据流聚类算法的要求 (17)
3.2数据流聚类算法 (18)
3.3本章小结 (23)
4基于可变密度阈值的网格数据流聚类算法VDTS (24)
4.1传统的基于网格的数据流聚类的不足及改进 (24)
4.2相关概念 (27)
4.2.1数据流和网格 (27)
4.2.2网格密度 (27)
4.2.3稠密网格、过渡网格和稀疏网格 (28)
4.2.4相邻网格单元 (28)
4.2.5金字塔时间模型 (29)
4.3 算法的描述及框架 (29)
4.3.1 VDTS算法的基本思想 (29)
4.3.2在线层设计 (31)
4.3.3离线层设计 (31)
4.4算法的测试和分析 (32)
4.4.1算法的正确率比较 (32)
4.4.2算法的运行时间比较 (33)
4.5本章小结 (34)
5 高维数据流网格聚类HVDTS (35)
5.1高维数据流 (35)
5.1.1基于降维的聚类 (35)
5.1.2基于超图的聚类 (37)
5.1.3联合聚类 (37)
5.1.4子空间聚类 (38)
5.2 HVDTS的维选择算法 (39)
5.3高维数据流网格聚类算法HVDTS (42)
5.3.1HVDTS算法的在线阶段 (42)
5.3.2HVDTS算法的离线阶段 (43)
5.4算法的测试与分析 (44)
5.5本章小结 (46)
6 总结与展望 (47)
6.1本文的总结 (47)
6.2未来工作的展望 (48)
致谢 (49)
参考文献 (50)
1 绪论
1.1课题研究的背景和意义
20世纪80年代以来,电子技术的快速发展促进了强大功能的计算机的大量涌现和数据存储设备及介质的大量供应。

这些技术极大推动了数据库的发展,数据库已从原始的文本处理发展到具有查询和事务处理功能的数据库管理系统,与此同时,又使得人们处理信息的难度大大增加。

数据挖掘的产生来源于这样一个困境——我们周围充斥着大量的数据,但是我们却不能从中得到我们所需要的信息。

数据挖掘就是从大量数据中发现有趣模式,其中的数据可以放在数据库、数据仓库或其它的信息库里,这是一个年轻的跨学科领域[1]。

近年来,一种新的数据类型出现在人们面前——数据流[2]。

数据流是由实时监控系统、通信网络、Internet传输信息、金融市场或零售业的联机事务处理、电力供应网、工业生产过程、科学和工程实验、遥感器以及其它动态环境产生的大量和潜在无限的数据[3]。

与传统的数据不同,数据流以不同的更新速率连续地流入流出计算机系统,这些数据是按时间顺序快速变化的、海量的和潜在无限的。

由于数据流的数据量太大,不可能存储整个数据流或对其读取多次。

此外,数据流倾向于在很低的抽象层次,而大多数分析者只对高层的动态变化感兴趣。

为了从数据流中发现知识或模式,必须开发单编扫描的、联机的、多层的、多维的流处理和分析方法。

1.2国内外研究的现状
Henzinger等人于1998年在论文“Computing on Data Stream”中首次将数据流作为一种数据处理模型提出来[4],从2000年开始,数据流作为一个热点研究方向频繁出现在国际各大学术会议中,例如VLDB、SIGMOD、SIGKDD、ICDE和ICDM等会议每年都有多篇关于数据流的文章。

目前,关于数据流的研究主要集中在两个方面,以Stanford 大学的R.Motwani教授为代表的数据流管理系统(DSMS,Data Stream Management System)研究和UIUC的C.Aggarwal和J.Han教授为代表的流数据分析。

1.2.1数据流管理系统
目前,许多机构正在致力于开发新的数据流管理系统,这其中比较成熟的有斯坦福大学的Stream系统[5],布朗大学、布兰代斯大学和麻省理工大学联合开发的Aurora系统[6]以及美国加州大学伯克利分校的TelegraphCQ系统[7]。

西安科技大学硕士学位论文
(1)Stream系统
Stream系统是一个以关系为基础的数据库管理系统,它重点在于内存管理和近似查询。

它可以用于处理大量的、易变的和快速涌入的数据流,其连续查询能力非常好。

Stream的主要技术包括连续的自我监控和再优化,适用于不同需要的良好近似,能够合理地分配和利用资源。

(2)Aurora系统
Aurora专门用于处理流式监控。

它简单独特的框架结构可以处理三种不同的应用:实时监控应用、以时间序列存储的大量历史数据的档案管理型应用和包含对历史以及当前数据进行处理的跨度应用。

Aurora 系统的核心是一个巨大的触发器网络。

(3)TelegraphCQ系统
TelegraphCQ 的目的在于处理大量高速变化的数据流和进行的大量连续查询。

该系统是一个连续查询处理系统,在共享查询评价和适应性查询处理方面具有优势。

1.2.2流数据分析
数据流分析的主要方法包括数据流聚类,数据流分类和数据流关联规则挖掘。

(1)数据流聚类
聚类分析是一种重要的人类活动,通过聚类能够识别对象空间中稠密和稀疏区域,从而发现数据之间的有趣相关。

聚类分析已经广泛应用于许多领域,包括市场分析、模式识别、数据分析和图像处理。

在商务中,聚类可以从顾客的行为模式中发现特定的消费群体;在分类学中,聚类可以帮助植物和动物分类;在Internet中,聚类可以对Web 上的文件进行分类,发现有用信息。

(2)数据流分类
分类可以用来预测数据的模型和未来的数据趋势,分类的基本过程是通过有监督的学习,使用已知标签的样本训练集产生分类模式,测试集对分类模式进行剪枝,对未知类标签的新样本使用分类模式进行模式分类。

传统的分类方法在处理数据流方面存在两大挑战:数据流的无限性和概念漂移。

分类算法最著名的是决策树算法[8],此外还有神经元网络[9],Bayesian分类[10]等方法。

决策树和神经网络相比,优点是可以形成一些规则,神经网络的优点是可以追踪到形成相应规则的原因。

(3)数据流关联规则挖掘
关联规则挖掘的目的是在一个数据集中发现数据项之间的关系。

Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题。

Apriori算法[11]是关联规则挖掘的经典算法,它是由R.Agrawal和R.Srikant两位博士在1994年提出的。

以后人们对关联规则的挖掘问题进行了大量的研究。

他们的工作包括对原有的算法进行优化(如
1 绪论
引入随机采样、并行的思想等),提高算法挖掘关联规则的效率和对关联规则的应用进行推广。

近年来也有独立于Agrawal的频集方法的工作,以避免频集方法的一些缺陷,这些工作探索了挖掘关联规则的新方法。

1.3本文的研究内容
数据流聚类涉及的邻域十分广泛,本文主要对基于网格的数据流聚类算法进行研究,提出了一种可以同时兼顾聚类正确率和数据压缩比的数据流聚类算法,具体内容主要有以下几个方面。

首先,回顾了聚类发展的过程,对适用于传统数据库中数据的聚类方法进行论述。

对传统聚类方法进行简介(传统数据聚类的方法大致分为划分的方法、层次的方法、基于密度的方法、基于网格的方法)。

由于本文采用的是基于网格的聚类方法,因而将对基于网格的方法做具体的介绍。

其次,针对数据流,介绍了基于数据流的聚类方法的发展历程。

并着重介绍数据流聚类的CluStream算法框架,以及一些在数据流聚类中运用广泛的关键技术,例如滑动窗口模型和金字塔时间框架等。

最后,提出了一种基于可变密度阈值的网格数据流聚类算法VDTS,其采用可变的密度阈值代替传统聚类算法中固定的密度阈值,从而既保留了网格方法的高压缩比的优点又很好的保存处于网格边缘的数据点的位置信息,对聚类正确率有了一个较大的提高;在现实生活中,数据流往往是高维的,高维给数据流聚类带来了很大的困难,本文提出了一种维选择算法,将数据空间的维数降低到一个可以接受的值,然后进行聚类,这样就克服了高维聚类的困难,对高维数据流进行了有效的聚类。

1.4本文的组织结构
第一章,绪论。

阐述研究课题的背景和意义,对国内外的研究进展进行简述,另外,对本文的研究内容和组织结构进行了说明。

第二章,聚类分析研究。

主要介绍传统数据库中数据的聚类方法,以及其发展历程,对各种算法的使用范围和优缺点进行分析,重点分析了基于网格的聚类方法。

第三章,数据流聚类算法分析。

针对数据流中数据的特点,介绍了几种比较常用的数据流聚类算法以及数据流聚类的基本原理和一些常用的研究工具。

第四章,提出了基于可变密度阈值的数据流聚类算法VDTS。

VDTS算法改进了传统网格聚类算法固定的网格密度阈值,采用了可变的密度阈值,进而将网格进行不均匀的划分,从而既保留了边缘网格数据点的位置信息又有较好的数据压缩比。

第五章,提出了高维数据流网格聚类算法HVDTS。

在HVDTS算法中,提出了一种对高维数据流进行降维的方法,通过比较每一维上数据投影的平方误差和,选择对聚
西安科技大学硕士学位论文
类结果影响较大的维,删除对聚类结果影响较小的维。

通过实验证明,这种方法可以有效地提高高维数据流聚类的正确率。

第六章,总结和展望。

对本文的主要研究工作进行总结,并结合数据挖掘未来的发展趋势,对尚需进一步解决的问题进行了探讨和展望。

2数据挖掘与传统聚类算法
2 数据挖掘与传统聚类算法
2.1数据挖掘概述
2.1.1数据挖掘的含义
数据挖掘是指从大量的、模糊的、有噪声的、不确定的数据中获取有用信息和知识的过程。

数据挖掘的目标是从海量数据中抽取模式,得到数据变化的规律、数据变化的趋势以及数据之间的相互制约关系,使人们可以从较高的层次观察数据,指导人们的行为,为决策提供有力的依据。

数据挖掘的过程如图2.1所示。

图2.1 数据挖掘的过程
2.1.2数据挖掘的背景
数据挖掘在生活中的运用非常广泛,在石油勘探领域,数据挖掘可以帮助发现适合钻探的位置——潜在的矿物和石油沉积物所在之处,模式发现和匹配技术在军事上用来识别目标。

医学是数据挖掘应用比较成熟的领域,数据挖掘有助于帮助研究者发现疾病之间的联系和潜在特征。

犯罪侦查领域使用该技术将罪犯的特征和罪行联系起来。

在天文学和宇宙学中,数据挖掘帮助预测宇宙中将要发生的事。

在科学界,数据挖掘的应用程度不算太高,但在商业中这项技术的运用十分普遍。

大多数工具都是以商业部门为目标的,下面列出数据挖掘在商业领域的主要运用。

(1)客户细分。

这是最普遍的运用之一,商业部门使用数据挖掘来更好地理解用户的
行为,聚簇检测可以找出具有相同特征的客户群。

(2)市场篮子分析。

对零售来说这非常有用,关联分析找出被一起购买的产品之间的联系,其它诸如高档商品房拍卖交易使用这些算法来寻找客户,对这些客户他们可以卖出具有更高价值的商品。

(3)风险管理。

保险公司和抵押交易使用数据挖掘来发现和潜在客户有关的风险。

(4)欺诈检测。

信用卡公司通过数据挖掘来发现不正常的用户消费模式,这样的模式能暴露信用卡的欺诈。

(5)拖欠跟踪。

贷款银行使用该技术来跟踪可能拖欠还款的客户。

(6)需求预测。

零售和其它商业使用数据挖掘来匹配需求和供应趋势,预测对特定产品的需求。

数据挖掘技术引起信息产业界和社会的极大关注,人们迫切地希望将这些数据转化成有用的信息和知识。

数据挖掘的结果可以广泛应用于各种应用,越来越多的领域迫切期待数据挖掘技术的加入。

具体数据挖掘技术的应用如表2.1所示。

表2.1 数据挖掘的功能和应用领域
应用领域挖掘功能的例子挖掘过程挖掘技术
欺诈检测信用卡欺诈
内部查账
商店失窃
确定标准
状况的变化
数据可视化
基于记忆的推理
风险评估
信用卡升级
抵押贷款
客户保持
客户信贷分类
链接的检测和分析
决策树
基于记忆的推理
市场分析市场篮子分析
目标销售
客户关系行销
预测性的建模
数据库分割
类检测
决策树
链接分析
遗传算法
2.1.3主要的数据挖掘技术
数据挖掘所涉及的技术范围十分广泛,其主要内容包括以下几个方面。

(1)聚簇检测(cluster detection)
聚簇(clustering)的意思是形成类,并使同一类中的数据的相似性尽可能大,不同类中数据的相似性尽可能小。

在大多数聚类算法中,以数据之间的距离作为数据相似性的
度量,数据之间的距离越小,数据之间的相似性越大。

聚簇检测是最早的数据挖掘技术之一,这项技术被称为无指导的知识发现或无监督学习。

需要注意的是当聚类检测算法产生一个类时,人们必须准确的知道这个类所代表的含义,这样才能准确的指导我们的行为。

假设需要进行数据挖掘的数据是二维数据,图2.2说明了聚簇检测在这一实例中的应用。

图2.2 二维变量的类
(2)决策树
(decision tree) 决策树主要用于分类和预测。

建立一棵决策树的方法是:找到一种测试,它将以尽量好的方式把记录分到各个类中;然后,从根开始,在每个较低级的节点中,任何规则
只要能更好地分离子集就可以被采用,寻找树的每一个下一层的节点,依次继续下去,树一直增长,直至找不到更好的方法来分离输入的记录为止。

图2.3是一个判断顾客是
否购买电脑的决策树。

图2.3 判断顾客是否买计算机的决策树
(3)基于记忆的推理(memory based reasoning)
基于记忆的推理使用一个模型的已知实例来推测未知实例。

使用基于记忆的推理算法时,需要已知记录的一个数据集,并且需要这个数据集记录的特征。

当需要评估一条新数据时,算法找到和新记录相似的数据,接着使用这个数据的特征进行分类和预测。

用基于记忆的推理解决数据挖掘问题,需要注意3个关键的问题。

①选择最合适的历史记录来形成基本数据集。

②找出构成历史记录的最好方法。

③确定距离函数和组合函数两个必不可少的函数。

(4)关联分析(association analysis)
关联分析技术用于挖掘关联信息并发现知识。

根据不同的知识发现类型,关联分析技术可以分为三种类型的运用:关联发现、序列模式发现和类似的时序发现。

①关联发现(association discovery)
关联是指项与项之间的密切联系。

关联发现算法能找出这样的组合,在这些组合中如果出现某一项,那么另一项也会出现。

由于其简单,关联发现成为一种流行的数据挖掘算法,它只有支持度和自信度两个要素需要解释,甚至这两个要素解释起来也很直观,所以关联发现算法相对来说比较简单,在数据挖掘中获得广泛应用。

②序列模式发现(sequential pattern)
序列模式发现算法主要用于发现时间序列,找到时间上连续的事件,即一个项目集之后的项目集是什么。

在应用这种算法时,必须有日期和时间等数据项。

③类似的时序发现(similar timing)
类似的时序发现依赖于时序的可用性,在序列模式发现中,得到的结果显示出了一些时间上的连续事件。

然而,在类似的时序发现中先找到一个事件顺序,接着再找出其它类似的事件顺序。

(5)神经网络(neural network)
神经网络模仿人脑,通过向一个训练数据集学习,应用所学的知识来生成分类和预测模式。

在数据是不定型的并且没有明显固定模式的情形下,这种算法很有效,人工神经网络的基本单元模仿了人脑的神经元,其基本单元被称为节点,它是神经网络模型的两个主要结构之一,另一个结构是连接(link),相当于人脑中神经元之间的连接。

图 2.4表示一种基本的神经网络模型。

图2.4 神经网络模型
(6)遗传算法(genetic algorithm)
遗传算法和神经网络有一些共同之处,它也有一定的生物学基础。

根据生物学,进化和自然选择决定了适者生存。

随着一代代的演化,该过程将适者个体中的基因材料从一代遗产给下一代。

遗传算法将相同的原理运用到数据挖掘中。

这项技术使用“选择-交叉-突变运算”的多次反复的过程来使模型一代代进化。

在每次反复中,每个模型通过从前一个模型继承来的特性和其它模型竞争,只有最好的预测模型可以保存下来。

2.2 传统聚类算法概述
将物理或抽象对象的集合分成相似对象的过程称为聚类(clustering)。

簇(cluster)是数据对象的集合,这些对象与同一个簇中的对象彼此相似,而与不同簇中的对象彼此相异。

聚类分析作为独立的工具在实际中有着广泛的应用,同时,它也可以作为其它数据挖掘工作的预处理过程。

2.2.1聚类分析中的常用技术
(1)抽样(Sampling)
抽样在聚类的过程中有着非常重要的意义,抽样的好坏直接决定了聚类的正确率的高低。

在抽样方案设计的过程中,抽样组织形式的选择又是一个关键环节,它决定了样本对总体代表性的高低。

依据抽样误差由低到高的顺序排列,按照标志排队的等距抽样方式抽样误差最小,其次分别为分层抽样、按照无关标志排队的等距抽样、简单随机抽样、整群抽样和非随机抽样。

结合资源的限制和操作的方便性进行综合选择,分层抽样在实践中的应用最为广泛。

分层抽样又称类型抽样,它是先将总体所有单位按照重要性进行分组,然后在各组内按照简单随机抽样或等距抽样方式抽取样本单位的一种抽样方式。

(2)直方图(Histogram)
直方图是一种常用的数据规约技术,它使用分箱技术对数据进行近似,每个箱代表某一区域的数据,箱的宽度代表值域范围,箱的高度代表这个值域内数据的个数,即频率。

每个箱可以代表一个属性的值和频率,称为一维直方图,也可以代表多个属性的值和频率,称为多维直方图。

根据箱的划分不同,直方图可以分为:
①等宽直方图,每个箱中所含的数据量相同。

②压缩直方图,为频繁元素单独创建箱,对其它元素选择等宽直方图。

③V-优化直方图,其分箱的依据是使各箱的方差和最小。

直方图建立好以后可以对数据进行近似查询。

(3)滑动窗口(Sliding window)
用户往往只对最近的数据感兴趣,而对大量的历史数据,只需要知道其大概的结构。

滑动窗口技术只存储某个固定窗口内的数据,该技术减少了对内存的需求,降低了系统的负担。

但是滑动窗口技术有一个缺陷,即必须事先知道滑动窗口的大小,而对于现实中的很多应用来说,预先设置滑动窗口的大小是很困难的。

(4)倾斜时间框架(Tilt time frame)
滑动窗口只能在单一的时间粒度上获得聚类结果,有的时候用户需要在不同的时间粒度上获得相应的簇。

例如有的用户可能需要较小的时间粒度上比较精确的聚类结果,这时用户对粗粒度上的长期变化趋势就不太关注。

倾斜时间框架结构能将最近的数据在较小的时间粒度上存储和运算,较远的数据在较大的时间粒度上存储和运算,这样就可以满足不同用户的需求。

Han 和Kamper 在文献[12]中提出了三种倾斜时间框架模型:自然倾斜时间框架模型、对数尺度倾斜时间框架模型和渐进对数倾斜框架模型。

如图2.5-2.7所示。

图2.5 自然倾斜时间框架模型
图2.6 对数尺度倾斜时间框架模型
编号 快照(时钟顺序) 0 1 2 3 4 5 69 67 65 66 62 58 68 60 52 56 40 24 48 16 64 32。

相关文档
最新文档