jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「確率的機械学習 入門編I」を読む ~第4章 統計学 ④ベイズ統計学・その2~

はじめに

持橋大地・鈴木大慈 監訳「確率的機械学習 入門編I」は,世界的に評価の高いK.P.Murphy著 "Probabilistic Machine Learning (Book1)" の和訳であり,確率モデルに基づく機械学習,深層学習といった基礎が丁寧に整理されている。私は統計検定1級として数理統計の基礎は学んできたが,機械学習・深層学習は実務に応じて場当たり的に学んできた。実務での応用に向けて,機械学習・深層学習の基礎を体系的に学び,チームの技術力を底上げしたいと考えている。また読書メモに自身の理解をまとめることで,製造業に携わる若いエンジニアにとっても有益な知識を還元できればと考えている。

※なおボリュームが多い本なので,知っているところは端折りながら読み進めたい。


本記事は,「第4章 統計学」のベイズ統計学における,ディリクレ・多項モデル,ガウスガウスモデル,共役でない事前分布に関する読書メモである。

4.6 ベイズ統計学

4.6.3 ディリクレ・多項モデル

前項のベータ・二項モデルは二値変数を対象としていたが,本項で扱うディリクレ・多項モデルは, K値変数を対象にしている。

尤度

 Y \sim \mathrm{Cat}(\boldsymbol{\theta})をカテゴリカル分布にしたがう離散変数とする。

●ブログ筆者註 :
カテゴリカル分布は本書P52にある。 C次元のベクトルにおいて,要素の1つだけが1,残りが0となるようなベクトルにおいて,このベクトルの出現確率を表現するのに用いられる。


 \begin{align}
p(\mathcal{D} \mid \boldsymbol{\theta}) = \prod_{n=1}^N \mathrm{Cat}(y_n \mid \boldsymbol{\theta})
= \prod_{n=1}^N \prod_{c=1}^C \theta_c^{\mathbb{I}(y_n =c )} \\ \\ 
\end{align}

事前分布

カテゴリカル分布の共役事前分布は,ディリクレ分布(Dirichlet distribution)が用いられる。ディリクレ分布の確率密度関数は,次のように定義される。


 \begin{align}
\mathrm{Dir} (\boldsymbol{\theta} \mid \overset{\smallsmile}{\boldsymbol{\alpha}})
&\equiv \frac{1}{B(\overset{\smallsmile}{\boldsymbol{\alpha}})} \prod_{k=1}^K \theta_k^{ \overset{\smallsmile}{\alpha} - 1 }
\mathbb{I} (\boldsymbol{\theta} \in S_K) \\ \\

S_K &= \left\{ \boldsymbol{\theta} : 0 \leq \theta_k \leq 1, \sum_{k=1}^K \theta_k = 1  \right\} \\ \\

B(\overset{\smallsmile}{\boldsymbol{\alpha}}) 
&\equiv \frac{  \prod_{k=1}^K \Gamma(\overset{\smallsmile}{\alpha}_k) }{  \Gamma(\sum_{k=1}^K \overset{\smallsmile}{\alpha}_k))  } \\ \\

\end{align}

 K=3におけるディリクレ分布を下図に示す。

K=3のディリクレ分布

事後分布

 K値変数において k (k=1,...,K)番目の要素が1になった回数を N_kで表す。多項分布の尤度とディリクレ事前分布を組合わせると,以下のような事後分布が計算される。


 \begin{align}
p(\boldsymbol{\theta} \mid \mathcal{D}) 
&\propto p(\mathcal{D} \mid \boldsymbol{\theta}) p(\boldsymbol{\theta}) \\ \\
&=\mathrm{Dir} (\boldsymbol{\theta} \mid \overset{\smallsmile}{\alpha}_1 + N_1, ..., \overset{\smallsmile}{\alpha}_K + N_K)) \\ \\
&=\mathrm{Dir} (\boldsymbol{\theta} \mid \overset{\smallfrown}{\boldsymbol{\alpha}} ) \\ \\
\end{align}
となり,事後分布もカテゴリカル分布になる。

●ブログ筆者註 :
ディリクレ・多項モデルは,トピックモデルにおけるLDA(Latent Dirichlet Allocation)の中心的な構成要素である。

4.6.4 ガウスガウスモデル

本項では,ガウス分布のパラメータの事後分布について説明している。なお簡単のため,分散 \sigma^2は既知であるとする。

単変量

 \mu に関する尤度は以下のような形になる。


 \begin{align}
p(\mathcal{D} \mid \mu) \propto \exp \left( -\frac{1}{2\sigma} \sum_{n=1}^N (y_n - \mu)^2 \right) \\ \\
\end{align}

 \mu の事前分布もガウス分布 \mathcal{N}(\mu \mid \overset{\smallsmile}{m},  \overset{\smallsmile}{\lambda})とする。ただし \overset{\smallsmile}{\lambda}は分散の逆数である。事後分布は


 \begin{align}
