からっぽのしょこ

読んだら書く!書いたら読む!同じ事は二度調べ(たく)ない

3.2.3:ポアソンモデルの生成モデルの導出【緑ベイズ入門のノート】

はじめに

 『ベイズ推論による機械学習入門』(MLSシリーズ)の独学時のノートです。各種のモデルやアルゴリズムについて「数式・プログラム・図」を用いて解説します。
 本の補助として読んでください。

 この記事では、ポアソン分布に対するベイズ推論で登場する数式の行間を埋めます。

【前節の内容】

www.anarchive-beta.com

【他の節の内容】

www.anarchive-beta.com

【この節の内容】

3.2.3 ポアソンモデルの生成モデルの導出

 ポアソンモデル(Poisson model)の定義(仮定)を確認する。ポアソンモデルでは、生成分布をポアソン分布(Poisson distribution)、事前分布をガンマ分布(Gamma distribution)とする。
 ポアソン分布については「ポアソン分布の定義式 - からっぽのしょこ」、ガンマ分布については「準備中」を参照のこと。

生成過程の設定

 まずは、ポアソンモデルの生成過程(generative process)を数式で確認する。

 観測データ数を  N、データ番号(インデックス)を  n \in \{1, 2, \dots, N\} とする。

 各観測データ  x_n は、0以上の整数(非負の整数)をとる。

 \displaystyle
x_n \in \{0, 1, 2, \cdots\}

  N 個の観測データをまとめて、観測データ集合  \mathbf{X} として扱う。

 \displaystyle
\mathbf{X}
    = \{x_1, x_2, \cdots, x_N\}

 各観測データ  x_n は、パラメータ  \lambda のポアソン分布に従い独立に生成されるとする。

 \displaystyle
\begin{align*}
p(x_n \mid \lambda)
   &= \mathrm{Poisson}(x_n \mid \lambda)
\tag{3.33}\\
   &= \exp(-\lambda)
      \frac{\lambda^{x_n}}{x_n!}
\\
x_n
   &\sim
      \mathrm{Poisson}(\lambda)
\end{align*}

  \lambda を生成分布のパラメータと呼ぶ。データの生成分布を観測モデルや尤度関数とも呼ぶ。
  \lambda は期待値パラメータなので、正の値を満たす必要がある。

 \displaystyle
\lambda \gt 0

 また、パラメータ  \lambda は、パラメータ  a, b のガンマ分布に従い生成されるとする。

 \displaystyle
\begin{align*}
p(\lambda \mid a, b)
   &= \mathrm{Gamma}(\lambda \mid a, b)
\tag{3.34}\\
   &= \frac{b^a}{\Gamma(a)}
      \lambda^{a-1}
      \exp(- b \lambda)
\\
\lambda
   &\sim
      \mathrm{Gamma}(a, b)
\end{align*}

  a, b を生成分布の超パラメータと呼ぶ。パラメータのパラメータを超パラメータ(ハイパーパラメータ)と言う。
  a は形状パラメータ、 b は尺度パラメータなので、それぞれ正の値を満たす必要がある。

 \displaystyle
a \gt 0
,\ 
b \gt 0

 ガンマ分布の確率変数は、ポアソン分布のパラメータの条件を満たす。

 以上で、ポアソンモデルの生成過程(定義・仮定)を確認した。生成過程は、変数やパラメータ間の依存関係であり、生成モデルや推論アルゴリズムの導出でも用いる。

尤度関数の導出

 次は、ポアソンモデルの尤度関数(likelihood function)を数式で確認する。パラメータが与えられたときのデータの生成確率(観測された全ての変数の同時確率)を尤度と呼ぶ。

 パラメータ  \lambda が与えられた(条件とする)下での観測データ  \mathbf{X} の生成確率は、生成過程(依存関係)に従い次のように変形できる。

 \displaystyle
\begin{aligned}
p(\mathbf{X} \mid \lambda)
   &= p(x_1, x_2, \cdots, x_N \mid \lambda)
\\
   &= p(x_1 \mid \lambda)
      p(x_2 \mid \lambda)
      \cdots
      p(x_N \mid \lambda)
\\
   &= \prod_{n=1}^N
          p(x_n \mid \lambda)
\end{aligned}

途中式の途中式(クリックで展開)


  •  N 個のデータは独立に生成されることから、観測データ集合  \mathbf{X} の生成確率は、各データ  x_n の生成確率の積に分解できる。

 生成分布(3.33)を用いた式が得られた。

