はじめに
『トピックモデル』(MLPシリーズ)の勉強会資料のまとめです。各種モデルやアルゴリズムを「数式」と「プログラム」を用いて解説します。
本の補助として読んでください。
この記事では、カテゴリモデルに対するMAP推定の数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
2.4 ユニグラムモデルのMAP推定の導出:パラメータ推定
ユニグラムモデル(unigram model)に対する最大事後確率推定(MAP推定・maximum a posteriori estimation)におけるパラメータの計算式を導出する。この節では、ハイパーパラメータに事前分布を設定せず、パラメータを推定する。
ユニグラムモデルの定義や記号については「2.2:ユニグラムモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」、ハイパーパラメータに事前分布を設定する(ハイパーパラメータを推定する)場合については「2.7:ユニグラムモデルのMAP推定の導出:ハイパーパラメータ推定【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
MAP解の計算式の導出
ここでは、単語分布のハイパーパラメータ を一様な値 として で表す( 次元ベクトルをスカラで表記する)。
MAP推定では、事後確率 を最大化するパラメータ を求める。
は、関数 を最大化させる引数(変数) を表す。また、単語分布のパラメータのMAP解を とする。
計算を簡単にするため、対数をとった事後確率 の最大化を考える。
ユニグラムモデルにおける事後確率は、尤度 と事前確率 を用いて、次の式で定義される。
途中式の途中式(クリックで展開)
- 1: ベイズ定理 より、確率変数(観測データ)とパラメータの条件関係を入れ替える。
ベイズの定理に当てはめなくても得られる。
- 1: 条件付き確率 より、項を分割する。
- 2: 連続型の確率変数の周辺化 より、周辺化されていたパラメータ を明示する。
- 3: 乗法定理 より、依存関係に従い項を分割する。
分母は、 を周辺化した周辺確率 であり、 に影響しない。
この式を式(1)に代入して、式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(1)の事後確率の項を事後確率の式(2.5)に置き換える。
- 2: 対数の性質 、 より、分数を分解する。
- 3: と無関係な周辺確率の項を省く。
- 4: ユニグラムモデルの定義(2.2節)より、尤度(文書集合の生成確率)と事前確率(ディリクレ分布)を具体的な式に置き替える。
ただし、一様なハイパーパラメータ なので、ディリクレ分布の正規化項の分子は、 個の の和が の 倍になる。
同様に分母は、 個の の積が の 乗になる。
- 5: 対数の性質 より、尤度と事前確率の項を変形する。
対数をとると積が和、べき乗が積になるので、尤度の項は次の式になる。
同様に、事前確率の項も変形する。
- 6: と無関係な正規化項を省く。
- 7-8: の項をまとめる。
尤度の式については「2.2:ユニグラムモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
に影響しない項は省ける。または、定数 としてまとめておくと偏微分の際に0になり消える。
事後確率を最大化するパラメータは
を最大化するパラメータを求めればよいことが分かった。
ラグランジュの未定乗数法を用いて、 の制約(カテゴリ分布のパラメータの条件)の下で式(2)が最大となる を求める。
途中式の途中式(クリックで展開)
- 1: ラグランジュ乗数 を用いて、最大化問題の対象である式(2)と制約条件(総和が1である)を含めて、 の関数 を立てる。
ラグランジュの未定乗数法については「1.1.11:ラグランジュの未定乗数法【『トピックモデル』の勉強ノート】 - からっぽのしょこ」を参照のこと。
関数 を に関して微分する。
途中式の途中式(クリックで展開)
- 1: の式全体の微分を考える。
- 2: 和の微分 より、項ごとの微分の和に分割する。
- 3-4: に関しての微分なので、それ以外の項 は定数として扱う。これを偏微分と言う。
前の項は、 番目の項のみが残る。
の係数は の外に出せ、定数の微分は(定数 を で微分すると) 、自然対数の微分は である。
同様に後の項は、 番目の項の係数のみが残る。
変数の微分は(変数 を で微分すると) である。
となる を求める。
途中式の途中式(クリックで展開)
- 1: を とおく。
- 2: について式を整理する。
この式の両辺で に関して和をとる。
途中式の途中式(クリックで展開)
- 1: に関して から まで和をとる。
- 2: 係数を の外に出す。
- 3: カテゴリ分布のパラメータ の定義より、 である。
- 3: 各語彙の出現回数 と総単語数 の関係より、 である。
- 3: 個の定数の和は 倍の定数である。
- 4: について式を整理する。
この式を式(3)に代入する。
語彙 に関するパラメータのMAP推定値の計算式が得られた。
他の語彙についても同様に求められるので、MAP解 は、次の 次元ベクトルになる。
分子(各語彙の出現回数とハイパーパラメータ)の総和が分母(総単語数と語彙数倍したハイパーパラメータ)に一致するので、カテゴリ分布(単語分布)のパラメータの条件(制約条件)を満たす。
ただし、ディリクレ分布のパラメータの条件は非負の値 であるが、観測のない語彙 の確率を非負の値 にするために、ハイパーパラメータを1以上の値 に設定する必要がある。
ちなみに、ハイパーパラメータとして多様な値を設定すると、MAP推定値は、次の式になる。
この記事では、ユニグラムモデルに対するMAP推定によるパラメータの計算式を導出した。次の記事では、実装してパラメータを推定する。
参考書籍
おわりに
加筆修正する際に「ユニグラムモデルの最尤推定」から分割したものになります。
2020.07.01:加筆修正しました。
- 2024.05.21:加筆修正の際に「ユニグラムモデルのMAP推定の実装」を分割しました。
【次節の内容】
- スクラッチ実装編
ユニグラムモデルに対するMAP推定(パラメータ推定)をプログラムで確認します。
- 数式読解編
ユニグラムモデルに対するベイズ推定を数式で確認します。
ユニグラムモデルに対するMAP推定(ハイパーパラメータ推定)を数式で確認します。