(コードの実装で)EMアルゴリズムへの尤度関数

1. EMアルゴリズムとは何ですか

EMアルゴリズム(EMアルゴリズム、また、EMアルゴリズムとして翻訳)は、確率モデルは、観察不能な隠れ変数に依存しているが、確率モデルパラメータの最尤推定またはアルゴリズムの最大事後推定値を見つけることです。

EMアルゴリズムは、交互に計算された2つのステップから成ります

最初のステップは、最尤推定値を計算する隠れ変数の既存の推定値を使用する、所望の(E)を計算することであり、
第二のステップは、ステップEで得られた最大尤度を最大化する、最大化(M)であります計算されたパラメータ値。Mステップで見つかったパラメータは、次の計算ステップの推定値Eである、プロセスが交互に継続します。

最尤推定値は、一つの文章に要約される推力条件θを逆転、結果を知っています。

1.1尤度関数

数理統計学では、尤度関数は、モデルパラメータの可能性を表す関数のパラメータに関する統計モデルです。「可能性」と「可能性」や「確率」と同様の意味は、イベントのいくつかの種類の可能性を参照してください。最尤可能な最大平均値に相当します。

たとえば、あなたがクラスメートとハンターと狩り外出、ウサギはフロント渡って走りました。唯一の銃声を聞いて、ウサギはあなたが推測したい場合は、弾丸が再生されている誰打つ、次に墜落しましたか?あなただけの一発は、確率はハンターの確率よりも一般的に大きいので、ヒットあなたは、順番に銃がでハンターショットであることを推測する学生を打つヒットします作られた、と考えます。

これは、このような場合は、それが最尤法の基本的な考え方を反映して作られたと結論付けました。

ほとんどの場合、我々は推定値として、表示される結果の最大の条件を求める可能性が、その後、既知の条件に基づいて結果を予測するために、最尤推定結果は既に知られています。

解手順の1.3最尤機能

私たちは、100の個々の統計の中から引き出され10万個人は高さが、この確率は100人(でも確率別)で取得することができないことを前提としています。

\ [L(\シータ)はLを=(X_1、...、x_nに関する| \シータ)= \ prod_ {i = 1} ^ {n}はP(X_I | \シータ)、\ ominusで\シータ\ \]

今この要件\(\シータ\)こと値、すなわちそのような\(L(\シータ)が\ ) 確率を最大化し、時間パラメータ(\ \シータ\)が望まれています。

この分析のために、我々は、フォームプラスに接続されている対数尤度関数を定義することができます:

\ [H(\シータ)= LNL(\シータ)= LN \ prod_ {i = 1} ^ {n}はP(X_I | \シータ)= \ sum_ {i = 1} ^ {n}はLNP(X_I | \シータ)\]

私たちが学んだ大学で微積分を通じて、極端な値のための機能を求めて、最も直接的なアイデアは誘導体であり、そして誘導体は0で聞かせて、それθのこの方程式の解は、(もちろん、それは(Lの関数でありたいと考えていθ)連続微分)。ただし、θはパラメータの数を含むベクトルである場合は、それをどのように扱うかということ?もちろん、nは未知のパラメータように、n個の方程式があり、L(θ)のすべてのパラメータの偏導関数、即ち勾配を求め、最終的に得られたN尤度関数の極値点のような方程式の解でありますvalue引数。

一般的な手順最尤推定関数の値:

  1. 尤度関数を書きます。
  2. 尤度関数の対数、と分析しました。
  3. 誘導体、誘導体は、尤度関数を得るために、0になるように。
  4. 尤度関数のソリューションは、得られたパラメータはまた、所望されます。

1.4 EMアルゴリズム

二つの硬貨A及びBは、ランダム投げは、それぞれ、PA、PBとして確率を表向きと仮定する。上向きこれら2枚のコインの確率を推定するために、我々は、硬貨A及びBを反転ターンを取り、各ラウンドは、行の5つの合計5回投げなければなりません。

コイン 結果 統計
A 正の長所と短所長所と短所 3 N -2アンチ
B 抗とにかくの長所と短所 2 N -3抗
A 正と負の抗抗抗 1つの陽性抗 - 4
B とにかく、正と負の正 3 N -2アンチ
A 抗とにかくの長所と短所 2 N -3抗

第三ラウンドは、第五ラウンド3回登場N、N-1、N-2コイントスは、最初のラウンドで15倍であった、同様に、PAを推定することが容易であり、PBを容易に計算することができます。アウト(真値)、次のように:

PA =(3 + 1 + 2)/ 15 = 0.4
PB =(2 + 3)/ 10 = 0.5

私たちは、コインのトスがわからない場合の質問は、その後、5つの以下の結果が得られた投げターンを取る、AまたはB、それ(すなわち、コインの種類は、隠された変数である)です。

コイン 結果 統計
道の 正の長所と短所長所と短所 3 N -2アンチ
道の 抗とにかくの長所と短所 2 N -3抗
道の 正と負の抗抗抗 1つの陽性抗 - 4
道の とにかく、正と負の正 3 N -2アンチ
道の 抗とにかくの長所と短所 2 N -3抗

OK、問題が面白いとなります。私たちの目標は、今変更、またはPAとPBを推定し、それを行う方法には必要ではないですか?

