はじめに
『ベイズ推論による機械学習入門』(MLSシリーズ)の独学時のノートです。各種のモデルやアルゴリズムについて「数式・プログラム・図」を用いて解説します。
本の補助として読んでください。
この記事では、平均が未知の多次元ガウス分布に対するベイズ推論の数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
3.4.1 多次元ガウス分布のベイズ推論の導出:平均が未知の場合
多次元ガウスモデル(multivariate Gaussian model)に対するベイズ推論(Bayesian inference)を導出する。この記事では、生成分布の平均パラメータ(mean parameter)が未知の場合を扱う。平均が未知の多次元ガウスモデルでは、尤度関数を多次元ガウス分布(multivariate Gaussian distribution・多変量正規分布・multivariate Normal distribution)、事前分布を多次元ガウス分布とする。
多次元ガウスモデルについては「3.4.0:多次元ガウスモデルの生成モデルの導出【緑ベイズ入門のノート】 - からっぽのしょこ」、多次元ガウス分布については「多次元ガウス分布の定義式 - からっぽのしょこ」を参照のこと。
事後分布の導出
まずは、平均が未知の多次元ガウス分布のパラメータ の事後分布(posterior distribution)を導出する。
観測データ が与えられた(条件とする)下でのパラメータ
の条件付き分布(事後分布)を求める。精度パラメータ
は与えられている(既知)とする。
途中式の途中式(クリックで展開)
- 1: ベイズの定理
より、観測変数
を条件に移した式を立てる。
事後分布は、 の結合分布と
の周辺分布を用いて、次のようにも求められる。
1行目では、条件付き分布 より、
を条件に移している。
2行目では、周辺化 した
を明示している。
3行目では、 の依存関係に従い項を分割している。
生成モデル(結合分布)については「生成モデルの導出」を参照のこと。
- 2:
と無関係な項を省く。
- 3: 観測データ集合
の生成確率を、各データ
の生成確率の積に分解する。
- 4: 平均が未知のガウスモデルの定義より、尤度関数をガウス分布、事前分布をガウス分布に置き換える。
周辺分布(分母)は に影響しないため省いて、比例関係のみに注目する。省略した項については、最後に正規化することで対応できる。
両辺の対数をとり、指数部分の計算を分かりやすくして、 に関して式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(3.98)に関して、対数をとった式を立てる。
- 2-3: 自然対数の性質
、
より、分数の項を展開する。
対数の性質より、総乗 の対数をとると、対数の総和
になる。
- 3:
と無関係な項を
とおく。
- 4: 平均が未知のガウスモデルの定義より、尤度関数をガウス分布、事前分布をガウス分布に置き換える。
に影響しない項を
とおく。省略した項については、最後に正規化することで対応できる。
右辺の各分布に具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はガウス分布、事前分布はガウス分布を仮定しているので、それぞれ定義式に置き換える。
ルートを指数で表すと である。
- 2: 自然対数の性質
、
、対数と指数の関係
より、定義式の項を展開する。
- 3:
を
の外に出す。
- 4: 転置の性質
より、二次形式を展開する。
- 5: 二次形式の性質(スカラの転置・転置の性質)
より、
、
なので、確率変数と平均ベクトルの二次形式の項をまとめる。ただし、精度行列は対称行列なので、
である。
- 5:
に関する総和
の波括弧を展開する。
と無関係な項は
倍
となる。
- 6:
の項をそれぞれまとめる。
は、次の
次元ベクトルである。
適宜、 に影響しない項を
にまとめていく。
事後分布の式(3.99)について、次のようにおく。
式(3.99)について、 で置き換えて、
に関して式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(3.99)に式(3.102)を代入する。
- 2: 波括弧内に
を加える。
- 3: 逆行列の性質(精度行列と分散共分散行列の関係)より、単位行列(精度行列と分散共分散行列の積)
を掛ける。
- 3: 波括弧内の4つ目の項を括弧の外に出す。
- 4: 転置の性質
より、項の一部を転置する。ただし、分散共分散行列は対称行列なので、
である。
ガウス分布の定義式の形状となるように、平方完成による式変形を行った。
事後分布の式(1)について、次のようにおく。
式(1)について、 で置き換える。
途中式の途中式(クリックで展開)
- 1: 式(1)に式(3.103)を代入する。
- 2: 二次形式の性質より、
なので、確率変数と平均ベクトルの二次形式の項を分割する。
- 3: 波括弧全体を二次形式に変形する。
さらに、 を外して
を正規化項に置き換える(正規化する)と、事後分布は式の形状から、パラメータ
の
次元ガウス分布であることが分かる。
の事後分布の式が得られた。
ここで、 はガウス分布(事後分布)の正規化項である。
また、式(3.102)と(3.103)が、事後分布のパラメータ(超パラメータ) の計算式(更新式)である。
以上で、平均が未知の多次元ガウスモデルにおける事後分布を導出した。
スポンサードリンク
予測分布の計算
次は、平均が未知の多次元ガウス分布に従う未観測データ の予測分布(predict distribution)を導出する。
事前分布による予測分布
事前分布(観測データによる学習を行っていない の分布)を用いた予測分布(事前予測分布)を求める。
途中式の途中式(クリックで展開)
- 1: 未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: 平均が未知のガウスモデルの定義より、尤度関数をガウス分布、事前分布をガウス分布に置き換える。
事前予測分布は、未知のデータ の生成分布(3.96)と、パラメータ
の事前分布(3.97)を用いた、
の周辺分布である。
積分の計算を避けるため式(2)は直接用いずに、ベイズの定理を用いて、 と
の関係を考える。
左辺の項は、1つのデータ が与えられた下での
の条件付き分布(事後分布)と言える。つまり、
個のデータ
が与えられた下での条件付き分布(事後分布)の式(3.100)と、同様の手順で求められる(同様のパラメータになる)。
そこで、 による事後分布のパラメータの式(3.102)と式(3.103)を用いて、
より、次のようにおく。
による事後分布は、パラメータ
の
次元ガウス分布となる。
による
の 事後分布の式が得られた。
による事後分布の式(3)について、指数部分の計算を分かりやすくするため、両辺の対数をとる。
予測分布に関して式を整理する。
に影響しない項を
とおく。省略した項については、最後に正規化することで対応できる。
右辺の各分布に具体的な式を代入して、式の形状を明らかにしていく。
途中式の途中式(クリックで展開)
- 1: 尤度関数はガウス分布(3.96)を仮定しており、未知変数による事後分布はガウス分布(3.105)になるので、それぞれ定義式に置き換える。
- 2: 自然対数の性質より、定義式の項を展開する。
- 3:
を括り出す。
- 4: 二次形式を展開する。
- 5: 二次形式の性質より、
、
なので、確率変数と平均ベクトルの二次形式の項をまとめる。
適宜、 に影響しない項を
にまとめていく。パラメータの計算式(3.106)より、
は
に影響しない(
の式に
を含まない)。
に式(3.106)を代入して、
に関して式を整理する。
途中式の途中式(クリックで展開)
- 1: 式(4)の
に式(3.106)を代入する。
- 2: 逆行列の性質より、精度行列の項が消える。
- 2: 波括弧を転置する。
- 3: 二次形式を展開する。
- 4: 丸括弧を転置する。
- 5: 二次形式の性質より、
なので、確率変数と平均ベクトルの二次形式の項をまとめる。
- 6:
の項をそれぞれまとめる。
- 7:
に式(3.106)を代入する。
予測分布の式(3.107)について、次のようにおく。
途中式の途中式(クリックで展開)
- 1: 式(3.107)の項を
とおく。
- 2:
の式全体を変形する。
ウッドベリーの公式(A.7)の を単位行列
とすると、次の式になる。
、
(
、
)として、右辺の式から左辺の式に変形する。
式(3.107)について、 で置き換えて、平方完成を行う。
途中式の途中式(クリックで展開)
- 1: 式(3.107)に式(3.109)を代入する。
- 2: 波括弧内に
を加える。
- 3: 逆行列の性質より、
を掛ける。
- 3: 波括弧内の4つ目の項を括弧の外に出する。
- 4: 転置の性質
より、項の一部を転置する。ただし、分散共分散行列は対称行列なので、
である。
予測分布の式(5)について、次のようにおく。
途中式の途中式(クリックで展開)
- 1: 式(5)の項を
とおく。
- 2:
に式(3.109)を代入する。
- 3:
の式の項を変形する。
「The Matrix Cookbook」の式(163)を用いる。
、
として、右辺の式から左辺の式に変形する。
- 4: 式(3.109)より、
に置き換える。
- 5: 逆行列の性質より、
の項が消える。
式(5)について、 で置き換える。
途中式の途中式(クリックで展開)
- 1: 式(5)に式(3.110)を代入する。
- 2: 二次形式の性質より、
なので、確率変数と平均ベクトルの二次形式の項を分割する。
- 3: 波括弧全体を二次形式に変形する。
さらに、 を外して
を正規化項に置き換える(正規化する)と、予測分布は式の形状から、パラメータ
の
次元ガウス分布であることが分かる。
の事前予測分布は式が得られた。
ここで、 は、ガウス分布(事前予測分布)の正規化項である。
また、式(3.)が、予測分布のパラメータ の計算式である。
事後分布による予測分布
予測分布の計算に事前分布 を用いて、観測データ
による学習を行っていない予測分布(事前予測分布)
(のパラメータ
)を求めた。事後分布
を用いると、観測データ
によって学習した予測分布(事後予測分布)
(のパラメータ
)を求められる。
途中式の途中式(クリックで展開)
- 1: 観測変数
を条件として、未知変数
とパラメータ
の結合分布に対して、
を周辺化した式を立てる。
- 2: 依存関係のある
の項を分割する。
- 3: 平均が未知のガウスモデルの定義より、尤度関数をガウス分布、事後分布をガウス分布に置き換える。
事後予測分布は、未知のデータ の生成分布(3.96)と、パラメータ
の事後分布(3.100)を用いた、
の周辺分布である。
事後分布は事前分布と同じくガウス分布なので、事前予測分布の式(3.108)と、同様の手順で事後予測分布の式も求められる。
そこで、事前予測分布のパラメータ の式(3.109)と式(3.110)を構成する事前分布のパラメータ
について、事後分布のパラメータ
の式(3.102)と式(3.103)に置き換えたものを事後予測分布のパラメータ
とおく。
予測分布の式()についても置き換える(同様の手順で導出する)と、パラメータ の
次元ガウス分布となる。
の事後予測分布の式が得られた。
また、式(')が、予測分布のパラメータ の計算式(更新式)である。
以上で、平均が未知の多次元ガウスモデルにおける事後予測分布を導出した。
この記事では、平均が未知の場合の多次元ガウス分布に対するベイズ推論を導出した。次の記事では、実装する。
参考文献
最後の最後でちょろっとカンニングしちゃいました。Julia使いの方はこちらのブログを是非どうぞ。
- K.B.Petersen, M.S.Pedersen. The Matrix Cookbook. Technical University of Denmark, 2012.
おわりに
行列計算を見ても発作が起きなくなったので、飛ばしていた多次元ガウス分布の推論に取り組み始めました。そして本当に解けた!本当に成長したなぁと自画自賛しています。
とはいえ、行列計算時の転置と逆行列の扱いにかなり難儀しました。何だか凄くアクロバットな変形をしましたね。
近頃はPythonでDL入門してますが、MLSシリーズの新刊も出たことだし、年内にはこの本をやり切ってML入門を修了したいなぁ思ってますがはてさて。
2020年9月11日は、ハロー!プロジェクトのグループ「Juice=Juice」のメジャーデビュー7周年記念日!
おめでとうございます!!!!!!!!!!
2021/04/10:加筆修正しました。その際にRで実装編と記事を分割しました。
2026.01.24:加筆修正しました。
たぶん久し振りの行列計算なので、不定期の復習のつもりで書き直しています。行列計算の式変形よりも、多次元になったことで変数やパラメータのLaTeXコマンドの文字列がどれも増えてしまうことの方が作業としては億劫かもしれません。
作業のペースは上がってる気がするのでこのまま頑張ります。
今回の改修では、1次元ガウス分布のときと同様に、本では若干天下り的に登場するガウス事後分布やガウス予測分布に関して、わざわざ平方完成を行ってガウス分布の式を導出する流れに構成を変更しました。愚直に行間を埋めていくのをコンセプトとして書いているのですが、段々と書いてある文章そのものすら書き換え始めていますね。
不必要に読むのが面倒になったかと思いますが、書くのも面倒だったので、頑張って読んでください。
一度くらいは省略せずに地道にやってみるのが理解の助けになるものと思って取り組んでいます、たぶんきっと根拠はないけどそんな気がしています。
【次節の内容】
- スクラッチ実装編
多次元ガウスモデルに対するベイズ推論をプログラムで確認します。
- 数式読解編
多次元ガウスモデルに対するベイズ推論を数式で確認します。