Skip to main content
QUICK REVIEW

[論文レビュー] A New Parallelization Method for K-means

Shikai Jin, Yuxuan Cui|arXiv (Cornell University)|Aug 23, 2016
Advanced Clustering Algorithms Research参考文献 7被引用数 6
ひとこと要約

この論文では、k-d 木に基づく前処理段階を用いて、1回の MapReduce ジョブでクラスタリングを完了する新しい並列 k-means 法である IPKMeans を提案する。重心の更新を高並列に可能にするために、各重心を複数の reducer が同時に更新できるようにし、I/O オーバーヘッドを最小限に抑える。これにより、PKMeans と比較して I/O コストを最大 66% 減少させ、Hadoop 上の大規模データセットにおいて、同等のクラスタリング結果を得ながらも著しく効率的な性能を達成する。

ABSTRACT

K-means is a popular clustering method used in data mining area. To work with large datasets, researchers propose PKMeans, which is a parallel k-means on MapReduce. However, the existing k-means parallelization methods including PKMeans have many limitations. PKMeans can't finish all its iterations in one MapReduce job, so it has to repeat cascading MapReduce jobs in a loop until convergence. On the most popular MapReduce platform, Hadoop, every MapReduce job introduces significant I/O overheads and extra execution time at stages of job start-up and shuffling. Even worse, it has been proved that in the worst case, k-means needs $2^{Ω(n)}$ MapReduce jobs to converge, where n is the number of data instances, which means huge overheads for large datasets. Additionally, in PKMeans, at most one reducer can be assigned to and update each centroid, so PKMeans can only make use of limited number of parallel reducers. In this paper, we propose an improved parallel method for k-means, IPKMeans, which has a parallel preprocessing stage using k-d tree and can finish k-means in one single MapReduce job with much more reducers working in parallel and lower I/O overheads than PKMeans and has a fast post-processing stage generating the final result. In our method, both k-d tree and the new improved parallel k-means are implemented using MapReduce and tested on Hadoop. Our experiments show that with same dataset and initial centroids, our method has up to 2/3 lower I/O overheads and consumes less amount of time than PKMeans to get a very close clustering result.

研究の動機と目的

  • PKMeans のような既存の MapReduce を用いた k-means 法が抱える高い I/O オーバーヘッドとスケーラビリティの制限を解決すること。
  • k-means の完全収束を 1 回のジョブイテレーションで達成できるようにすることで、PKMeans が要請する連鎖的な MapReduce ジョブの必要性を排除すること。
  • 複数の reducer が同時に同じ重心を更新できるようにすることで、並列性を向上させること。
  • Hadoop 上の大規模 k-means クラスタリングにおいて、収束時間と I/O コストを低減すること。
  • クラスタリングの品質を維持しつつ、性能を向上させるスケーラブルで効率的な並列 k-means フレームワークを設計すること。

提案手法

  • 主な MapReduce ジョブの前に、データポイントの効率的な空間的分割を可能にするために、前処理段階で k-d 木が構築される。
  • 主な MapReduce ジョブでは、k-d 木構造を用いてデータポイントが重心に割り当てられ、異なる領域を並列に処理できる複数の reducer が関与する。
  • 同じ重心を複数の reducer が同時に更新できるようにすることで、並列性が向上し、必要なジョブイテレーション数が削減される。
  • 最終的なクラスタリング結果を得るために、reducer 間で部分的な重心更新を統合する後処理段階が実施される。
  • k-d 木の構築と改良された k-means アルゴリズムの両方が、Hadoop MapReduce を用いて実装されている。
  • すべてのイテレーションを 1 回の MapReduce ジョブ内で完了させるために、繰り返しのジョブスケジューリングとシャッフルを回避する。

実験結果

リサーチクエスチョン

  • RQ1クラスタリングの正確性を維持したまま、k-means クラスタリングを 1 回の MapReduce ジョブで完了できるか?
  • RQ2複数の reducer が同じ重心を効果的に更新することで、並列性を向上させるとともに I/O オーバーヘッドを低減できるか?
  • RQ3k-d 木の前処理によって、分散 k-means クラスタリングにおける通信コストと計算コストを低減できるか?
  • RQ4提案手法の I/O オーバーヘッドと実行時間は、大規模データセットにおいて PKMeans と比較してどの程度か?
  • RQ5提案手法は、ジョブイテレーション数を削減しながら、PKMeans と同等のクラスタリング品質で収束を達成できるか?

主な発見

  • IPKMeans は、PKMeans が要請する連鎖的なジョブイテレーションを排除する形で、1 回の MapReduce ジョブで k-means クラスタリングを完了する。
  • 同じデータセットと初期重心の条件下で、PKMeans と比較して I/O オーバーヘッドを最大 66% 減少させる。
  • ジョブ起動およびシャッフルのオーバーヘッドが低減されているため、実行時間は PKMeans よりも顕著に短い。
  • k-d 木の使用により、より効率的なデータ分割が可能となり、同じ重心を複数の reducer が同時に更新できる。
  • 最終的なクラスタリング結果は PKMeans と非常に近いことから、正確性の損失は最小限である。
  • ジョブスケジューリングの繰り返しを最小限に抑え、reducer 間の負荷分散を改善することで、大規模データセットにおいてより優れたスケーラビリティを実現する。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。