p(\mu \mid \mathcal{D}, \kappa) &= \mathcal{N}(\mu \mid  \overset{\smallfrown}{m}, \overset{\smallfrown}{\lambda}^{-1}) \\ \\

\overset{\smallfrown}{\lambda} &= \overset{\smallsmile}{\lambda} + N {\kappa} \\ \\

\overset{\smallfrown}{m} &= \frac{N {\kappa}}{N {\kappa} + \overset{\smallsmile}{\lambda}} \bar{y} + 
\frac{ \overset{\smallsmile}{\lambda} }{N {\kappa} + \overset{\smallsmile}{\lambda}} \overset{\smallsmile}{m} \\ \\

\end{align}
となる。

すなわち,

  • 事後分布の精度は,事前分布の精度に,観測の精度 \kappa N倍を加えたものになる。
  • 事後分布の平均は,事前分布の平均と標本平均の凸結合になる。

ということが分かる。

また事後分布の平方根は,平均の標準誤差と呼ばれ,


 \begin{align}
\mathrm{se} (\mu) = \sqrt{V[ \mu \mid \mathcal{D} ]} = \frac{s}{\sqrt{N}} \\ \\
\end{align}
となる。ただし s^2は標本分散である。 \muにおける不確実性は, 1/\sqrt{N}のレートで減少する。

4.6.5 共役ではない事前分布

これまで例に挙がっていた共役事前分布は,すべて指数型分布族であった。指数型分布族は,計算がしやすいといった利点があるが,実際は

  • 尤度に対して共役な指数型分布族の事前分布があるとは限らない。
  • 共役自然分布があったとしても,共役性の仮定が強すぎる。

といった不都合があることがある。

本項では,共役ではない事前分布について説明している。

無情報事前分布

ドメイン知識がほとんど得られないときは,無情報事前分布(non-informative prior)を用いることが望ましい。たとえば, p(\mu) \propto 1のような定数が用いられる。

ただし,無情報事前分布を定義する方法は一意ではなく,何らかの情報を含むことになるので,拡散した事前分布といった表現が用いられることがある。

階層的事前分布

事前分布 p(\boldsymbol{\theta})をさらに事前分布を設定するモデルを階層ベイズモデル(hierarchical Bayesian model)とよぶ。例えば,同時分布は以下のような形になる。


 \begin{align}
p(\boldsymbol{\phi}, \boldsymbol{\theta}, \mathcal{D}) = p(\boldsymbol{\phi}) p(\boldsymbol{\theta} \mid \boldsymbol{\phi}) p(\mathcal{D} \mid \boldsymbol{\theta}) \\ \\
\end{align}

経験事前分布

階層ベイズモデルは,事後分布の推論が計算的に困難になることがある。本項では,計算が容易な近似手法を説明している。

手順としては,ハイパーパラメータ \boldsymbol{xi}を,周辺尤度の最大化によって求める。


 \begin{align}
\hat{\boldsymbol{\xi}}_{mml}(\mathcal{D}) = \operatorname*{argmax}_{\boldsymbol{\xi}} p(\mathcal{D} \mid \boldsymbol{\xi})
= \operatorname*{argmax}_{\boldsymbol{\xi}} p(\mathcal{D} \mid \boldsymbol{\theta}) p(\boldsymbol{\theta} \mid \boldsymbol{\xi}) d\boldsymbol{\theta} \\ \\
\end{align}
これは,第二種最尤推定 (type II maximum likelihood)と言われる。

このように得られた \hat{\boldsymbol{\xi}}を用いて,事後分布 p(\boldsymbol{\theta} \mid \hat{\boldsymbol{\xi}}, \mathcal{D})を計算する。このアプローチは,事前分布のパラメータをデータから推定しているので,経験ベイズ(empirical Bayes, EB)と呼ばれる。

まとめと感想

今回は,「4 統計学」のベイズ統計学における,ディリクレ・多項モデル,ガウスガウスモデル,共役でない事前分布についてまとめた。

ディリクレ・多項モデルは,登場する確率分布が複雑なものになっているが,ベータ・二項モデルの自然な拡張になっているため,ベータ・二項モデルで出てきた計算手法が応用できることが理解できた。

ガウスガウスモデルは,事前分布も尤度もガウス分布を用いるため,事後分布もガウス分布になる,という性質が確認できた。また事後分布の平均・分散(精度)についても,事前分布・尤度のパラメータの和や凸結合になるといった美しい性質があることが確認できた。

実際の応用シーンでは,共役事前分布が必ずしも扱えるとは限らない。そのための手法として無情報事前分布や階層的事前分布,経験事前分布が紹介されていた。これらは,計算量や表現力の間にトレードオフがあると考えているが,実際の計算例を通じて比較してみたいと思った。


本記事を最後まで読んでくださり,どうもありがとうございました。