EMアルゴリズム
EM アルゴリズムは,不完全データに基づく統計モデル一般に適用される,最尤推定量を導出するためのアルゴリズムです. もともと,「不完全データ・完全データ」という概念は欠損データの問題に対処するために立てられましたが,定義を拡張することで,切断データ・打ち切りデータ・混合分布モデル・ロバスト分布モデル・潜在変数モデル・ベイズモデルなどにも適用できます.
クラスタリングや教師なし学習に用いられる多くの手法(例:k-means,混合ガウス分布モデル)は,計算過程に着目するとEMアルゴリズムとして一般化できます.さらに,情報幾何の観点からEMアルゴリズムを解析した研究も盛んで,指数分布族をもつ確率モデルに対するEMアルゴリズムの適用は,e-射影/m-射影という形式でまとめられます.
1. 統計的推測
目的:ある変数 が従う確率分布 を求めたい.
このとき,パラメータで決定される確率モデルを考え,コのデータサンプル から最適なパラメータ を選ぶことで
$$ x \sim q(x) \approx p(x|\theta) $$
という近似式を成り立たせたい.これを統計的推測(推定)という.
2. 最尤推定
統計的推測の最も基本的なアルゴリズムは最尤推定である.対数尤度関数:
$$ \ell(\theta | x) := \log p(x | \theta) $$
を定義して,コのデータサンプル から,
$$ J(\theta) := \frac{1}{n} \sum_{i=1}^{n} \ell(\theta | x_i), ~~~ \hat{\theta}_{MLE} = \underset{\theta \in \Theta}{\rm argmax} ~ J(\theta) $$
を解けば,パラメータ の最尤推定量 を求めることができる.
3. EMアルゴリズム
- 完全データ :
- 観測不可能だが,求めたい確率分布p(x)に完全に従うデータ.
- 不完全データ :
- 観測可能だが,求めたい確率分布p(x)に完全に従わないデータ.
を考える.完全データ と不完全データの関係は一般に「1() 対 多()」となるが,ここでは応用上都合の良い仮定として,潜在変数 を用いてこれを表す.すなわち, と仮定する.
このとき,完全データ の確率モデル:
$$ p(x | \theta) = p(y, z | \theta) $$
を考える,ここで,変数 のデータサンプルは観測できないため尤度関数 は計算できないが,変数 のデータサンプルは観測できることを利用して,
$$ \begin{eqnarray} p(y | \theta) &=& \int_{Z} p(x | \theta) ~ dz \\ &=& \int_{Z} p(y, z | \theta) ~ dz \end{eqnarray} $$
という量を考える.このとき,
ための計算法としてEMアルゴリズムが登場する.具体的には以下の通り.
- 初期値を与える.
- For each step :
E step
期待値(Expectation)を計算する. $$ Q(\theta | \theta^{(t)}) = \mathbb{E}_{x \sim p(x|\theta)} \left[ \log p(x|\theta) | y, \theta^{(t)} \right] $$M step
期待値 を最大化(Maximzation)するパラメータを求める. $$ \theta^{(t+1)} = \underset{\theta \in \Theta}{\rm argmax} ~ Q(\theta | \theta^{(t)}) $$- 収束した値 を推定値 とし,確率モデル を得る.
E step と M step で行う計算をまとめると,
- EM step
$$ \begin{eqnarray} \theta^{(t+1)} &=& \underset{\theta \in \Theta}{\rm argmax} ~ \mathbb{E}_{x \sim p(x|\theta)} \left[ \log p(x | \theta) | y, \theta^{(t)} \right] \\ &=& \underset{\theta \in \Theta}{\rm argmax} ~ \mathbb{E}_{(y,z) \sim p(y,z|\theta)} \left[ \log p(y, z | \theta) | y, \theta^{(t)} \right] \\ &=& \underset{\theta \in \Theta}{\rm argmax} ~ \mathbb{E}_{z | {\theta}^{(t)} \sim \int_{Y} p(y,z | {\theta}^{(t)}) dy} \left[ \log p(y, z | \theta) \right] \\ \end{eqnarray} $$
となる.
参考文献
- 9章 EMアルゴリズム - 「21 世紀の統計科学」第 III 巻 日本統計学会, 2008
- 解説 EMアルゴリズムの幾何学 - 赤穂昭太郎, 電子技術総合研究所
- EMアルゴリズムと神経回路網, 2000, 統計数理研究所
サーモス 真空断熱タンブラー 2個セット 400ml ステンレス JDI-400P S
- 発売日: 2017/03/01
- メディア: ホーム&キッチン