問題タブ [expectation-maximization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
304 参照

c++ - opencv での期待値の最大化

私の問題はこれです.2成分ガウスモデルの混合物で分布を近似する必要があります。特に、2 つのガウス分布の 2 つの分散が必要です。openCv ではクラス EM を使用できます。問題は、分散ではなく 2 つの共分散行列しか取得できないことです。分散値を見つけるための解決策はありますか?

0 投票する
1 に答える
750 参照

algorithm - EM algorithm for two sets of latent variables

In a typical clustering problem, the probability of a data point x is p(x) = sum_k p(k)p(x|k), where k is a latent variable specifying the cluster that x belongs to. We can use EM algorithm to maximize the log likelihood of the objective function for the training data set: sum_n log (sum_k p(k)(p(x|k))).

I wonder if EM algorithm can solve the problem with two sets of latent variables, i.e. p(x) = sum_k sum_l p(x|k, l)p(k)p(l)? If so, how can we do that?

What if all of the probability distributions are sigmoid functions?

0 投票する
1 に答える
740 参照

c++ - 期待値の最大化 opencv-Log 尤度値

EM を使用して GMM のパラメーターを推定しています。

Matlabスクリプトを使用してEMコードを実行すると、「対数尤度」の単一の値が得られます..

ただし、opencv では、EM.train の出力は、すべてのサンプルの対数尤度値を含む行列を提供します。

単一の対数尤度値を取得するにはどうすればよいですか? すべてのサンプルのすべての対数尤度値またはすべての対数尤度値の合計の最小値を取る必要がありますか?

0 投票する
1 に答える
1290 参照

hadoop - Mapreduce を使用した期待値最大化によるガウス混合モデルの計算

EM を使用して GMM を計算するための Mapreduce の実装 (またはチュートリアル) はどこにありますか?
また、mapreduce フレームワークを使用してそれを行うことは本当に実現可能ですか?

この講義のリンクを見つけましたが、詳細な説明が含まれていません。また、データ(平均と分散)が大きい場合、マッパーからレデューサーに渡すにはどうすればよいですか?

0 投票する
2 に答える
218 参照

algorithm - 等方性拡散のガウス混合モデルの期待値最大化アルゴリズムの修正?

私のモデル システム: さまざまな拡散係数 (D1 <-> D2 <-> D3 <-> ...) の間で確率的に切り替えられる等方的に拡散する粒子。

この仮説上の粒子の軌跡に沿った変位は、ガウス分布から得られるようにモデル化できるため、存在する異なる「状態」または拡散係数の数に関する情報を抽出するために、ガウス分布 + モデル選択の混合を使用するのが自然に思われます。 、混合物中の異なる成分として現れます。

共分散行列が制約されていない GMM で EM を実行するためのコードがかなりあるようです。ただし、私の特定のアプリケーションでは、等方性拡散は、マトリックスが対角線だけでなく、対角線のすべての成分が各混合成分に対して等しくなることを意味します。つまり、拡散速度は x、y、z 方向で同じです。

この特殊なケースで期待値と最大化のステップがどのように変化するかについて、誰かがガイダンスを提供できますか?

0 投票する
1 に答える
913 参照

opencv - EM::read() がモデルを OpenCV に保存した後、異なる EM::predict() の結果が得られました

私は OpenCV と C++ が初めてで、OpenCV 内でガウス混合モデルを使用して分類器を構築しようとしています。私はそれがどのように機能するかを理解し、それを機能させました...多分。私は今このようなものを得ました:

モデルをトレーニングして保存した直後にトレーニング サンプルを分類すると、必要な結果が得られます。しかし、read()を使用してトレーニング データを再分類すると、クラスターの 1 つが欠落しています。これは、同じ GMM モデルから異なるクラスター結果を得たことを意味します。必要なクラスターがなくなったため、今はわかりません。同じデータを使用してモデルを再トレーニングするまで、分類を再度再現することはできません。実行時にコードをチェックし、Vec2dの結果値を返されたpredict()が 1 に割り当てられることはありませんでした (3 つのクラスターを設定しました)。

たぶんバグがあるか、何か間違ったことをしましたか?

ps VS2013で2.4.8を使用しています

私のプログラムは次のようになります:

電車の部分

モデルの保存/読み込み

一部を予測する

0 投票する
1 に答える
1189 参照

opencv - OPENCV での EM クラスタリング ベースのバックグラウンド 前景セグメンテーション

以下のコードを使用して EM ベースのバック グラウンド フォアグラウンド セグメンテーションを実行しようとしました...これも Stackoverflow で見つけました....しかし、実行される 2 番目の printf ステートメントが表示されないため、どこかにエラーがあるようです... . 基本的に、コードの分類/クラスタリング部分に到達することはありません..コードを以下に示します..誰かがこれについて私を助けてくれますか?

0 投票する
1 に答える
129 参照

r - 期待値の最大化の時間パフォーマンスを比較するためのフレームワーク

次の論文http://pdf.aminer.org/000/221/588/fuzzy_k_means_clustering_with_crisp_regions.pdfに基づいて、期待値の最大化 (EM) アルゴリズムを独自に実装しています。パフォーマンスを別の実装と比較したいと思います。テストでは、1 Gb の txt データで K 個のセントロイドを使用しており、1 回の反復で新しいセントロイドを計算するのにかかる時間を測定しています。R で EM の実装を試してみましたが、結果がグラフにプロットされ、多数の txt データでスタックしてしまうため、できませんでした。私は次の例に従っていました: http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Clustering/Expectation_Maximization_%28EM%29

パフォーマンスを測定するための EM の実装や、R でそれを行う方法を知っている人はいますか?