機械学習のEMアルゴリズムとは何ですか? 【例で説明】

公開: 2021-03-10

EMアルゴリズムまたは期待値最大化アルゴリズムは、1977年にArthur Dempster、Nan Laird、およびDonaldRubinによって提案された潜在変数モデルです。

潜在変数モデルは、観測可能な変数と観測不可能な変数で構成されます。 観測された変数は測定可能な変数ですが、観測されていない(潜在/非表示)変数は観測された変数から推測されます。

トリオによって説明されているように、EMアルゴリズムを使用して、統計モデルの潜在変数(観測可能な変数から推測する必要がある観測不可能な変数)のローカル最尤(MLE)パラメーターまたは最大事後(MAP)パラメーターを決定できます。 これらの潜在変数に関連する確率分布の一般的な形式を知っている場合は、これらの値を予測したり、欠落または不完全なデータを判別したりするために使用されます。

簡単に言うと、機械学習のEMアルゴリズムの背後にある一般原則には、潜在変数の観測可能なインスタンスを使用して、学習では観測できないインスタンスの値を予測することが含まれます。 これは、値の収束が発生するまで行われます。

このアルゴリズムは、機械学習においてかなり強力なツールであり、多くの教師なしアルゴリズムの組み合わせです。 これには、他のEMアルゴリズムの変形の中でも、k-meansクラスタリングアルゴリズムが含まれます。

世界のトップ大学(修士、エグゼクティブ大学院プログラム、ML&AIの高度な証明書プログラム)からオンラインで機械学習コースに参加して、キャリアを早急に進めましょう。

目次

期待値最大化アルゴリズム

機械学習における期待値最大化アルゴリズムのメカニズムを調べてみましょう。

ソース

  • ステップ1:欠落または不完全なデータのセットと開始パラメーターの別のセットがあります。 観測データまたはパラメータの初期値は、特定のモデルから生成されたものと想定しています。
  • ステップ2:利用可能なデータの観測可能なインスタンスの観測可能な値に基づいて、データの観測不可能なインスタンスまたは欠落データの値を予測または推定します。 これは、期待ステップ(E –ステップ)として知られています。
  • ステップ3: E –ステップから生成されたデータを使用して、パラメーターを更新し、データセットを完成させます。 これは、仮説を更新するために使用される最大化ステップ(M –ステップ)として知られています。

ステップ2とステップ3は、収束するまで繰り返されます。 つまり、値が収束していない場合は、E –ステップとM –ステップを繰り返します。

ソース

EMアルゴリズムの長所と短所

EMアルゴリズムのデメリット
1 EMアルゴリズムを繰り返すたびに、尤度が確実に増加します。
2 期待ステップと最大化ステップはかなり簡単で、後者の解決策はほとんど閉じた形で存在します。
EMアルゴリズムの利点
1 期待値最大化アルゴリズムは、前方確率と後方確率の両方を考慮に入れます。 これは、前方確率のみを考慮に入れる数値最適化とは対照的です。
2 EMアルゴリズムの収束は非常に遅く、局所最適値に対してのみ行われます。

EMアルゴリズムのアプリケーション

潜在変数モデルには、機械学習における実際のアプリケーションがたくさんあります。

  1. 教師なしデータクラスタリングおよび心理測定分析で使用されます。
  2. また、関数のガウス密度を計算するためにも使用されます。
  3. EMアルゴリズムは、隠れマルコフモデル(HMM)パラメーターやその他の混合モデルの予測に広く使用されています。
  4. EMアルゴリズムは、自然言語処理(NLP)、コンピュータービジョン、および定量的遺伝学で多くの用途があります。
  5. EMアルゴリズムの他の重要なアプリケーションには、医学および構造工学の分野での画像再構成が含まれます。

ガウス混合モデルを使用してEMアルゴリズムを理解しましょう。

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

ガウス混合モデルのパラメーターを推定するには、確率分布がわかっている2つの別々のプロセスによって生成されたいくつかの観測変数が必要になります。 ただし、2つのプロセスのデータポイントは結合されており、それらがどちらの分布に属しているかはわかりません。

上で説明したように、EMアルゴリズムの最尤推定を使用してこれらの分布のパラメーターを推定することを目的としています。

使用するコード次のとおりです。

