EMアルゴリズム
あるフィットネスクラブにおける利用者の年齢分布のヒストグラムを考えると,筋トレを目的とした20代層とメタボ対策を目的とした50代層がおおきくなることが考えられる.
モデル化を考えた場合,このグラフの会員を2つのグループに分けそれぞれについて正規分布の最尤推定を行うことで2つの正規分布を得て,それらを重ね合わせて混合ガウスモデルを作成することを考える.
ここで,30代層は2つの山の裾野が重なる領域となるため扱いに困る.そこで,会員の目的は筋トレとメタボ対策の可能性が半分ずつとみなす.このように会員がどれだけの可能性で各潜在クラスjに所属するのかを負担率$r_{ij}$とよび,負担率をパラメータ推定の重みとしてかける.
負担率に基づく2つの正規分布のパラメータ推定と,2つの正規分布にもとづく負担率の計算を交互に行っていけば,次第に両者が良い値に近づくだろうというのがEMアルゴリズムの基本的な考え方となっている.
混合ガウスモデル
複数の正規分布が重なり合って作られる混合ガウスモデルを用いて潜在変数変数を含むモデルをどう定義するかをまとめる.
Q関数
$$p(x,z|\theta)=\Pi_{i=1}^np(x^{(i)},z^{(i)}|\theta)$$
観測変数xと潜在変数zの値を共に知ることができるという仮想的な状況におけるデータを完全データとよび,観測変数xの値のみしかわからない状況におけるデータを不完全データとよぶ. $p(x,z|\theta)$は完全データについて同時分布である. zは未知の値であるが,パラメータの推定量$\hat{\theta}$と観測値により決まる$p(z|x,\hat{\theta})$を使って完全データ$\log p(x,z|\theta)$の期待値を求めたものをQ関数と呼ぶ.
$$Q(\theta,\hat{\theta})=\mathbb{E}_{p(z|x,\hat{\theta})}[\log p(x,z|\theta)]=\int p(z|x,\hat{\theta})\log p(x,z|\theta)dz$$
Q関数は完全データの対数尤度の期待値であり,EMアルゴリズムではQ関数の最大化を考える
EMアルゴリズムによる混合ガウスモデルのパラメータ推定の更新式
参考
- 手塚 太郎,"しくみがわかるベイズ統計と機械学習"