论文部分内容阅读
近年来,互联网的空前繁荣和高速发展带来了“洪水”一般的海量信息。对这些海量分布的数据进行分布式聚类成为了一个十分必要的研究课题。由于Hadoop这样一个开源分布式计算平台的出现,使得传统数据挖掘过程能够应用在分布式环境下。分布式聚类时,为了降低通讯压力,一般会将局部聚类结果进行近似。因此,分布式聚类的精度一般低于传统聚类精度。 本文从分布式聚类中的精度问题入手,分析了精度的影响因素,指出精度问题的关键是找出全局聚类的信息下限。针对K-means这一传统聚类算法,提出了精度改善方案,并且结合Hadoop平台中的Map/Reduce编程模型进行了并行化改造。本文的主要工作包括如下: 第一,分析了聚类中的精度易受到孤立点、初始值等多方面因素影响。海量数据背景下,避免初始质心过于集中或者过于分散进而影响精度,设计了精度改善方法,方法中使用簇质心密度和簇间距离足够高的簇质心作为初始质心。 第二,为了减少数据处理量,基于Map/Reduce编程模型,设计了海量数据抽样方案;并对于质心选择方法中样本容量估计、簇密度计算等环节,设计了相应的并行化方案。 第三,针对K-means算法的并行化问题,在Map阶段进行局部划分,Reduce阶段进行全局质心计算。找出了全局计算簇质心时的信息下限,舍去局部划分结果中的具体数据对象,仅保留全局计算质心时必需的对象个数以及对象的和,保证了并行化后算法的精度。 第四,通过虚拟化技术搭建了Hadoop集群,在人工数据集上开展了实验,结果表明,在一定节点规模下,本方法在时间性能上具有一定适应能力。并且将其应用在机械产品振动数据聚类分析上,结果表明,相比于K-means算法,本文方法在精度和稳定性上的有所提高,能够准确地区分不同的振动情况。