前回の最尤推定法に引き続き、ITエンジニアのための機械学習理論入門で勉強したのでメモ。今回は7章のEMアルゴリズム。
ベルヌーイ分布での最尤推定
N 個の観測点 が与えられて、観測点は D 次元の2値ベクトルとする。つまり 。
各次元はベルヌーイ分布に従うと仮定したとき、 である確率 ] をパラメータとして の確率密度関数は
パラメータベクトルを とすると、X の確率密度関数は
このとき、観測データ の尤度関数は
これを最大化するパラメータは手を動かせば解くことができて、以下の通り
混合ベルヌーイ分布での最尤推定
X が複雑で1つのベルヌーイ分布では表現できない場合でも、K 個のベルヌーイ分布を組み合わせて表現できる場合がある。
そこで、K 個のパラメータ を用意し、X が k 番目のベルヌーイ分布 で表現される確率 (such that )を新しいパラメータとして導入する。
このとき、X の確率密度関数(i.e., 混合ベルヌーイ分布)は
同様に、観測データ の尤度関数は
これを最大化するパラメータは厳密に解くことができないので、EMアルゴリズムを使って極大化するパラメータを探索する。
EMアルゴリズム
観測点 が k 番目のベルヌーイ分布から得られる確率 を負担率といい、以下のように定義する。
EMアルゴリズムでは、まずパラメータ を任意の値で初期化し、以下のEMステップを繰り返すことで負担率とパラメータを更新する。
- Eステップ:パラメータ を固定し、上の式で負担率 を更新
- Mステップ:負担率 を固定し、以下の式でパラメータ を更新
このステップを繰り返すことで、尤度関数の値が単調増加し極大値に到達することが証明できる。実用では、尤度関数の値がある閾値に到達した時点で更新を打ち切る。
棚上げしたこと
教科書では潜在変数やベイズを導入せずに負担率を直感的にうまく説明していた。今回のメモでも同様にまとめているが、これは単純に自分がその辺りを理解できていないだけ。EMステップで極大値に到達する理由と更新式のお気持ちもちゃんと勉強する必要がある。とりあえず金森先生の本をポチってみた。PRMLはまだ怖い。