欠損データの正しい処理方法
EMアルゴリズム(英: expectation–maximization algorithm)とは、統計学において、確率モデルのパラメータを最尤推定する手法の一つであり、観測不可能な潜在変数に確率モデルが依存する場合に用いられる。EM法、期待値最大化法(きたいちさいだいかほう)[1][2]とも呼ばれる。その一般性の高さから、機械学習、音声認識、因子分析など、広汎な応用がある[1]。
EMアルゴリズムは反復法の一種であり、期待値(英: expectation, E) ステップと最大化 (英: maximization, M)ステップを交互に繰り返すことで計算が進行する。Eステップでは、現在推定されている潜在変数の分布に基づいて、モデルの尤度の期待値を計算する。Mステップでは、E ステップで求まった尤度の期待値を最大化するようなパラメータを求める。M ステップで求まったパラメータは、次の E ステップで使われる潜在変数の分布を決定するために用いられる。
概要
[編集]セッティング・目標
[編集]今、2値x、zを取る確率分布があり、その確率分布の確率密度関数�(�,�|�)が未知の母数�∈��によりパラメトライズされているとする。ここで�は実数全体の集合を表す。
そして�(�,�|�)に従って標本(�1,�1),…,(��,��)を独立に抽出したものの、何らかの事情で�=(�1,…,��)の値は観測できず、�=(�1,…,��)だけが観測できたとする。実応用上は例えば、�=(�1,�2)という形をしており、まず観測不能な��∼�1(�|�1)が選ばれた後、��に依存して観測可能な��∼�2(�|�2,��)が選ばれる、といったケースにEMアルゴリズムが使われる事が多いが、必ずしもこのケースにあてはまらなくてもよい。
簡単の為、記号を混用してX、Zの同時確率分布の確率密度関数も�(�,�|�)と書く。以下ではZが離散変数の場合について説明するが、Zが連続変数の場合も総和を積分に置き換える以外は同様である[3]。
このような状況において母数θを最尤推定する事が我々の目標である。しかしZを知らない場合の�=(�1,…,��)に関する対数尤度
- ℓ(�|�):=log�(�|�)=log∑��(�,�|�)
を最大値を直接計算するのは一般には簡単ではない。
EMアルゴリズムは、反復法により、数列�^(�)で対数尤度ℓ(�^(�)|�)が単調非減少であるものを作るアルゴリズムである。最尤推定量を�^MLEとすると、
- ℓ(�^MLE|�)≥ℓ(�^(�)|�)
である事から、ℓ(�^MLE|�)が有限であればℓ(�^(�)|�)の単調性よりℓ(�^(�)|�)は必ず収束する。
アルゴリズム
[編集]EMアルゴリズムでは、以下の手順により数列�^(0),�^(1),…を作る[3]。
- 初期値�^(0)を(何らかの方法で)選ぶ。
- �=0,1,…に対して以下を実行する
- E ステップ: �(�|�,�^(�))を求める。
- M ステップ: �^(�+1)=argmax� �(�|�^(�))を求める。
ここでQは対数尤度関数log�(�,�|�)のZに関する条件付き期待値
- �(�|�(�)):=E�|�,�^(�)[log�(�,�|�)]=∑��(�|�,�^(�))log�(�,�|�)
である。実応用上は、�^(�)の値が十分小さくなったと判定する何らかの条件を事前に定めておき、その条件を満たしたら上述のループを終了する。ループを終了する条件は、パラメータ値や対数尤度関数を使って定められる[3]。
留意点
[編集]EステップとMステップの切れ目は書籍により異なるので注意が必要である。本項では次節の議論と整合性をとる為に文献[3]の切れ目に従ったが、文献[4]では�(�|�^(�))を計算する所までがEステップであり、�(�|�^(�))のargmaxを取るところだけがMステップである。
ステップの名称「E」と「M」はそれぞれExpectation(期待値)、Maximization(最大化)の略であり[4]、文献[4]のようにEステップで�(�|�^(�))を求める為に期待値を計算し、Mステップで�(�|�^(�))のargmaxを取るところに名称の由来がある。
動作原理
[編集]EMアルゴリズムで我々が求めたいのは、�=(�1,…,��)を観測した際における対数尤度
- ℓ(�|�):=log�(�|�)
を最大化する母数�であった。EMアルゴリズムの動作原理を説明する為、以下のような汎関数を考える:
- �(�,�):=∑��(�)log�(�,�|�)�(�) ...(Eq.1)
ここで�(�)は任意の確率密度関数である。��,�(�):=�(�|�,�)とすると、�(�|�,�)�(�|�)=�(�,�|�)より、カルバック・ライブラー情報量
- KL(�||��,�)=−∑��(�)log�(�|�,�)�(�)
を使って
- �(�,�)=ℓ(�|�)−KL(�||��,�) ...(Eq.2)
と書ける事が分かる。カルバック・ライブラー情報量が常に非負である事(ギブスの不等式)から、
- ℓ(�|�)≥�(�,�)
であるので、�(�,�)はℓ(�|�)の下限になっている。EMアルゴリズムはこの下限�(�,�)を逐次的に改善していくことで、ℓ(�|�)を可能な限り最大化するアルゴリズムである。すなわち、EステップとMステップは以下のように書き換えられる事を示す事ができる[3]:
- E ステップ: �^(�)=argmax��(�,�^(�))を求める。
- M ステップ: �^(�+1)=argmax��(�^(�),�)を求める。
この事実から対数尤度ℓ(�^(�)|�)の単調非減少性が明らかに従う。 (但し反復法の常として、初期値しだいでは尤度の最大点ではない極大点に到達してそこで停止する可能性がある。)
証明
[編集]本節ではEステップ、Mステップが上述のように書き換えられることを示す。本節の証明は文献[3]を参考にした。
Eステップの証明
[編集]カルバック・ライブラー情報量KL(�||��,�)が最小値0になるのは�=��,�の場合だけであった事から、(Eq.2)より�(�,�)は
- �(�)=�(�|�,�)
が満たされる場合に最大値を取る。すなわちEMアルゴリズムにおけるEステップは、�=�^(�)を固定したままの状態で、�(�,�)を最大化する�である
- �^(�):=��,�^(�)=argmax��(�,�^(�))
を求めるステップである。
Mステップの証明
[編集]�(�,�)の定義式(Eq.1)に�^(�)=��,�^(�)を代入すると、
- �(�^(�),�)=∑��(�|�,�(�))log�(�,�|�)�(�|�,�(�))=�(�|�(�))−��,�(�)(�)
が成立し(ここで��,�(�)(�)=∑��(�|�,�(�))log�(�|�,�(�))は条件付きエントロピー)、上式右辺第二項はθに依存しないので、
- �^(�+1)=argmax��(�|�^(�))=argmax��(��,�^(�),�)
が成立する。
一般化
[編集]EMアルゴリズムは観測データの対数尤度を、E ステップとM ステップの繰り返しにより最大化するアルゴリズムであるので、正確にはlog-EMアルゴリズムというべきものである。log関数にはα-logとよばれる一般化された対数があるので、それを用いるとlog-EMを特例として含むアルゴリズムを作り上げることができる。ただし、この場合は尤度ではなくてα-log尤度比とαダイバージェンスを用いて基本等式を導くことになる。このようにして得られたものがα-EMアルゴリズム [5] であり、log-EMアルゴリズムをサブクラスとして含んでいる。α-EMアルゴリズムは適切なαを選ぶことにより、log-EMアルゴリズムよりも高速になる。また、log-EMが隠れマルコフモデル推定アルゴリズム(Baum-Welchアルゴリズム)を含んでいるように、α-EMアルゴリズムから高速なα-HMMアルゴリズムを得ることができる。 [6]
歴史
[編集]EMアルゴリズムは、アーサー・デンプスター、ナン・レアード、ドナルド・ルービンによる1977年の論文[7]で導入され、その名が付けられた。彼らは、EMアルゴリズムがほかの複数の著者によって「特殊な文脈でなんども提案されてきた」("proposed many times in special circumstances") ことを述べた上で、EMアルゴリズムの一般化を行い、その背後にある理論を追求した。
本来のEMアルゴリズムでは、期待値の評価において潜在変数のとりうる値すべてを列挙することが必要なため、効率的に扱える分布が限られていた。しかしその後、マルコフ連鎖モンテカルロ法や変分ベイズ法が考案されたことにより、より一般の分布でも現実的な時間での計算が可能になった[1][8]。
2025年3月2日 | カテゴリー:基礎知識/物理学、統計学、有機化学、数学、英語 |