论文部分内容阅读
数据挖掘,又称数据库中的知识发现,是指从大型数据库或数据仓库中提取隐含的、事先未知的、潜在有用的信息或模式。它融合了数据库、人工智能、机器学习和统计学等多个领域的理论和技术,是数据库研究中的一个很有应用价值的新领域。而聚类分析是数据挖掘中很重要的分析手段。聚类,是按照给定的相似度定义将数据集合划分为若干个聚类簇,使得同簇的数据之间相似度较高而不同簇的数据之间相似度较低的过程。近年来,由于计算机及应用技术的高速发展,人们获取数据的能力得到极大的提高,数据流(Data Streams)作为一类重要的数据来源,受到越来越多的关注,基于数据流模型的管理系统及其算法已成为重要的应用前沿课题。数据流是一组顺序的、大量的、快速的、连续到达的数据序列。一般情况下,数据流可以被视为一个随时间延续而无限增长的动态数据集合,对流中数据的访问代价通常比较高,因此仅一次地访问数据成为数据流算法所追求的目标。数据流的特性对传统聚类方法提出了许多新的挑战,如:仅一次地扫描数据流并产生高质量的聚类结果,任意时间段内的窗口分析,等等。近些年来,数据流聚类算法逐渐开始向分层的算法框架发展。分层聚类算法通常将算法结构分为“在线层”和“离线层”两个部分:在线算法负责对流数据进行快速但较为粗糙的处理,通过保存概要数据信息而避免后续过程对数据的回溯访问;离线算法利用在线层保留下来的概要信息进行更高层次的精确分析,并最终得到聚类结果。当前,数据流聚类算法尚且面临着以下一些较难解决的问题:分割数据流造成全局信息缺损从而影响聚类效果、时间复杂度较高、难以实现有效的基于密度聚类从而发现数据空间中不规则分布的高密度区域,等等。本文针对数据流聚类算法进行了深入的研究,基于双层数据流聚类算法框架提出了若干方法用以解决或改善上述问题,主要包括以下几部分内容:1)数据流表达是在线层算法研究中的一个重要问题,直接影响到算法的处理方式及算法效率。传统的模型如:界标模型,滑动窗口模型和快照模型都属于基于数据压缩的表达方式,它们针对数据本身的数值进行计算处理,得到远远小于原始数据空间的映射空间,此模式不能很好的反映空间分布。本文提出的微簇结构能够通过记录数据的分布获取更多的信息,同时可以进一步降低算法的存储需求。通过保存数据本身使其在以后的处理中可以动态调整所属划分,从而更好地反映出空间分布的变化。2)在线算法向离线算法输出中间数据。本文初始完全划分和算法后来非完全划分相结合的策略,因为局部空间中的高密度区域通常也对应着全局空间中的密集区域的原则,于是把局部空间中的高密度区域进行输出,而将其他的稀疏数据留在内存中与后续数据一起处理。故初始的完全划分的簇最后密度高的话就输出,而密度低的就分割与后续数据一起处理。这种划分策略能够提高在线层的输出质量,进而得到更好的聚类结果。3)提出一种改进的双层流数据聚类算法SCluStream,距类结果能够较真实的反映出数据的空间分布。在对数据流进行初步聚类的同时,尽量保留数据的分布特征,对流数据的动态特性表现出更强的适应性。实验结果表明,算法能够保持较低的时间开销并得到质量较高的聚类结果。4)本文提出了一种新算法DenCluStream用于挖掘数据流中具有任意形状的簇.我们把密度函数以权值的形式引入数据结构中,并利用核心微簇描述数据流中任意形状的簇,并提出候选核心微簇和孤立微簇结构分别用于维护并区分数据流中潜在的核心簇和孤立点。在线层输出的结果在离线层用“多维球簇”进行保存,节省了外存空间。另外,本文初步探讨了聚类分析算法的应用,分析目前聚类分析算法应用的现状,展望应用前景,为以后研究做基础。