读书人

基于MapReduce兑现并行化K-means算法

发布时间: 2012-12-18 12:43:41 作者: rapoo

基于MapReduce实现并行化K-means算法

阅读报告

阅读文献:WeizhongZhao, H Ma, Q He Springer “Parallel K-Means Clustering Base on MapReduce”, CloudComputing, 2009

解决问题:在分布式文件系统基础下的MapReduce编程模型实现K-Means聚类算法

运行效果:从节点增加时的总体速度提升,平均速度下降,数据量增大等多个条件下对算法进行实验,算法表现良好。

具体方法

算法伪代码:

k-means的每一次迭代都可以分为以下3个步骤。

第一步:Map:对于每一个点,将其对应的最近的聚类中心

基于MapReduce兑现并行化K-means算法

第二步:Combine:刚完成map的机器在本机上都分别完成同一个聚类的点的求和,减少reduce操作的通信量和计算量。

基于MapReduce兑现并行化K-means算法

第三步:reduce:将同一聚类中心的中间数据再进行求和,得到新的聚类中心

基于MapReduce兑现并行化K-means算法

具体细节在伪代码中的解析都非常详尽,这里不再赘述了。

算法优点:

1. 将聚类中心的信息作为全局变量,使聚类归属分配时不需要占用带宽。

2. 利用combine本地先进行同一聚类的归并,减少到reduce的传输量和计算量。

3. 算法规范,简单。

算法缺陷:

中规中矩,将k-means并行化处理没有本质上的创新,没有什么很好的优化机制。

读书人网 >其他相关

热点推荐