生成モデルの導出

 続いて、ポアソンモデルの生成モデル(generative model)を数式で確認する。観測・潜在変数やパラメータを全て確率変数とみなした結合分布(同時分布)を生成モデルと呼ぶ。

 観測変数  \mathbf{X}、パラメータ  \lambda、超パラメータ  a, b をそれぞれ確率変数とする結合分布は、生成過程(依存関係)に従い次のように分解できる。

 \displaystyle
\begin{aligned}
p(\mathbf{X}, \lambda, a, b)
   &= p(\mathbf{X} \mid \lambda)
      p(\lambda \mid a, b)
      p(a)
      p(b)
\\
   &= \left\{ \prod_{n=1}^N
          p(x_n \mid \lambda)
      \right\}
      p(\lambda \mid a, b)
      p(a)
      p(b)
\end{aligned}

途中式の途中式(クリックで展開)


 依存関係のない場合は独立性  p(x, y) = p(x) p(y)、依存関係のある場合は乗法定理  p(x, y) = p(x \mid y) p(y) により、式を変形していく。

  • 1: 変数やパラメータごとの項に分割する。

 依存関係のある(変数・)パラメータと超パラメータの項を分割する。

 \displaystyle
p(\mathbf{X}, \lambda, a, b)
    = p(\mathbf{X}, \lambda \mid a, b)
      p(a, b)

 さらに前の項の、依存関係のある変数  \mathbf{X} とパラメータ  \lambda の項を分割する。

 \displaystyle
\begin{aligned}
p(\mathbf{X}, \lambda \mid a, b)
   &= p(\mathbf{X} \mid \lambda, a, b)
      p(\lambda \mid a, b)
\\
   &= p(\mathbf{X} \mid \lambda)
      p(\lambda \mid a, b)
\end{aligned}

  \mathbf{X} a, b は無関係なので条件から省ける。
 後の項の、独立な超パラメータ  a, b の項を分割する。

 \displaystyle
p(a, b)
    = p(a)
      p(b)
  • 2: 全データに関する  \mathbf{X} の項を、各データに関する  x_n の項の積に分解する。

 1データレベルに項を分解した。

 この式自体が変数やパラメータ間の依存関係を表している。

グラフィカルモデルの確認

 最後は、ポアソンモデルの生成モデルをグラフィカルモデル表現(graphical model representation)で確認する。グラフィカルモデルについては1.5節を参照のこと。

 ポアソンモデルの生成モデルは、次の式に分解できた。

 \displaystyle
\begin{aligned}
p(\mathbf{X}, \lambda, a, b)
   &= p(\mathbf{X} \mid \lambda)
      p(\lambda \mid a, b)
      p(a)
      p(b)
\\
   &= \left\{ \prod_{n=1}^N
          p(x_n \mid \lambda)
      \right\}
      p(\lambda \mid a, b)
      p(a)
      p(b)
\end{aligned}

 この式をグラフィカルモデルにすると、次の図になる。

ポアソンモデルのグラフィカルモデル

 「  a \to \lambda 」と「  b \to \lambda 」が、生成分布のパラメータの事前分布  p(\lambda \mid a, b) に対応し、事前分布(のパラメータ)に従ってパラメータ  \lambda が生成されることを示している。
 「  \lambda \to x_n 」が、生成分布(のパラメータ)に従って各データ  x_n が生成されることを示している。

 「  N 」のプレートが、 \prod_{n=1}^N に対応し、 N 個の観測データ  x_n が繰り返し生成されることを示している。

 この記事では、ポアソンモデルで用いる記号や定義を確認した。次の記事では、ポアソンモデルに対するベイズ推論を導出する。

参考文献

おわりに

 相変わらず準備の準備みたいな記事しか更新できてない。

 この記事の投稿日は、えびジュース(私立恵比寿中学とJuice=Juiceの対バンライブ)の開催日です🦐🍹

 私は現場で楽しんでるはずです🎶

【次節の内容】

  • 数式読解編

 ポアソンモデルに対するベイズ推論を数式で確認します。

www.anarchive-beta.com

 ガウスモデルの生成モデルを数式で確認します。

www.anarchive-beta.com


  • スクラッチ実装編

 ポアソンモデルの生成モデルをプログラムで確認します。

www.anarchive-beta.com

www.anarchive-beta.com

 本や記事の表記などとは対応していませんが、必要な内容は概ね上の記事で書いているので、参考にしてください。