#密度を計算しなければならない関数が与えられた

#mu、sigmaが与えられた点x_iでのガウス:G(x_i、mu、sigma);

#対数尤度を計算する別の関数:L(x、mu、sigma、pi)

def Estimate_gmm(x、K、tol = 0.001、max_iter = 100):

”'GMMパラメータを推定します。

:param x:観測された実数値変数のリスト

:param K:ガウス数の整数

:param tol:対数尤度の許容される変更

:return:mu、sigma、piパラメータ

」」

#0。シータを初期化=(mu、sigma、pi)

N = len(x)

mu、sigma = [rand()] * K、[rand()] * K

pi = [rand()] * K

curr_L = np.inf

range(max_iter)のjの場合:

prev_L = curr_L

#1。Eステップ:責任= p(z_i = k | x_i、theta ^(t-1))

r = {}

範囲(N)のiの場合:

パーツ=[pi[k] * G(x_i、mu [k]、sigma [k])for i in range(K)]

合計=合計(パーツ)

kのiの場合:

r [(i、k)]=パ​​ーツ[k]/合計

#2。Mステップ:mu、sigma、pi値を更新します

rk = [sum([r [(i、k)] for i in range(N)])for k in range(K)]

範囲(K)のkの場合:

pi [k] = rk [k] / N

mu [k] = sum(r [(i、k)] * x [i] for i in range(N))/ rk [k]

sigma [k] = sum(r [(i、k)] *(x [i] – mu [k])** 2)/ rk [k]

#3。終了条件を確認します

curr_L = L(x、mu、sigma、pi)

abs(prev_L – curr_L)<tolの場合:

壊す

ムー、シグマ、パイを返す

Eステップでは、ベイズの定理を使用して、アルゴリズムの過去の反復から抽出された特定のデータポイントの期待値を決定できます。 Mステップでは、最尤法を使用して観測されていないインスタンスのプロキシを推定するために、潜在変数の値が固定されていると想定しています。 最後に、標準平均と標準偏差の式を使用して、ガウス混合モデルのパラメーターを推定します。

結論

これで記事は終わりです。 機械学習の概念の詳細については、 upGradの機械学習とAIプログラムの科学マスターを通じて、IIITバンガロアとリバプールジョンムーア大学のトップ教員に連絡してください。

これは18か月のコースで、450時間以上の学習コンテンツ、12以上の業界プロジェクト、10以上のCapstoneプロジェクトオプション、および10以上のコーディング割り当てを提供します。 また、業界の専門家による個別のメンターシップや、ライブセッションによるキャリアガイダンスカウンセリングもお楽しみいただけます。 次のバッチは2021年2月28日に始まります!

EMクラスタリングとはどういう意味ですか?

観測データの確率を最適化するために、EMクラスタリングを使用して、各クラスターの平均と標準偏差を推定します(分布)。 異なるクラスター内の個別の分布の組み合わせに基づいて、EMアルゴリズムは観測された値の分布を概算しようとします。 EMは、有限ガウス混合モデルを使用してデータをクラスター化し、目的の収束値に達するまでパラメーターのセットを繰り返し推定します。 EMクラスタリングでは、K-meansクラスタリングで得られた結果とは異なる結果が得られます。

EMアルゴリズムの実際のアプリケーションは何ですか?

医学の分野では、EMアルゴリズムが画像の再構成に使用されます。 また、隠れマルコフモデル(HMM)やその他の混合モデルのパラメーターを予測するためにも使用されます。 また、特定のサンプルで欠落しているデータを完成させるのにも役立ちます。 項目反応理論モデルの項目パラメーターと潜在能力は、心理測定学のEMを使用して推定されます。 また、構造工学の分野でも広く使用されています。

MLEアルゴリズムはEMアルゴリズムとどのように異なりますか?

隠れた変数が存在する場合、最尤推定プロセスは単にデータに挑戦します。 MLEは最初にすべてのデータを収集し、次にそれを利用して最も可能性の高いモデルを構築します。 潜在変数を使用すると、期待値最大化アルゴリズムは最尤推定の反復解を提供します。 EMは、最初にパラメータの知識に基づいた推定を行い、次に欠落データをチェックし、次に、知識に基づいた推測と観測データに合うようにモデルを変更します。