はじめに
『ベイズ推論による機械学習入門』(MLSシリーズ)の独学時のノートです。各種のモデルやアルゴリズムについて「数式・プログラム・図」を用いて解説します。
本の補助として読んでください。
この記事では、ベルヌーイ分布に対するベイズ推論の数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
3.2.1 ベルヌーイ分布のベイズ推論の導出
ベルヌーイモデル(Bernoulli model)に対するベイズ推論(Bayesian inference)を導出する。ベルヌーイモデルでは、尤度関数をベルヌーイ分布(Bernoulli distribution)、事前分布をベータ分布(Beta distribution)とする。
ベルヌーイモデルについては「3.2.1:ベルヌーイモデルの生成モデルの導出【緑ベイズ入門のノート】 - からっぽのしょこ」、ベルヌーイ分布については「ベルヌーイ分布の定義式 - からっぽのしょこ」を参照のこと。
事後分布の導出
まずは、ベルヌーイ分布のパラメータ の事後分布(posterior distribution)を導出する。
ベータ分布については「ベータ分布の定義式 - からっぽのしょこ」を参照のこと。
観測データ が与えられた(条件とする)下でのパラメータ
の条件付き分布(事後分布)を求める。
途中式の途中式(クリックで展開)
- 1: ベイズの定理
より、観測変数
を条件に移した式を立てる。
事後分布は、 の結合分布と
の周辺分布を用いて、次のようにも求められる。
1行目では、条件付き分布 より、
を条件に移している。
2行目では、周辺化 した
を明示している。
3行目では、 の依存関係に従い項を分割している。
生成モデル(結合分布)については「生成モデルの導出」を参照のこと。
- 2:
と無関係な項を省く。
- 3: 観測データ集合
の生成確率を、各データ
の生成確率の積に分解する。
- 4: ベルヌーイモデルの定義より、尤度関数をベルヌーイ分布、事前分布をベータ分布に置き換える。
周辺分布(分母)は に影響しないため省いて、比例関係のみに注目する。省略した項については、最後に正規化することで対応できる。
両辺の対数をとり、指数部分の計算を分かりやすくして、 に関して式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(3.12)に関して、対数をとった式を立てる。
- 2-3: 自然対数の性質
、
より、分数の項を展開する。
対数の性質より、総乗 の対数をとると、対数の総和
になる。
- 3:
と無関係な項を
とおく。
- 4: ベルヌーイモデルの定義より、尤度関数をベルヌーイ分布、事前分布をベータ分布に置き換える。
に影響しない項を
とおく。省略した項については、最後に正規化することで対応できる。
右辺の各分布に具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はベルヌーイ分布、事前分布はベータ分布を仮定しているので、それぞれ定義式に置き換える。
ここで、 は、ベータ分布(事前分布)の正規化項である。(式変形に影響しないので簡易的に表記している。)
- 2: 自然対数の性質
、
より、定義式の項を展開する。
- 3:
に関する総和
の波括弧を展開する。
と無関係な項は
倍
となる。
- 4:
の項をそれぞれまとめる。
適宜、 に影響しない項を
にまとめている。
事後分布の式(3.13)について、次のようにおく。
式(3.13)について、 で置き換える。
さらに、 を外して
を正規化項に置き換える(正規化する)と、事後分布は式の形状から、パラメータ
のベータ分布であることが分かる。
の事後分布の式が得られた。
ここで、 は、ベータ分布(事後分布)の正規化項である。
また、式(3.15)が、事後分布のパラメータ(超パラメータ) の計算式(更新式)である。
以上で、ベルヌーイモデルにおける事後分布を導出した。
スポンサードリンク
予測分布の導出
次は、ベルヌーイ分布に従う未観測データ の予測分布(predict distribution)を導出する。
事前分布による予測分布
事前分布(観測データによる学習を行っていない の分布)を用いた予測分布(事前予測分布)を求める。
途中式の途中式(クリックで展開)
- 1: 未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: ベルヌーイモデルの定義より、尤度関数をベルヌーイ分布、事前分布をベータ分布に置き換える。
事前予測分布は、未知のデータ の生成分布(3.10)と、パラメータ
の事前分布(3.11)を用いた、
の周辺分布である。
右辺の各分布について具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はベルヌーイ分布、事前分布はベータ分布を仮定しているので、それぞれ定義式に置き換える。
- 2:
と無関係な項を
の外に出す。
- 3: 指数の性質
より、
の項をそれぞれまとめる。
に関する積分の項に注目すると、パラメータ
の正規化項のないベータ分布の形をしている。
この積分の項は、ベータ分布の正規化項の逆数
に変形できる(そもそも確率分布の関数(正規化項以外)の項を積分した逆数が正規化項である)。
予測分布の式(3.16)について、正規化項の逆数の式(3.17)で置き換える。
右辺の各正規化項について具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: ベータ分布の正規化項(2.42)より、それぞれ置き換える。
- 2: 式を整理する。
- 3: ガンマ関数の性質
より、ガンマ関数の項を分割する。
- 4: 約分して、式を整理する。
ベルヌーイ分布の変数 は0か1の2値しかとらないため、場合分けしてこの式を整理する。
のとき、式(3.18)は
途中式の途中式(クリックで展開)
- 1: 式(3.18)に
を代入する。
- 2: ガンマ関数の性質より、ガンマ関数の項を分割する。
- 3: 約分して、式を整理する。
となる。また のとき、式(3.18)は
途中式の途中式(クリックで展開)
- 1: 式(3.18)に
を代入する。
- 2: ガンマ関数の性質より、ガンマ関数の項を分割する。
- 3: 約分して、式を整理する。
となる。
2値変数 を用いて、2つの式(3.19)と式(3.20)をまとめる。
途中式の途中式(クリックで展開)
- 1: 指数の性質
より、
のとき式(3.19)、
のとき(
になるので)式(3.20)となるように式を立てる。
- 2:
より、分数の項の形を揃える。
のとき前の項が0乗により1となり、
のとき後の項が0乗により1となるので、それぞれ式(3.20)と式(3.19)が成り立つ。
予測分布の式(1)について、次のようにおく。
式(1)について、 で置き換えると、予測分布は式の形状から、パラメータ
のベルヌーイ分布であることが分かる。
の事前予測分布の式が得られた。
また、式(2)が、予測分布のパラメータ の計算式である。
事後分布による予測分布
予測分布の計算に事前分布 を用いて、観測データ
による学習を行っていない予測分布(事前予測分布)
(のパラメータ
)を求めた。事後分布
を用いると、観測データ
によって学習した予測分布(事後予測分布)
(のパラメータ
)を求められる。
途中式の途中式(クリックで展開)
- 1: 観測変数
を条件として、未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: ベルヌーイモデルの定義より、尤度関数をベルヌーイ分布、事後分布をベータ分布に置き換える。
事後予測分布は、未知のデータ の生成分布(3.10)と、パラメータ
の事後分布(3.14)を用いた、
の周辺分布である。
事後分布は事前分布と同じくベータ分布なので、事前予測分布の式(3.21)と、同様の手順で事後予測分布の式も求められる。
そこで、事前予測分布のパラメータ の式(2)を構成する事前分布のパラメータ
について、事後分布のパラメータ
の式(3.15)に置き換えたものを事後予測分布のパラメータ
とおく。
予測分布の式(3.21)についても置き換える(同様の手順で導出する)と、パラメータ のベルヌーイ分布となる。
の事後予測分布の式が得られた。
また、式(2')が、予測分布のパラメータ の計算式(更新式)である。
ちなみに、事後分布の期待値は であり、予測分布のパラメータ
や、予測分布の期待値
と一致する。
は成功確率(
が1となる確率・式(3.19))、
は失敗確率(
が0となる確率・式(3.20))に対応する。
以上で、ベルヌーイモデルにおける事後予測分布を導出した。
この記事では、ベルヌーイ分布に対するベイズ推論を導出した。次の記事では、実装する。
参考文献
おわりに
ずっと辞書的に使っていた須山ベイズ本の精読を始めました。
実装編とで口調が変わることに深い意味はありません。正直ですます調の方が書きやすいです。
暫く続きます。宜しくお願いします。
2020年2月19日は、モーニング娘。'20森戸知沙希ちゃん二十歳の誕生日!!!
Enjoy!
- 2020/03/04:加筆修正しました。
- 2021/02/19:加筆修正して、Rで実装編とは記事を分割しました。ブログ投稿から丁度一年後に更新することになるとは。
- 2025.12.22:加筆修正しました。
これといった理由があるわけではないのですが、全編である調で統一することにしました。強いて言うなら、文章を書く訓練として書きにくい方を選んだ、ということにしておきます。
【次節の内容】
- スクラッチ実装編
ベルヌーイモデルに対するベイズ推論をプログラムで確認します。
- 数式読解編
カテゴリモデルの生成モデルを数式で確認します。
