
374 12 章 ビッグデータ:スケールを追求
である。プロセッサ間の通信は単純で、適切なマシンにファイルを移動し、ジョブを開始して、結果をマス
タに戻せばよい。
マルチコアコンピューティングに対する最もわかりやすいアプローチがデータ並列処理である。データは
時間、クラスタリングアルゴリズム、自然なカテゴリなどによっておのずとパーティションを形成する。図
12 -1 に
示すように、部分問題の結果が最終的にマージされて 1 つになるようなほとんどの集計問題では、
レコードは任意の形で分割できる。
複雑な問題では、あとで部分問題の実行結果を結合するために追加的な作業が必要になる。例えば、10.5.1
節で取り上げた k 平均法には、次の 2 つのステップがある。
1. 個々の点について、現在のクラスタの中心の中で最も近いものを探す。
2. 同じクラスタに属する点の集合の新しい重心を計算する。
点が複数のマシンにまたがって散らばっているものとして、第 1 ステップでは、マスタは個々のマシンと
の間ですべてのクラスタの中心をやり取りしなければならない。そして、第 2 のステップでは、個々のス
レーブが自分のパーティションの新しい重心をマスタに送り返さなければならない。すると、マスタは適切
にこれらの受信の平均を計算して、反復を修了する。
12.5.3 グリッドサーチ
並列計算を活用するための第 2 のアプローチは、同じデータに対して複数の独立した処理を実行するもの
である。我々は今までに機械学習手法の多くがパラメータを使っており、それが最終的な結果の品質を左右 ...