はじめに
『ベイズ推論による機械学習入門』(MLSシリーズ)の独学時のノートです。各種のモデルやアルゴリズムについて「数式・プログラム・図」を用いて解説します。
本の補助として読んでください。
この記事では、カテゴリ分布に対するベイズ推論の数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
3.2.2 カテゴリ分布のベイズ推論の導出
カテゴリモデル(Categorical model)に対するベイズ推論(Bayesian inference)を導出する。カテゴリモデルでは、尤度関数をカテゴリ分布(Categorical distribution)、事前分布をディリクレ分布(direchlet distribution)とする。
カテゴリモデルについては「3.2.2:カテゴリモデルの生成モデルの導出【緑ベイズ入門のノート】 - からっぽのしょこ」、カテゴリ分布については「カテゴリ分布の定義式 - からっぽのしょこ」を参照のこと。
事後分布の導出
まずは、カテゴリ分布のパラメータ の事後分布(posterior distribution)を導出する。
ディリクレ分布については「ディリクレ分布の定義式 - からっぽのしょこ」を参照のこと。
観測データ が与えられた(条件とする)下でのパラメータ
の条件付き分布(事後分布)を求める。
途中式の途中式(クリックで展開)
- 1: ベイズの定理
より、観測変数
を条件に移した式を立てる。
事後分布は、 の結合分布と
の周辺分布を用いて、次のようにも求められる。
1行目では、条件付き分布 より、
を条件に移している。
2行目では、周辺化 した
を明示している。
3行目では、 の依存関係に従い項を分割している。
生成モデル(結合分布)については「生成モデルの導出」を参照のこと。
- 2:
と無関係な項を省く。
- 3: 観測データ集合
の生成確率を、各データ
の生成確率の積に分解する。
- 4: カテゴリモデルの定義より、尤度関数をカテゴリ分布、事前分布をディリクレ分布に置き換える。
周辺分布(分母)は に影響しないため省いて、比例関係のみに注目する。省略した項については、最後に正規化することで対応できる。
両辺の対数をとり、指数部分の計算を分かりやすくして、 に関して式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(3.25)に関して、対数をとった式を立てる。
- 2-3: 自然対数の性質
、
より、分数の項を展開する。
対数の性質より、総乗 の対数をとると、対数の総和
になる。
- 3:
と無関係な項を
とおく。
- 4: カテゴリモデルの定義より、尤度関数をカテゴリ分布、事前分布をディリクレ分布に置き換える。
に影響しない項を
とおく。省略した項については、最後に正規化することで対応できる。
右辺の各分布に具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はカテゴリ分布、事前分布はディリクレ分布を仮定しているので、それぞれ定義式に置き換える。
ここで、 は、ディリクレ分布(事前分布)の正規化項である。(式変形に影響しないので簡易的に表記している。)
- 2: 自然対数の性質
、
より、定義式の項を展開する。
- 3:
に関する総和
の項をまとめる。
- 4:
の項をまとめる。
適宜、 に影響しない項を
にまとめている。
事後分布の式(3.26)について、次のようにおく。
式(3.26)について、 で置き換える。
さらに、 を外して
を正規化項に置き換える(正規化する)と、事後分布は式の形状から、パラメータ
のディリクレ分布であることが分かる。
の事後分布の式が得られた。
ここで、 は、ディリクレ分布(事後分布)の正規化項である。
また、式(3.28)が、事後分布のパラメータ(超パラメータ) の計算式(更新式)である。
以上で、カテゴリモデルにおける事後分布を導出した。
スポンサードリンク
予測分布の導出
次は、カテゴリ分布に従う未観測データ の予測分布(predict distribution)を導出する。
事前分布による予測分布
事前分布(観測データによる学習を行っていない の分布)を用いた予測分布(事前予測分布)を求める。
途中式の途中式(クリックで展開)
- 1: 未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: カテゴリモデルの定義より、尤度関数をカテゴリ分布、事前分布をディリクレ分布に置き換える。
事前予測分布は、未知のデータ の生成分布(3.23)と、パラメータ
の事前分布(3.24)を用いた、
の周辺分布である。
右辺の各分布について具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はカテゴリ分布、事前分布はディリクレ分布を仮定しているので、それぞれ定義式に置き換える。
- 2:
と無関係な項を
の外に出す。
- 2:
に関する総和
の項をまとめる。
- 3: 指数の性質
より、
の項をまとめる。
に関する積分の項に注目すると、パラメータ
の正規化項のないディリクレ分布の形をしている。
次元ベクトルを(
個の要素をまとめて)
で表す。
この積分の項は、ディリクレ分布の正規化項の逆数
に変形できる(そもそも確率分布の関数(正規化項以外)の項を積分した逆数が正規化項である)。
予測分布の式(2)について、正規化項の逆数の式(3)で置き換える。
右辺の各正規化項について具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: ディリクレ分布の正規化項(2.49)より、それぞれ置き換える。
- 2:
に関する総和
の項を分割すると、カテゴリ分布の変数
は1 of K表現のベクトル(1つの要素のみが1で他の要素は0)なので、
である。
- 3: ガンマ関数の性質
より、ガンマ関数の項を分割する。
- 4: 約分して、式を整理する。
カテゴリ分布の変数 の各項
は0か1の2値しかとらないため、場合分けしてこの式を整理する。
の(
番目の項が1となる)とき、式(3.30)は
途中式の途中式(クリックで展開)
- 1:
に関する総乗
から、
番目の項を取り出して、
番目以外
の項の積を
で表す。
- 2: 式(3.30)に
を代入する。
- 2: ガンマ関数の性質より、ガンマ分布の項を分割する。
- 3:
より、約分して、式を整理する。
となる。 以外の項
が1となる場合も同様に求められる。
1 of K表現の変数 (2値変数
)を用いて、
個の式(3.31)をまとめる。
途中式の途中式(クリックで展開)
- 指数の性質
より、
のとき式(3.31)となるように式を立てる。
番目の項が
のとき、
番目以外の項が0乗により1となるので、式(3.31)が成り立つ。
予測分布の式(4)について、次のようにおく。
式(4)について、 で置き換えると、予測分布は式の形状から、パラメータ
のカテゴリ分布であることが分かる。
の事前予測分布の式が得られた。
また、式(5)が、予測分布のパラメータ の計算式である。
事後分布による予測分布
予測分布の計算に事前分布 を用いて、観測データ
による学習を行っていない予測分布(事前予測分布)
(のパラメータ
)を求めた。事後分布
を用いると、観測データ
によって学習した予測分布(事後予測分布)
(のパラメータ
)を求められる。
途中式の途中式(クリックで展開)
- 1: 観測変数
を条件として、未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: カテゴリモデルの定義より、尤度関数をカテゴリ分布、事後分布をディリクレ分布に置き換える。
事後予測分布は、未知のデータ の生成分布(3.23)と、パラメータ
の事後分布(3.27)を用いた、
の周辺分布である。
事後分布は事前分布と同じくディリクレ分布なので、事前予測分布の式(3.32)と、同様の手順で事後予測分布の式も求められる。
そこで、事前予測分布のパラメータ の式(5)を構成する事前分布のパラメータ
について、事後分布のパラメータ
の式(3.28)に置き換えたものを事後予測分布のパラメータ
とおく。
予測分布の式(3.32)についても置き換える(同様の手順で導出する)と、パラメータ のカテゴリ分布となる。
の事後予測分布の式が得られた。
また、式(5')が、予測分布のパラメータ の計算式(更新式)である。
ちなみに、事後分布の期待値は であり、予測分布のパラメータ
や、予測分布の期待値
と一致する。
以上で、カテゴリモデルにおける事後予測分布を導出した。
この記事では、カテゴリ分布に対するベイズ推論を導出した。次の記事では、実装する。
参考文献
おわりに
記事を分割したらコメントがなくなっちゃった。
2020/03/04:加筆修正しました。
2021/04/04:加筆修正しました。その際にRで実装編と記事を分割しました。途中微妙に間違ってた、、恥ずかしい。
- 2026.01.23:加筆修正しました。
実装編は、ディリクレ分布の作図が手間がかかるため、時間がかかりそうなので、先に導出編のみ加筆修正を反映させておきます。
更新日に公開された、Buono!の元メンバーの鈴木愛理さんの歌唱動画をどうぞ♪
このブログで度々書いてると思うのですが、私はBuono!にハマるのがグループの解散にギリギリ間に合わなくてBuono!のオタクになれなかった亡霊なんです。
今でも現役で歌ってくれてありがとうございます。2人の名前も出してくれてありがとうございます。ショート超可愛い…
【次の節の内容】
- スクラッチ実装編
カテゴリモデルに対するベイズ推論をプログラムで確認します。
- 数式読解編
ポアソンモデルの生成モデルを数式で確認します。
カテゴリ分布を用いたモデルに対するパラメータ推定については、こちらの本のシリーズも参考にしてみてください。
