论文部分内容阅读
近年来,由于生产生活水平的不断提高和计算机在各行各业的应用技术的高速发展,人们获取数据的能力已经大大的提高,获取数据的渠道也急剧增加。随着信息管理与信息处理系统的应用和发展,现实生活中的许多数据呈现出“流”的特点。处理数据传统方法静态存储结构形式早已不再适用。数据流作为一类重要的数据来源,已受到越来越多的研究人员的关注。基于数据流模型的聚类算法的研究,已成为重要的前沿课题。与传统数据库不同的是,数据流具有很多特点:数据总量呈现无限性、数据快速到达、数据到达速率具有不可控性和不可预测性、数据到达无序性。鉴于数据流的诸多特点,若要对数据流中的数据进行挖掘分析得出可理解、可利用的结果,迫切需要开发出高效、精确的适用于数据流的聚类算法。学术界已经就数据流聚类方面做了大量的研究,提出了许多关于数据流聚类的优秀算法。数据流聚类的主要方法有基于划分、基于层次、基于密度、基于网格和基于模型的方法。基于划分方法的代表算法是k均值和k中心点方法。这类算法通过划分数据点到某个最近的中心点,不断的计算更新簇内距离以达到形成稳定的聚簇的状态。这种聚类方法适合于应用在球形簇的场合,对于中小型规模的数据库很适用。为了发现具有复杂形状的簇和对超大型数据集进行聚类,需要进一步扩展基于划分的方法。基于层次方法主要有自底向上的凝聚法和自顶向下的分裂法。为了节省计算开销,层次方法严格规定一旦聚类过程中的一个步骤完成后就不能撤销。这也是层次聚类的缺陷所在。为了解决基于距离聚类仅限于产生球形簇的结果的问题和过滤孤立点,人们提出了基于密度的聚类方法。只要邻域中的对象或数据点的数目超过某给定的阈值,就继续聚类直到邻域内无符合条件的数据点。基于网格的聚类算法把空间量化成一个多维的网格结构,所有的数据点都投影在这个网格结构中。基于网格聚类的优点是不需要考虑具体的数据点,只需要考虑某个网格中的点的数目或密度,提高了聚类速度。它的缺点是若数据点的维度增多则算法时间复杂度和空间复杂度急剧增大。基于模型的数据流聚类方法为每个簇假定一个模型,并寻找数据对给定模型的最佳拟合。本文综合研究了数据流聚类的问题和经典的数据流聚类算法,做了以下一些工作:(1)借鉴CluStream算法的双层结构的优点,提出了基于滑动窗口的双层数据流密度聚类算法(DStream算法)。(2)提出了基于滑动窗口与时间衰减相结合的改进点(3)实验验证了本文算法的有效性从所用的KDDCUP99数据集实验中可以看出,DStream算法能够在时间和空间代价较小的情况下有效的提高聚类结果的精确度。本文将DStream算法和CluStream算法的实验运行结果分别进行比较。DStream算法得出的聚类结果均优于CluStream算法。本文中衡量聚类结果的精确性指标是比较SSQ值的大小,对依次执行数量不同的样本所花费的时间和运行不同维数的样本所需的时间进行比较。