基于图形处理器的K均值算法研究
【摘要】:数据挖掘是通过分析海量的数据,从中找出潜在的、新颖的、有价值的信息的技术在很多领域都有重要的应用。对于如此海量的数据,首要任务是对其进行合理的分类。聚类分析是将数据集合分组为由类似的对象组成的多个类的分析过程,每个簇中的对象具有很大的相似性。因而聚类分析在数据挖掘中具有关键作用。K均值算法是经典的基于划分的聚类方法,特点是算法简单,能够快速聚类。并行计算是解决海量计算难题的有效的途径之一。图形处理器的发展和CUDA语言的不断完善为开发人员提供良好的并行运算平台。本文首先分析了目前聚类分析的现状和串行K均值算法的不足。根据串行K均值算
法的特点,提出一种基于图形处理器的并行执行的K均值算法。本文将算法分为三个部分,将计算量最大的第二部分放到图形处理器中进行运算,以达到快速聚类的目的。进一步根据图形处理器的存储器模型和CUDA代码优化的原则,对并行K均值算法进行了优化,将重点放在合并访问和共享存储器方面。首先使用模拟数据对平台的性能进行测试,得出本实验平台的加速性能。然后采用真实应用数据对本文提出的并行K均值算法和经过优化的算法进行了对比实验,实验结果表明优化后的算法能够提高将近4倍的性能。最后使用优化后的并行K均值聚类算法同其他并行K均值算法进行了对比,实验结果表明同其它的K均值算法相比,本文算法能够获得更高的加速性能。本文研究结果表明,基于图形处理器的并行K均值算法能够快速的对海量数据进行聚类,是提高聚类分析运算速度的有效的途径。