使用時に明らかに、我々は、zに設定し、隠れ変数のコイン種類以上のものを持っているこの時点で、それは、スローされた各コインを代表して、5次元のベクトル(Z1、Z2、Z3、Z4、Z5)と考えることができます例えばZ1は、コイン投げの最初のラウンドに代わって使用される場合、またはB.

  • しかし、この変数zは、知らないPAとPBを推定することはできませんので、我々はその後、さらにPAとPBを推定するために、Zを推定する必要があります。
  • 我々は、我々は破るためにどのように、これはあなたのための鶏と卵の問題ではありません、最尤推定値zに確率の法則を使用することができるように、PAとPBを知っている必要があり、より良い推定zを持っていましたか?

答えは新しいが、PAとPBを推定し、私たちの真の場合は、ランダムに、PAとPBを初期化し、Zを推定するためにそれを使用して、Zに基づいて、またはサイクルに続いて、新たなPAとPBを推定する確率の最尤法に従ってすることですまでの大きな値の差PAとPBは、これまでに真の値に収束します。

:我々は、同様に、単にPAを与え、PB値を割り当てるには、このようにしてもよい
硬貨AのヘッドアップPA = 0.2の確率
表側B上方確率PB = 0.7

その後、我々は、コインを投げる可能性が最も高いとなっている最初のラウンドを見てください。
コイン場合Aは、3陽性確率はアンチ2 0.2で得られた0.2 0.2 0.8 0.8 = 0.00512
硬貨B、得られた3陽性確率が0.7である場合にアンチ2 0.7 0.7 0.3 0.3 = 0.03087
とを得るために他の4つの対応する確率。次のように表:

ラウンド コインAの場合 コインBの場合
1 0.00512、すなわちnは0.2 0.2 0.2 0.8 0.8,3トランス-2 0.03087,3正反 - 2
2 0.02048、すなわちnは0.2 0.2 0.8 0.8 0.8,2トランス-3 0.01323,2正反 - 3
3 0.08192、すなわち、0.8、0.2 0.8 0.8 0.8 N - トランス-4 0.00567,1正反 - 4
4 0.00512、すなわちnは0.2 0.2 0.2 0.8 0.8,3トランス-2 0.03087,3正反 - 2
5 0.02048、すなわちnは0.2 0.2 0.8 0.8 0.8,2トランス-3 0.01323,2正反 - 3

:最大尤度規則に従って
最も可能性の高い硬貨Bの1ラウンド
可能性が最も高い硬貨2ラウンド
可能性が最も高いコイン3ラウンド
のラウンド可能性が最も高い硬貨B 4
最初の5つの最も可能性の高いコインA

私たちは、Aは、最初の2、最初の3、最初の5つは(投げるAの総数で割った2,1,2の出現回数の合計、されて15スローされたことを、より多くの可能性が高いことを大きな確率を置きますZの推定値として3回、各回5)、同様の計算方法B. その後、我々は新しいPAとPBの最尤推定値に確率の法則に従うことができるようになります。

PA =(2 + 1 + 2)/ 15 = 0.33
PB =(3 + 3)/ 10 = 0.6

だから、反復の真の値に近い維持し続け、これはEMアルゴリズムの魔法です。

楽しみにしてすることができ、我々は再び新しいPAとPB、ダウン繰り返し、あなたが最終的に取得することができますPA = 0.4、PB = 0.5を推定するために、次にZ、Zを推定し、推定PAとPBと、この時間は上記の考えに従うことを続けますどのような反復、0.4と0.5のPAとPBの値は変更されませんので、我々は最大のPAとPBの尤推定を見つけました。

計算ステップを要約したものです。

  1. 分散ランダム初期化パラメータθ

  2. ステップEは、Qシーク機能は、各iについて、隠れた変数の現在の推定値として事後確率暗黙変数(実際劣性所望の変数)を計算するモデルパラメータの最後の反復に基づいて計算されます。

    \ [Q_I(Z ^ {(I)})= P(Z ^ {(I)} | X ^ {(I)}; \シータ)\]

  3. パラメータ)は尤度関数は、新しいパラメータ値を取得したい最大化するために、ときステップMは、Q関数は、最大値が得られることがわかります

    \ [\シータ= ARGMAX \ sum_ {I} \ sum_ {Z ^ {(I)}} Q_I(Z ^ {(I)})ログ\ FRAC {P(X ^ {(I)}、Z ^ {( I)}; \シータ)} {Q_I(Z ^ {(I)})} \]

  4. その後、周期的に収束するまで、ステップ2と3を繰り返します。

テキストの最後に参考文献の詳細な導出を参照してください。

2.何のEMアルゴリズムモデルの使用?

モデル溶液一般GMM又は協調フィルタリングを用いてEMアルゴリズムは、K-手段は、実際にEMに属します。EMアルゴリズムは収束していくが、局所最適に収束します。隠された変数のインデックスの数などの項目の数の合計が上昇したので、勾配の計算は、トラブルをもたらすだろう。

3.コードの実装

ガウス混合モデルEMアルゴリズム

4.参考文献

EMアルゴリズムのどのように人気の理解

著者:@mantchs

GitHubの:https://github.com/NLP-LOVE/ML-NLP

議論に参加へようこそ!共同プロジェクトを向上させます!グループ番号:[541954936]NLPインタビュー学習グループ

おすすめ

転載: www.cnblogs.com/mantch/p/11220795.html