最尤推定と確率モデル
導入
パラメータ によってパラメータ化された確率分布 があるとする。この確率分布からi.i.d.にデータセット が得られたとする。このデータセットが得られる確率を尤度(likelihood)と呼び、以下のように定義される。尤度にもとづく統計的推定の基礎はFisherによって整理された。
これはi.i.d.の仮定に基づいている。今回、この が得られたのは稀なことではなく自然なことであると考えると、この尤度を最大化するようなパラメータ を見つけることが重要である。これを最尤推定(maximum likelihood estimation)と呼ぶ。数値計算上、尤度の対数を取ることが一般的である。これを対数尤度(log-likelihood)と呼び、以下のように定義される。
対数関数は単調増加関数であるため、対数尤度を最大化することは尤度を最大化することと同値である。
Bernoulli分布の最尤推定
さて、例としてBernoulli分布を考える。Bernoulli分布は、確率 で1を、確率 で0を生成する分布である。データセット がBernoulli分布から得られたとする。このとき、1回の観測 に対して
となる。したがって、データセット全体の対数尤度は
となる。ここで、 に対してこの対数尤度の停留点を求めるために、対数尤度を で微分して と置く。
この が の最尤推定量である。ただし、上の微分による議論は の内部解を仮定している。全ての観測が または の場合は停留点が内部に存在せず、最尤推定値は境界 または になる。上の式は標本平均として、この境界の場合も含んでいる。実際には停留点が全域で最大値であることも確認する必要がある。
正規分布の最尤推定
次に、Gaussian分布を考える。Gaussian分布は、 によってパラメータ化された分布で、以下のような確率密度関数を持つ。ここでは多次元Gaussian分布を考え、その次元を とする。共分散行列 は対称正定値行列である。
は平均ベクトル、 は共分散行列である。いま、i.i.d.なデータセット がGaussian分布から得られたとする。このとき、データセット全体の対数尤度は
となる。ここで、 に対してこの対数尤度の停留点を求めるために、対数尤度をそれぞれ で微分して と置く。まずは について考える。
なので、対数尤度を で微分すると
となる。最後の変形では が正則であることを用いて左から掛けた。したがって、 の最尤推定量は
である。次に、 について考える。以降の行列微分は、スカラー関数の微分を変数と同じ形の行列で並べる記法(分母レイアウト; denominator layout)で書く。行列微分ではレイアウトの規約によって転置の現れ方が変わるため、規約を意識する必要がある。 そもそも一般的な行列 の行列式 の微分をまず考える。 は 要素の余因子 を用いて
である。これは第 行の余因子展開である。これをある成分 で微分すると
である。したがって、 の微分は
となる。ここで、 は余因子 を同じ 位置に並べた行列である。随伴行列を と書けば、逆行列の公式は である。したがって、
とできる。次に二次形式の部分 の微分を考える。ここで、 である。これはスカラーであるので、
となる。ここで、 の 成分 について微分すると、
であるが、 は対称行列であるので、 成分は 成分と等しい。したがって、
となる。これらを用いて、対数尤度を で微分し、零行列とすると
である。以上で、Gaussian分布の平均ベクトル と共分散行列 の最尤推定量は
であることがわかった。
正規混合モデル
Gaussian分布の混合モデルは、 個のGaussian分布の線形結合で表される分布である。すなわち、 に対する確率密度関数は
と表される。ここで、 は混合係数と呼ばれるベクトルで、 かつ を満たす。正規混合の考え方はPearsonによる二つの正規曲線の分解に遡り、混合分布の最尤推定とEMアルゴリズムによる扱いはRedner and Walkerに整理されている。 は平均ベクトルの集合、 は共分散行列の集合である。いま、i.i.d.なデータセット がGaussian分布の混合モデルから得られたとする。このとき、最尤推定は解析解を持たない。なぜなら、対数尤度を考えると対数内に積ではなく和があるためである。また、勾配法を用いた最適化も困難である。例えば、データセットのデータ点 に対し、1つのGaussian分布が極めて小さい分布をもちデータ点に分布が集中するように設定できる。
こうすると、そのGaussian分布の共分散を に近づけることで、データセットに対する尤度を任意に大きくできる。したがって、制約なしの正規混合では尤度が上に有界でない場合があり、大域的な最尤推定量が通常の意味で存在しないことがある。この点は、初期値に依存した局所解が多いという問題とは区別する必要がある。
EMアルゴリズム
そこで、Gaussian分布の混合モデルの最尤推定には、EMアルゴリズム(Expectation-Maximization Algorithm)が用いられることが多い。EMアルゴリズムは、隠れ変数を導入して対数尤度を最大化する反復的な手法である。 一般にあるパラメータ によってパラメータ化された確率分布 があるとする。ここで、 は観測変数、 は隠れ変数である。もし手元に隠れ変数 の値があれば、対数尤度は
となる。隠れ変数 の個々の値は観測されないため、この完全データの対数尤度を について平均する。真のパラメータはまだ分からないので、現在のパラメータ から得られる事後分布 を用いる。したがって、対数尤度の についての期待値は
となる。この 関数は、 というパラメータを現在のパラメータ に対して評価する関数である。EMアルゴリズムは、 関数を最大化するような を見つけることを繰り返すことで、対数尤度を最大化することを目指す。
EMアルゴリズムではこれを2つのステップに分けて考える。
- Eステップ(Expectation Step): 関数を計算するステップである。すなわち、 を用いて の確率分布 を計算し、その分布に基づいて を計算する。
- Mステップ(Maximization Step): 関数を最大化する を見つけるステップである。すなわち、 を計算する。
このアルゴリズムによって、対数尤度は単調に増加することが保証されている。 の確率分布 を用いると
となる。ここで、 は、変分下界(ELBO)と呼ばれる関数になる。EMアルゴリズムをこの下界の交互最大化として見る立場は、Neal and Hintonによっても整理されている。 対数尤度と変分下界の差は、
となり、対数尤度はELBOとKLダイバージェンスの和で表されることがわかる。KLダイバージェンスは二つの確率分布の差を測る情報量として導入された。
さて、この式に を代入したものを考える。 が固定なら式の左辺は定数であるので、 を最大化する はKLダイバージェンスを最小化する である。これは明らかに
である。したがって、Eステップは 関数を計算するステップであると同時に、ELBOを最大化する を見つけるステップでもある。次に に固定すると は
となる。第2項は に依存しない定数である。したがって、Mステップは 関数を最大化する を見つけるステップであると同時に、ELBOを最大化する を見つけるステップでもある。以上より、EMアルゴリズムは以下のように再解釈できる。
- Eステップ: ELBOを最大化する を見つけるステップ( )
- Mステップ: ELBOを最大化する を見つけるステップ( )
正規混合モデルへの適用
これをGaussian分布の混合モデルに適用してみる。Gaussian分布の混合モデルは 個のGaussian分布の線形結合で表される分布であったが、あるデータ がある一つのGaussian分布から生成されたと仮定することができ、これを隠れた確率変数 で表す。 はいわゆるonehotベクトルであり、生成元のインデックス について第 成分が1、他の成分が0である。このとき、データセット がGaussian分布の混合モデルから得られたとすると、完全データ(隠れ変数が と同時に観測される状態)の尤度(同時確率)は
と表せ、全データセットの完全データの対数尤度は
となる。ここでパラメータは である。
さて、現在パラメータ として が存在する。このとき、Eステップでは を計算する。あるデータが第 番目のGaussian分布から生成された確率は、ベイズの定理を用いて
と表される。分母は全てのGaussian分布についてそこから生成された確率の和であり、分子は第 番目のGaussian分布から生成された確率である。これを としておく。これは負担率(responsibility)と呼ばれるものである。したがって、Q関数は
であり、
である。したがって、Q関数は
となり、元々の対数尤度の式の隠れ変数を現在のパラメータとあるデータ点で計算した負担率で置き換えたものに一致する。
さて、MステップではこのQ関数を最大化する を見つける必要がある。 を分解すると以下のようになる。
第1項は にのみ依存し、第2項は にのみ依存する。したがって、 を最大化する は、それぞれ第1項と第2項を最大化する と である。第1項を最大化することをまず考える。 とおくと
である。ラグランジュの未定乗数法を用いて、ラグランジュ関数を
と定義する。これを で微分して と置くと
となる。さらに、 が確率ベクトルであることから が求まる。
次に、第2項を最大化する を見つけることを考える。第2項は 個の項の和であるが、各項は異なる に依存している。したがって、各項を独立に最大化すればよい。すなわち、以下の問題を考える。
この問題は、データセット がGaussian分布から得られたときのGaussian分布の最尤推定の問題と同じ形をしている。異なるのは、データ点 が重み をもっていることであるが、これは些細な違いである。
なので、 に対してこの式の停留点を求めるために、式をそれぞれ で微分して と置く。
したがって、Gaussian分布の混合モデルのEMアルゴリズムは以下のようになる。
- Eステップ\
を計算する。
- Mステップ:
を計算する。ここで、 である。 3. と置いて、1に戻る。実際には対数尤度やパラメータの変化が十分小さくなった時点で停止する。