EM を使用して GMM を計算するための Mapreduce の実装 (またはチュートリアル) はどこにありますか?
また、mapreduce フレームワークを使用してそれを行うことは本当に実現可能ですか?
この講義のリンクを見つけましたが、詳細な説明が含まれていません。また、データ(平均と分散)が大きい場合、マッパーからレデューサーに渡すにはどうすればよいですか?
EM を使用して GMM を計算するための Mapreduce の実装 (またはチュートリアル) はどこにありますか?
また、mapreduce フレームワークを使用してそれを行うことは本当に実現可能ですか?
この講義のリンクを見つけましたが、詳細な説明が含まれていません。また、データ(平均と分散)が大きい場合、マッパーからレデューサーに渡すにはどうすればよいですか?
OK、あなたは EM アルゴリズムを実装した経験があると言いました。説明は簡単です。
ご存じのとおり、EM アルゴリズムは最尤法を見つけるための反復法です。1 回の反復は、期待値 (E ステップ) と最大化ステップ (M ステップ) の 2 つのステップで構成されます。
E-stepでは、サンプルの尤度が前のモデルから計算されます。をサンプル数とすると、尤度n
を得ることができますn
。
ここで、尤度計算は独立して実行される。したがって、これはマルチプロセッサ環境を使用して実行できます。
1 台のマシンに 4 つの CPU があると仮定すると、n/4
可能性は各 CPU で計算できます。4倍高速です(IO時間は無視されます)
M-stepでは、新しいモデルが尤度によって導出されます。
mapper
サンプルが互いに独立しているため、mapreduce 上のタスクに拡張できます。
reducer
タスクに拡張できます (これは複数のレデューサーにすることができますが、単に 1 つのレデューサーをお勧めします)。
HDFS
mapreduce
HDFS
が、トレーニング サンプルとは異なるディレクトリに
あるmappers
て、モデルがどこにあるかを知らせます1 つの mapreduce タスクは、EM アルゴリズムの 1 回の反復に類似しています。したがって、収束するまで次の mapreduce タスクを繰り返す必要があります
簡単に説明しました。実装中に多くの問題に直面します。
これが役立つことを願っています。