はじめに
『トピックモデル』(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推定(パラメータ推定)をプログラムで確認します。