论文部分内容阅读
随着互联网技术的迅猛发展,许多新兴领域产生的数据都是以一种“流”的形式出现。这些流数据里携带着大量具有价值的信息,通常人们都是通过聚类与分类技术对数据进行处理,从而挖掘出人们所需要的信息来获得更大的效益。目前,大多数聚类算法面向的是离线静态数据,需要先将待处理的数据全部存储在内存中,然后通过多次遍历全部数据得到最终的聚类结果。然而,流数据是按时间序列连续到达的,其数据规模是不确定的,每个时刻到达的数据的接收过程和处理过程通常需要同步进行。流数据的时序性决定了流数据是在线数据流,其处理算法必须能够针对在线数据进行处理。流数据的无界性决定了全部数据无法也没有必要保存在有限的内存空间里,其处理算法必须能够在单个数据到来时及时处理并实时反馈处理结果。为了提高流数据聚类算法的准确率,本文在演化聚类算法(ECM)的基础上,采用均值法来更新聚类中心,采用簇中样本数据到其聚类中心的最大距离来更新聚类半径,引入戴维森堡丁指数(DBI)作为聚类处理过程中的数据归类准则,提出了一种基于DBI的流数据在线演化聚类算法DBIECM。与ECM算法相比,DBIECM算法保留了面向流数据在线聚类的能力,并且提高了聚类性能。为了在保留ECM算法的实时在线处理和一遍扫描的特性的前提下,同时提高聚类性能,本文在ECM算法的基础上,设计了新的聚类中心和聚类半径的更新方式,提出了一种流数据实时在线演化聚类算法SD-ECM。本文为SD-ECM算法设计了一个三元组的聚类特征向量,在没有访问历史数据的情况下,SD-ECM算法能够通过特征向量以较低的计算量来完成单个数据的聚类处理。与ECM算法和DBIECM算法相比,SD-ECM算法对流数据实时在线聚类具有更好的聚类性能。在研究中,我们发现SD-ECM算法、DBIECM算法和ECM算法对参数阈值Dthr非常敏感,Dthr的取值直接影响着最终的聚类簇数和聚类质量。为了解决因为先验知识的缺乏导致算法参数阈值Dthr设置不合理而产生过大聚类簇数的问题,本文在SD-ECM算法的基础上,新增了一个用于限制最大聚类簇数的参数阈值MaxNum,提出了一种参数阈值优化的流数据实时在线演化聚类算法ECMStream。ECMStream算法不但保留了一遍扫描的特性,而且降低了参数阈值Dthr的取值难度,使参数阈值Dthr能够自适应的增量更新。与本文中的其他算法相比,ECMStream算法面向流数据实时在线聚类不但具有更好的聚类性能和效率,而且具有更好的实际应用性能。由于聚类结果中的过期数据可能不再具有参考价值,对流数据聚类过程中的过期数据,本文设计了一种具有较低时间复杂度和空间复杂的处理方案,使得在删除过期数据的同时能够快速地更新聚类特征向量,从而消除过期数据对当前聚类过程的影响。