はじめに
『ベイズ推論による機械学習入門』(MLSシリーズ)の独学時のノートです。各種のモデルやアルゴリズムについて「数式・プログラム・図」を用いて解説します。
本の補助として読んでください。
この記事では、平均と精度が未知の多次元ガウス分布に対するベイズ推論の数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
3.4.3 多次元ガウス分布のベイズ推論の導出:平均・精度が未知の場合
多次元ガウスモデル(multivariate Gaussian model)に対するベイズ推論(Bayesian inference)を導出する。この記事では、生成分布の平均パラメータ(mean parameter)と精度パラメータ(precision parameter)が未知の場合を扱う。平均と精度が未知の多次元ガウスモデルでは、尤度関数を多次元ガウス分布(multivariate Gaussian distribution・多変量正規分布・multivariate Normal distribution)、事前分布をガウス-ウィシャート分布(Gaussian-Wishart distribution)とする。
多次元ガウスモデルについては「3.4.0:多次元ガウスモデルの生成モデルの導出【緑ベイズ入門のノート】 - からっぽのしょこ」、多次元ガウス分布については「多次元ガウス分布の定義式 - からっぽのしょこ」を参照のこと。
結合事後分布の設定
まずは、平均と精度が未知の多次元ガウス分布のパラメータ の結合事後分布(joint posterior distribution)を導出する。
ウィシャート分布については「ウィシャート分布の定義式 - からっぽのしょこ」を参照のこと。
観測データ が与えられた(条件とする)下でのパラメータ
の条件付き結合分布(結合事後分布)を求める。
途中式の途中式(クリックで展開)
- 1: ベイズの定理
より、観測変数
を条件に移した式を立てる。
事後分布は、 の結合分布と
の周辺分布を用いて、次のようにも求められる。
1行目では、条件付き分布 より、
を条件に移している。
2行目では、周辺化 した
を明示している。
3行目では、 の依存関係に従い項を分割している。
生成モデル(結合分布)については「生成モデルの導出」を参照のこと。
- 2:
と無関係な項を省く。
- 3: 観測データ集合
の生成確率を、各データ
の生成確率の積に分解する。
- 3: 依存関係のあるパラメータ
の項を分割する。
- 4: 平均と精度が未知のガウスモデルの定義より、尤度関数をガウス分布、事前分布をガウス-ウィシャート分布に置き換える。
周辺分布(分母)は に影響しないため省いて、比例関係のみに注目する。省略した項については、最後に正規化することで対応できる。
結合事後分布(左辺)は、依存関係に従い次のように分割できる。
の結合事後分布は、
の事後分布と
の事後分布の結合分布である。
2つのパラメータそれぞれの事後分布を求めていく。
平均パラメータの事後分布
平均パラメータ の事後分布を導出する。
結合事後分布の式(1)と式(3.127)を用いて、観測データ が与えられた(条件とする)下でのパラメータ
の条件付き分布(事後分布)を求める。
途中式の途中式(クリックで展開)
- 1: 式(1)の左辺の
の項を式(3.127)により分割して、
の項を右辺に移す(両辺を
の事後分布で割る)。
- 2:
と無関係な項を省く。
- 3: 平均と精度が未知のガウスモデルの定義より、尤度関数をガウス分布、
の事前分布をガウス分布に置き換える。
に影響しない項を省いて、比例関係のみに注目する。省略した項については、最後に正規化することで対応できる。
平均と精度が未知のガウスモデル(3.4.3項)における の事後分布(2)は、平均が未知のガウスモデル(3.4.1項)における
の事後分布(3.98)と、同様の式の形状( 精度パラメータが
から
に置き換わっただけ)である。つまり、平均が未知のガウスモデルにおける事後分布の式(3.100)と、同様の手順で求められる(同様のパラメータになる)。
そこで、平均が未知のガウスモデルにおける事後分布のパラメータ の式(3.102)と式(3.103)を構成する精度パラメータ
について、平均と精度が未知のガウスモデルにおける精度パラメータ
に置き換える。
途中式の途中式(クリックで展開)
- 1: 式(3.103)の
を
、
を
に置き換える。
- 2:
を括り出す。
- 3: 両辺に
を掛ける。
- 4: 逆行列の性質
より、
が消える。
途中式の途中式(クリックで展開)
- 1: 式(3.102)の
を
、
を
に置き換える。
- 2:
を括り出す。
- 3: 逆行列の性質より、
が消える。
- 4:
に式(3.129.a)を代入する。
事後分布の式(3.100)についても置き換える(同様の手順で導出する)と、パラメータ の
次元ガウス分布となる。
の事後分布の式が得られた。
また、式(3.129)が、事後分布のパラメータ(超パラメータ) の計算式(更新式)である。
詳しい導出過程については「3.4.1:多次元ガウス分布のベイズ推論の導出:平均が未知の場合【緑ベイズ入門のノート】 - からっぽのしょこ」を参照のこと。
以上で、平均パラメータの事後分布を導出した。
精度パラメータの事後分布
続いて、精度パラメータ の事後分布を導出する。
結合事後分布の式(1)と式(3.127)を用いて、観測データ が与えられた(条件とする)下でのパラメータ
の条件付き分布(事後分布)を求める。
途中式の途中式(クリックで展開)
- 1: 式(1)の左辺の
の項を式(3.127)により分割して、
の項を右辺に移す(両辺を
の事後分布で割る)。
- 2:
と無関係な項を省く。
- 3: 平均と精度が未知のガウスモデルの定義より、尤度関数をガウス分布、
の事前分布をガウス分布、
の事前分布をウィシャート分布、
の事後分布をガウス分布(3.128)に置き換える。
に影響しない項を省いて、比例関係のみに注目する。省略した項については、最後に正規化することで対応できる。
両辺の対数をとり、指数部分の計算を分かりやすくして、 に関して式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(3)に関して、対数をとった式を立てる。
- 2-3: 自然対数の性質
、
より、分数の項を展開する。
対数の性質より、総乗 の対数をとると、対数の総和
になる。
- 3:
と無関係な項を
とおく。
- 4: 平均と精度が未知のガウスモデルの定義より、尤度関数をガウス分布、
の事前分布をガウス分布、
の事前分布をウィシャート分布、
の事後分布をガウス分布(3.128)に置き換える。
に影響しない項を
とおく。省略した項については、最後に正規化することで対応できる。
右辺の各分布に具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はガウス分布、
の事前分布はガウス分布、
の事前分布はウィシャート分布を仮定しており、
の事後分布はガウス分布(3.128)になるので、それぞれ定義式に置き換える。
ここで、 は、ウィシャート分布(事前分布)の正規化項である。(式変形に影響しないので簡易的に表記している。)
ルートを指数で表すと である。
- 2: 自然対数の性質
、
、
、対数と指数の関係
より、定義式の項を展開する。
- 3:
に関する総和
の波括弧を展開する。
と無関係な項は
倍
となる。
- 3: 行列式の性質
より、行列式の項から係数を取り出す。
適宜、 に影響しない項を
にまとめていく。パラメータの計算式(3.129)より、
は
に影響しない(
の式に
を含まない)。
二次形式を展開して、さらに式を整理する。
途中式の途中式(クリックで展開)
- 1: 対数の性質より、対数の項を分割する。
- 1: 転置の性質
より、二次形式を展開する。
- 2:
に関する総和
の波括弧を展開する。
- 2: 二次形式の性質(スカラの転置・転置の性質)
より、確率変数と平均ベクトルの二次形式の項をまとめる。ただし、精度行列は対称行列なので、
である。
次の関係より、項をまとめる。
詳しくは「生成モデルの導出」を参照のこと。
に式(3.128)を代入して、さらに式を整理する。
途中式の途中式(クリックで展開)
- 1:
に式(3.128)を代入する。
- 1: 二次形式とトレースの関係より、二次形式の項をトレースに置き換える。
次の関係より、項を置き換える。
詳しくは「3.4.2:多次元ガウス分布のベイズ推論の導出:精度が未知の場合【緑ベイズ入門のノート】 - からっぽのしょこ」を参照のこと。
- 2:
の項をまとめる。
- 2: トレースの性質
より、
の項をまとめる。
- 3:
を括り出す。
事後分布の式(3.131)について、次のようにおく
式(3.131)について、 で置き換える。
さらに、 を外して
を正規化項に置き換える(正規化する)と、事後分布は式の形状から、パラメータ
のウィシャート分布であることが分かる。
の事後分布は式が得られた。
ここで、 はウィシャート分布(事後分布)の正規化項である。
また、式(3.133)が事後分布のパラメータ(超パラメータ) の計算式(更新式)である。
以上で、精度パラメータの事後分布を導出した。
結合事後分布の導出
2つのパラメータ それぞれの事後分布が求まったので、
の結合事後分布を求める。
の結合事後分布の式(3.127)に
の事後分布の式(3.128)と
の事後分布の式(3.132)を代入すると、結合事後分布は式の形状から、パラメータ
のガウス-ウィシャート分布であることが分かる。
の結合事後分布の式が得られた。
また、式(3.129)と式(3.133)が結合事後分布のパラメータ(超パラメータ) の計算式(更新式)である。
以上で、平均と精度が未知の多次元ガウスモデルにおける事後分布を導出した。
予測分布の導出
次は、平均と精度が未知の多次元ガウス分布に従う未観測データ の予測分布(predict distribution)を導出する。
スチューデントのt分布については「多次元スチューデントのt分布の定義式 - からっぽのしょこ」を参照のこと。
事前分布による予測分布
結合事前分布(観測データによる学習を行っていない の分布)を用いた予測分布(事前予測分布)を求める。
途中式の途中式(クリックで展開)
- 1: 未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: 平均と精度が未知のガウスモデルの定義より、尤度関数をガウス分布、事前分布をガウス-ウィシャート分布に置き換える。
事前予測分布は、未知のデータ の生成分布(3.96, 3.111)と、パラメータ
の結合事前分布(3.125)を用いた、
の周辺分布である。
積分の計算を避けるため式(3.134)は直接用いずに、ベイズの定理を用いて、 と
の関係を考える。
左辺の項は、1つのデータ が与えられた下での
の条件付き結合分布(結合事後分布)と言える。つまり、
個のデータ
が与えられた下での条件付き結合分布(結合事後分布)の式(4)と、同様の手順で求められる(同様のパラメータになる)。
そこで、 による結合事後分布のパラメータの式(3.129)と式(3.133)を用いて、
より、次のようにおく。
途中式の途中式(クリックで展開)
- 1: 式(3.133)について、
個の観測データ
を1つの未知データ
に置き換えた式を立てる。
- 2:
に式(3.137.a)を代入する。
- 3: 二次形式を展開する。
- 4:
を括り出す。
次の関係より、項をまとめる。
- 5: 丸括弧全体を二次形式に変形する。
による結合事後分布は、パラメータ
のガウス-ウィシャート分布となる。
による結合事後分布の式が得られた。1行目では、
の依存関係に従い結合分布を分割している。
による結合事後分布の式(5)について、指数部分の計算を分かりやすくするため、両辺の対数をとる。
予測分布に関して式を整理する。
に影響しない項を
とおく。省略した項については、最後に正規化することで対応できる。式(6)より、結合分布を分割している。
右辺の各分布に具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はガウス分布(3.96, 3.111)を仮定しており、未知変数による
の事後分布はガウス分布(3.136)、未知変数による
の事後分布はウィシャート分布(3.136)になるので、それぞれ定義式に置き換える。
- 2: 自然対数の性質より、定義式の項を展開する。
- 3: 二次形式を展開する。
- 4: 二次形式の性質より、
、
なので、確率変数と平均ベクトルの二次形式の項をまとめる。
適宜、 に影響しない項を
にまとめていく。パラメータの計算式(3.137)より、
は
に影響しない(
の式に
を含まない)。
に式(3.137)を代入して、
に関して式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(7)に式(3.137)を代入する。ただし、
として代入する。
- 2: 二次形式を展開する。
- 2: 行列式の性質
、対数の性質
より、負の指数を行列式と対数の外に出す。
- 2:
を括り出す。
途中式の途中式(クリックで展開)
- 1: 行列式の性質
より、行列式の項を分割する。
- 1: トレースの性質
より、トレースの項を分割する。
- 2: 対数の性質
より、行列式の項を分割する。
- 2: 二次形式とトレースの関係より、トレースの項を二次形式に置き換える。
次の関係より、項を置き換える。
詳しくは「精度が未知の場合」を参照のこと。
- 3:
を括り出す。
- 3: 行列式の性質
より、行列式の項を変形する。
を1つの行列として扱い、
を
、
の行列の積として変形する。
- 3: 二次形式を展開する。
- 4: 波括弧を転置する。ただし、スケール行列は対称行列なので、
である。
- 4: 行列式の中がスカラなので、行列式の性質
より、行列式を外す。
予測分布の式(3.138)について、次のようにおく。
式(3.138)について、 で置き換える。
途中式の途中式(クリックで展開)
- スチューデントのt分布の定義式の形状となるように、式(3.138)を整形する。
分数の項に を加え、対数の項に
を分割して掛ける。
さらに、 を外して
を正規化項に置き換える(正規化する)と、予測分布は式の形状から、パラメータ
の
次元スチューデントのt分布であることが分かる。
の事前予測分布の式が得られた。
ここで、 は、スチューデントのt分布(事前予測分布)の正規化項である。
また、式(3.140)が、予測分布のパラメータ の計算式(更新式)である。
事後分布による予測分布
予測分布の計算に事前分布 を用いて、観測データ
による学習を行っていない予測分布(事前予測分布)
(のパラメータ
)を求めた。事後分布
を用いると、観測データ
によって学習した予測分布(事後予測分布)
(のパラメータ
)を求められる。
途中式の途中式(クリックで展開)
- 1: 観測変数
を条件として、未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: 平均と精度が未知のガウスモデルの定義より、尤度関数をガウス分布、事後分布をガウス-ウィシャート分布に置き換える。
事後予測分布は、未知のデータ の生成分布(3.96, 3.111)と、パラメータ
の事後分布()を用いた、
の周辺分布である。
事後分布は事前分布と同じくガウス-ウィシャート分布なので、事前予測分布の式(3.139)と、同様の手順で事後予測分布の式も求められる。
そこで、事前予測分布のパラメータ の式(3.140)を構成する事前分布のパラメータ
について、事後分布のパラメータ
の式(3.129)と式(3.133)に置き換えたものを事後予測分布のパラメータ
とおく。
予測分布の式(3.139')についても置き換える(同様の手順で導出する)と、パラメータ の
次元スチューデントのt分布となる。
の事後予測分布の式が得られた。
また、式(3.140')が、予測分布のパラメータ の計算式(更新式)である。
以上で、平均と精度が未知の多次元ガウスモデルにおける事後予測分布を導出した。
この記事では、平均と精度が未知の場合の多次元ガウス分布に対するベイズ推論を導出した。次の記事では、実装する。
参考文献
おわりに
多次元ガウス分布のベイズ推論完了!ただただ愚直に解きました。もっとスマートに導出できたりするのでしょうか?
そろそろPRMLに移ってもいいもんでしょうかね。次の線形回帰ができたら試しに読んでみる(2度目の正直)。
- 2021/04/12:加筆修正しました。その際にRで実装編と記事を分割しました。
現在PRML三度目の挑戦に詰まって放置中、、、
- 2026.01.28:加筆修正しました。
愚直に解いているのは変わりませんが、以前よりも式変形の粒度感を整えた(つもりな)ので、(おそらく行数は増えましたが)じっくり読むと分かりやすくなったと思います。
ところで今回の改修では、確率分布の項の条件部分にハイパラを明示して変形していくことにしました。そこで気付いたですが、精度パラメータの事後分布の条件に含まれているハイパラと、事後分布のパラメータの計算式に含まれるハイパラが異なっているのですが、どういうことでしょうか。どこが何が間違っているのでしょうか。
結合事後分布を分割するときに、乗法定理のように条件に残して誤魔化そうかとも思ったのですが、グラフィカルモデル的に違うよなと踏みとどまりました。
本を読んでも調べても分からずチャッピーに訊いたところ、平均パラメータの場合は結合事後分布を分割して、精度パラメータの場合は結合事後分布を周辺化するらしいです。なるほど、後でその方針で式変形して確かめてみます、後で(いつか)。
ちなみに3.3.3節(1次元版)のときに疑問に思ってもよかったはずですが、全然気付きませんでした。そっちでもやってみますね、いつか(たぶん)。
最後に、先日公開されたBuono!のライブ映像をどうぞ♪
THE FIRST TAKEBに合わせて『初恋サイダー』だけでなくもう1曲公開されるとは、ありがたいです。「キスをあげるよ」からの『Kiss! Kiss! Kiss!』ってことですよね!!!
【次節の内容】
- スクラッチ実装編
多次元ガウスモデルに対するベイズ推論をプログラムで確認します。
- 数式読解編
線形回帰モデルに対するベイズ推論を数式で確認します。