また、期待値最大化として知られているEMアルゴリズムは、(期待値最大、EMと称する)の基本的なアルゴリズムであるアルゴリズムは、そのような隠れマルコフ(HMM)、LDAトピックモデルとして機械学習アルゴリズムの多くの分野、変分推論アルゴリズムの基礎であります、ガウス混合モデルGMM、確率統計に基づくPLSAモデル。
EMアルゴリズムの概要(オリジナル)
私たちはしばしば、サンプルデータから観察したサンプルのモデルパラメータを見つけます。最も一般的な方法は、対数尤度関数の最大化モデル分布です。
しかし、いくつかのケースでは、観察結果は、我々は、未知の基礎データとモデルパラメータを持っているので、直接の偉大な数の分布の尤度関数パラメータモデルを得ることができないデータは、この時点では観察されなかった得る暗示しています。そして、あなたはEMアルゴリズムを使用することができます。
我々は直接分布定数モデルを得ることができないので、この考えを解決するためにEMアルゴリズムは、我々が最初に観察されたデータと推測に基づく暗黙的なデータ(EMアルゴリズムのEステップ)、その後、暗黙のデータを推測することができ、ヒューリスティック反復法を使用することです対数尤度を最大化するために一緒に働く、私たちはモデルパラメータ(EMアルゴリズムのMステップ)を解きます。私たちの前に隠されたデータは推測するので、この時点で得られたモデルのパラメータは、一般的に私たちが望む結果ではありません。しかし、気にしない、我々は暗黙的なデータ(EMアルゴリズムのEステップ)、その継続的な憶測に基づいて、現在のモデルのパラメータを取得した後、対数尤度を最大化するために引き続き、我々はモデルパラメータ(M EMアルゴリズムのステップ)を解きます。ように、継続的な反復は分布定数モデル本質的に変化するまで、アルゴリズムの収束は、右のモデルパラメータを見つける続けています。
以上の説明から分かるように、アルゴリズムは、各反復において2つのステップ、EステップおよびMステップに分割されているが、EMアルゴリズムは、最大値を解くための反復アルゴリズムです。反復して更新データのラウンドは、我々が必要とするモデルパラメータを取得するために、収束するまで隠しパラメータモデルを配布しました。
EMアルゴリズムの考え方の中で最も直感的な理解の一つは、K平均アルゴリズムです。K平均クラスタリングは、各クラスタのクラスタの重心は、暗黙的データである場合。我々は仮定Kの初期化、すなわち重心、EMアルゴリズムのEステップと、その後、重心に最も近い各サンプルと最も近い重心にこのサンプルのクラスタ、EMアルゴリズム、すなわち、M-ステップについて計算します。質量の中心は、このようにK平均クラスタリングを完了し、変化しなくなるまで、この手順EおよびMステップを繰り返します。
もちろん、K平均アルゴリズムは比較的単純で、実用上の問題は、多くの場合、それほど単純ではありません。EMアルゴリズムの面の説明は、私たちは、正確な数学的な記述言語を必要とする、まだ非常に荒いです。
EMアルゴリズムの導出
ためのm個のサンプルがデータ観察X = (X (1 )、X (2 )、。。。X (メートル))、試料は、モデルP(X、Z)のパラメータを見つけるためにθを以下のように、対数尤度関数です。
そこ暗黙モデル関数zは= (Z (1 )、Z (2 )、。。。Z (M )この時間は、Qの導入(Z)確率変数は、パラメータ推定に直接的に便利ではないので(I)ではないことに注意します)単に機能を導入し、この関数はZおよびQ(Zの分布である(I))≥0次のように、元の対数尤度関数は同じで、我々は(2)の変換式を作ることができるようにするためです。
(3)ジェンセンの不等式のステップを使用して。
ジェンセンの不等式:fが凸関数である場合:
ステップ不等式(3)最初のために、我々は、必要な条件が満たされる満たすために等しいです。
cが一定であり、理由は次のとおりです。
これは、導入することができます。
如果Qi(z(i))=P(z(i)|x(i);θ)), 则第(3)式是我们的包含隐藏数据的对数似然的一个下界。如果我们能极大化这个下界,则也在尝试极大化我们的对数似然。即我们需要最大化下式:
去掉上式中为常数的部分,则我们需要极大化的对数似然下界为:
上式也就是我们的EM算法的M步,那E步呢?注意到上式中Qi(z(i))是一个分布,因此可以理解为logP(x(i),z(i);θ)基于条件概率分布Qi(z(i))的期望。
EM算法的流程总结:
输入:观察数据x=(x(1),x(2),...x(m)),联合分布p(x,z;θ), 条件分布p(z|x;θ), 最大迭代次数J。
1) 随机初始化模型参数θ的初值θ0。
2) for j from 1 to J开始EM算法迭代:
a) E步:计算联合分布的条件概率期望:
Qi(z(i))=P(z(i)|x(i),θj)
b) M步:极大化L(θ,θj),得到θj+1:
c) 如果θj+1已收敛,则算法结束。否则继续回到步骤a)进行E步迭代。
输出:模型参数θ。
关于EM算法的收敛性可以参照此博文的EM算法的收敛性思考。
补充:
如果我们从算法思想的角度来思考EM算法,我们可以发现我们的算法里已知的是观察数据,未知的是隐含数据和模型参数,在E步,我们所做的事情是固定模型参数的值,优化隐含数据的分布,而在M步,我们所做的事情是固定隐含数据分布,优化模型参数的值。