ユーザ用ツール

サイト用ツール


prml演習5.40の解答

PRML演習5.40の解答

\[ \newcommand\l{\left} \newcommand\r{\right} \newcommand\cmt[1]{\class{Cmt}{\mbox{#1}}} \newcommand\b[1]{\class{Bold}{\mathrm{#1}}} \newcommand\bx{\b{x}} \newcommand\bz{\b{z}} \newcommand\bw{\b{w}} \newcommand\bt{\b{t}} \newcommand\bX{\b{X}} \newcommand\bb{\b{b}} \newcommand\bA{\b{A}} \newcommand\bI{\b{I}} \newcommand\bH{\b{H}} \newcommand\bu{\b{u}} \newcommand\ba{\b{a}} \newcommand\by{\b{y}} \newcommand\T{\mathrm T} \newcommand\Tr{\mathrm {Tr}} \newcommand\D{{\cal D}} \newcommand\N{{\cal N}} \newcommand\pdiff[2]{\frac{\partial #1}{\partial #2}} \newcommand\bwmap{\bw_{MAP}} \]


多クラス分類問題を解くために

  • ニューラルネットの重み \(\bw\) を確率変数としたベイズニューラルネットを考える
  • ベイズニューラルネットの出力ユニットの活性化関数をソフトマックス関数とする
  • 目標変数 \(\bt\) の条件付き分布を多項分布(B.54)とし、ベイズニューラルネットの出力をこの多項分布の平均と解釈する

というモデルを考える。

出力ユニット\(y_k\)の活性を\(a_k\)とし、活性化関数をソフトマックス関数とすると \[ y_k(\bx,\bw) = \frac{\exp(a_k(\bx,\bw))}{\sum_j\exp(a_j(\bx,\bw))} \] 目標変数 \(\bt\,(1\ of\ K表記)\)の条件付き分布を多項分布とし、ニューラルネットの出力を分布の平均と解釈すると \[ \begin{align} p(\bt|\bx,\bw) &= \prod_{k=1}^K y_k(\bx,\bw)^{t_k} \tag{1} \\ \end{align} \] となる。\(\D=\{\bt_1,\bt_2,\ldots\},\ \bX=\{\bx_1,\bx_2,\ldots\},y_{nk}=y_k(\bx_n,\bw)\) とおくと尤度は \[ \begin{align} p(\D|\bX,\bw)&=\prod_{n=1}^N p(\bt_n|\bx_n,\bw)~~~(\because (\bt_1,\bx_1),(\bt_2,\bx_2),\ldots\ は独立なので) \\ &=\prod_{n=1}^N\prod_{k=1}^K y_{nk}^{t_{nk}} \tag{2} \\ \end{align} \] よって、対数尤度は \[ \begin{align} \ln p(\D|\bX,\bw)&=\sum_{n=1}^N \sum_{k=1}^K t_{nk}\ln y_{nk} \tag{3} \\ \end{align} \] となる。
(注)教科書では条件付き確率の \(\bx,\bx_n,\bX\) の表記は省略されている。

パラメータ\(\bw\)の推定

ベイズモデルなので \(\bw\) の推定値は、最大事後確率推定(MAP推定)で得られる。
\(\bw\) の事後分布は、 \[ \begin{align} p(\bw|\D,\bX) &= \frac{p(\D,\bw|\bX)}{p(\D|\bX)} =\frac{p(\D|\bw,\bX)p(\bw)}{p(\D|\bX)} \\ &\propto p(\D|\bw,\bX)p(\bw)~~~\cmt{※1} \\ \end{align} \]
\( \begin{align} \cmt{※1}~~~ &\D,\bXは観測値に固定されているのでp(\D|\bX)は定数 \\ \end{align} \)
なので、対数事後分布は、 \[ \begin{align} \ln p(\bw|\D,\bX) &= \ln p(\D|\bw,\bX) + \ln p(\bw) + C~~~(Cは\bwに依らない定数) \\ &=\sum_{n=1}^N\sum_{k=1}^K t_{nk}\ln y_{nk} + \ln p(\bw) + C~~~(\because\ (3)) \\ \end{align} \] となる。\(\bw\) の事前分布を等方ガウス分布(5.162)とすると \[ \ln p(\bw|\D,\bX) = \sum_{n=1}^N\sum_{k=1}^K t_{nk}\ln y_{nk} -{\alpha\over2}\bw^\T\bw + C \] となる。よって、対数事後分布の最大化は、正則化誤差関数(5.182) \[ \begin{align} E(\bw) &= -\ln p(\D|\bw,\bX)+{\alpha\over2}\bw^\T\bw \tag{4a} \\ &= -\sum_{n=1}^N\sum_{k=1}^K t_{nk}\ln y_{nk} + {\alpha\over2}\bw^\T\bw \tag{4b} \\ \end{align} \] の最小化と等価であることが分かる。
\(E(\bw)\)を最小にする \(\bwmap\) は \(\b{0}=\pdiff{E}{\bw}\) で与えられる。 この解は、5.2.4節の勾配降下法で得ることができる。途中で必要な \(\pdiff{E}{\bw}\) の計算値は、5.3節の誤差逆伝播で得ることが出来る。

予測分布

新しい \(\bx\) に対する \(\bt\) の予測分布は、 \[ \begin{align} p(\bt|\bx,\D,\bX) &=\int p(\bt,\bw|\bx,\D,\bX)\,d\bw =\int p(\bt|\bx,\bw)p(\bw|\D,\bX)\,d\bw \\ &=\int \prod_{k=1}^K y_(\bx,\bw)^{t_k}p(\bw|\D,\bX)\,d\bw \\ \end{align} \] で与えられる。このまま積分するのは難しいので近似する。
(近似1)
5.7.3節の(5.185)と同様に事後分布を \(p(\bw|\D,\bx)\simeq \delta(\bw-\bwmap)\) と近似して \[ \begin{align} p(\bt|\bx,\D,\bX)&=\int \prod_{k=1}^K y_k(\bx,\bw)^{t_k}p(\bw|\D,\bX)\,d\bw \\ &\simeq \int \prod_{k=1}^K y_k(\bx,\bw)^{t_k}\delta(\bw-\bwmap)\,d\bw \\ &=\prod_{k=1}^K y_k(\bx,\bwmap)^{t_k} \\ \end{align} \] を得る。
(近似2)
5.7.3節の(5.190)と同様の近似は出来ないことの説明。
(5.186)と同様にネットワークの出力 \(y_k\) の活性 \(a_k\) を線形近似する。 \[ a_k(\bx,\bw)\simeq a_k^{MAP}(\bx)+\bb_k^\T(\bw -\bwmap) \] ただし、 \[ \begin{align} a_k^{MAP}(\bx) &= a_k(\bx,\bwmap) \\ \bb_k &= \nabla a_k(\bx,\bw) \Big|_{\bw=\bwmap} \end{align} \] とする。このときネットワークの出力 \(y_k\) は \[ y_k(\bx,\bw)\simeq \frac{\exp\Big(a_k^{MAP}(\bx)+\bb_k^\T(\bw-\bwmap)\Big)} {\sum_j \exp\Big(a_j^{MAP}(\bx)+\bb_j^\T(\bw-\bwmap)\Big)} \] となる。これより 新しい \(\bx\) に対して \(\bt{=}(0\cdots\underset{\moveleft1em\rlap{k番目}\hphantom{1}}{1}\cdots0)\) となる確率密度は、 \[ \small \begin{align} &p(\bt{=}(0\cdots\underset{\moveleft1em\rlap{k番目}\hphantom{1}}{1}\cdots0)|\bx,\D,\bX) = \int y_k(\bx,\bw)p(\bw|\D,\bX)\,d\bw \\ ~~~~&\simeq \int \frac{\exp\Big(a_k^{MAP}(\bx)+\bb_k^\T(\bw-\bwmap)\Big)} {\sum_j \exp\Big(a_j^{MAP}(\bx)+\bb_j^\T(\bw-\bwmap)\Big)} p(\bw|\D,\bX)\,d\bw ~~~(a_k\ を線形近似) \\ ~~~~&\simeq \int \underbrace{ \frac{\exp\Big(a_k^{MAP}(\bx)+\bb_k^\T(\bw-\bwmap)\Big)} {\sum_j \exp\Big(a_j^{MAP}(\bx)+\bb_j^\T(\bw-\bwmap)\Big)} }_{(*)} q(\bw|\D,\bX)\,d\bw ~~~(p(\bw|\D,\bX)をラプラス近似) \\ \end{align} \] となる。積分の中の(*)が \(\bw^\T\bb_k\) を変数とするシグモイド関数になっていないので、この積分を(4.145)と同じ形と見なせない。よって、4.5.2節の結果を利用して積分を得ることができない。

5.7.3節では、(*)の部分が \(\sigma(a_{MAP}(\bx)+\bb^\T(\bw-\bwmap))\) となっていたので、(4.145)の積分と同じ形と見なすことができ、(4.148)、(4.150)、(4.153)を用いて(5.190)の積分を得ることができた。

超パラメータの推定

\(\alpha\) のエビデンス関数は \[ p(\D|\alpha,\bX)=\int p(\D|\bw,\bX)p(\bw|\alpha)\,d\bw \] である。右辺の \[ f(\bw)=p(\D|\bw,\bX)p(\bw|\alpha) \] をラプラス近似する。\(\cmt{※2}\)
\( \begin{align} \cmt{※2}~~~ &ラプラス近似にする根拠はない。\\ &ラプラス近似でいいんではないかと仮定してるだけ \\ \end{align} \)
このとき、(4.135)より \[ \begin{align} p(\D|\alpha,\bX)&=\int f(\bw)\,d\bw \\ &\simeq f(\bwmap)\frac{(2\pi)^{W/2}}{|\bA|^{1/2}} \\ \end{align} \] となる。ただし、\(W\) は \(\bw\) の次元で、 \[ \begin{align} \bA&=-\nabla\nabla\ln f(\bw)\Big|_{\bw=\bwmap} \tag{4.132} \\ \end{align} \] である。 よって \[ \ln p(\D|\alpha,\bX)=\ln f(\bwmap)+{W\over2}\ln(2\pi)-{1\over2}\ln|\bA| \] ここで、 \[ \small \begin{align} \ln f(\bwmap) &= \ln p(\D|\bwmap,\bX)+\ln p(\bwmap|\alpha) \\ &= -E(\bwmap)+{\alpha\over2}\bwmap^\T\bwmap+\ln \N(\bwmap|\b{0},\alpha^{-1}\bI)~~~\cmt{※3, ※4} \\ &= -E(\bwmap)+{\alpha\over2}\bwmap^\T\bwmap +\ln {1\over|2\pi|^{W/2}}{1\over|\alpha^{-1}\bI|^{1/2}} \exp\Big(-{\alpha\over2}\bwmap^\T\bwmap\Big) \\ &= -E(\bwmap)-{W\over2}\ln(2\pi)+{W\over2}\ln \alpha ~~~\cmt{※5} \end{align} \]
\( \begin{align} \cmt{※3}~~~ &上記\ E(\bw) = -\ln p(\D|\bw,\bX)+{\alpha\over2}\bw^\T\bw\ (4a)より \\ &\therefore \ln p(\D|\bwmap,\bX) = -E(\bwmap)+{\alpha\over2}\bwmap^\T\bwmap \end{align} \)
\( \begin{align} \cmt{※4}~~~ &p(\bw|\alpha)=\N(\bw|\b{0},\alpha^{-1}\bI)~~(5.162)より \end{align} \)
\( \begin{align} \cmt{※5}~~~ &|\alpha^{-1}\bI| = \alpha^{-W} \end{align} \)
なので \[ \ln p(\D|\alpha,\bX)=-E(\bwmap)-{1\over2}\ln|\bA|+{W\over2}\ln\alpha \] を得る。 これを最大にする \(\alpha\) は \[ \begin{align} 0 &= \pdiff{}{\alpha}\ln p(\D|\alpha,\bX) \\ &=\pdiff{}{\alpha}\Big(-E(\bwmap)-{1\over2}\ln|\bA|+{W\over2}\ln\alpha\Big) \\ &=-{1\over2}\bwmap^\T\bwmap-{1\over2}\pdiff{}{\alpha}\ln|\bA|+{W\over2\alpha} ~~~\cmt{※6} \\ \end{align} \]
\( \begin{align} \cmt{※6}~~~ &上記\ E(\bw)=\sum_n\sum_k t_{nk}\ln y_{nk}+{\alpha\over2}\bw^\T\bw~~~(4b)より \\ &\pdiff{E(\bwmap)}{\alpha} ={1\over2}\bwmap^\T\bwmap \\ \end{align} \)
で与えられる。ここで \[ \begin{align} \bA &= -\nabla\nabla\ln f(\bw)\Big|_{\bw=\bwmap} \\ &=-\nabla\nabla\ln p(\D|\bw,\bX)\Big|_{\bw=\bwmap}-\nabla\nabla\ln p(\bw|\alpha)\Big|_{\bw=\bwmap} \\ &=\bH+\alpha\bI ~~~\cmt{※7} \\ \end{align} \]
\( \begin{align} \cmt{※7}~~~ &-\nabla\nabla\ln p(\bw|\alpha)=-\nabla\nabla\ln \N(\bw|\b{0},\alpha^{-1}\bI)~~~(\because (5.162)) \\ &~~~~=-\nabla\nabla\Big(-{\alpha\over2}\bw^\T\bw\Big)=\alpha\bI~~~\cmt{※7.1}\\ \end{align} \)
\( \begin{align} \cmt{※7.1}~~~ &\pdiff{\bw^\T\bw}{\bw} =\pdiff{\Tr(\bw^\T\bI\bw)}{\bw} =\Big(\pdiff{\Tr(\bw^\T\bI\bw)}{\bw^\T}\Big)^\T \\ &~~~~=\Big(\bw^\T(\bI+\bI^\T)\Big)^\T~~~(\because\ (C.27)) \\ &~~~~=2\bw \\ &\therefore\ \pdiff{}{\bw}\pdiff{}{\bw}\bw^\T\bw=\pdiff{}{\bw}2\bw \\ &~~~~~~~~=2\pmatrix{\pdiff{w_1}{w_1}&\pdiff{w_2}{w_1}\\ \pdiff{w_1}{w_2}&\pdiff{w_2}{w_2}} =2\pmatrix{1&0\\0&1}=2\bI \\ &\therefore\ \nabla\nabla\bw^\T\bw =\pdiff{}{\bw}\pdiff{}{\bw}\bw^\T\bw=2\bI \\ \end{align} \)
である。ただし \[ \bH = -\nabla\nabla\ln p(\D|\bw,\bX)\Big|_{\bw=\bwmap} \] とする。 \(\bH\) の固有値を \(\lambda_i\ (i=1,\cdots,W)\) とすると\(\cmt{※8}\) \(\bA\) の固有値は \(\lambda_i+\alpha\ (i=1,\cdots,W)\)となる。\(\cmt{※9}\)
\( \begin{align} \cmt{※8}~~~ &縮退してても大丈夫?\\ &あと計算量の少ない固有値の求め方?\\ \end{align} \)
\( \begin{align} \cmt{※9}~~~ &\bHの固有ベクトルを\bu_iとすると \\ &\bH\bu_i=\lambda_i\bu_i\\ &(\alpha\bI)\bu_i = \alpha\bu_i \\ &\therefore\ (\bH+\alpha\bI)\bu_i = (\lambda_i+\alpha)\bu_i \end{align} \)
よって \[ \begin{align} \pdiff{}{\alpha}\ln|\bA| &= \pdiff{}{\alpha}\ln\prod_{i=1}^W(\lambda_i+\alpha)~~~(\because\ (C.47)) \\ &=\pdiff{}{\alpha}\sum_{i=1}^W \ln(\lambda_i+\alpha) \\ &=\sum_{i=1}^W{1\over\lambda_i+\alpha} \\ \end{align} \] これを上の式に入れて \[ \begin{align} 0&=-{1\over2}\bwmap^\T\bwmap-{1\over2}\sum_{i=1}^W{1\over\lambda_i+\alpha}+{W\over2\alpha} \\ \therefore\ 0&=-\alpha\bwmap^\T\bwmap-\sum_{i=1}^W{\alpha\over\lambda_i+\alpha}+\sum_{i=1}^W 1 \\ &=-\alpha\bwmap^\T\bwmap+\sum_{i=1}^W{\lambda_i\over\lambda_i+\alpha} \\ \therefore\ \alpha &= {\gamma\over\bwmap^\T\bwmap} \tag{5.178} \end{align} \] を得る。ただし \[ \begin{align} \gamma &= \sum_{i=1}^W{\lambda_i\over\lambda_i+\alpha} \tag{5.179} \\ \end{align} \] とする。

確率モデル図

問われてはいないが、8章の確率モデル図をこの問題のモデルについて書いてみる。 (以前、ニューラルネットワークを確率モデル図の一種と誤解していたので。今でも色々誤解しているが、、、)

まず、ニューラルネットと確率モデル図は別のものである。
  • ニューラルネットワークのノードは確率変数とは限らない。矢印はノード間の確率的依存関係を表現していない。各ノードに条件付き分布が割り当てられていない。同時分布を与えない。
  • 確率モデル図のノードは確率変数である。矢印はノード間の確率的依存関係\(\cmt{※10}\)を表現している。各ノードに条件付き分布を割り当てる。各ノードの分布の積が同時分布を与える。
\( \begin{align} \cmt{※10}~~~ &確率的依存の仕方にはいくつか種類がある(wikiより) \\ &\cdot\ 確率変数変換\ y=f(x) \\ &\cdot\ 確率変数の関数\ z=g(x,y) \\ &\cdot\ 混合分布(Compound\ distribution) \\ &~~~y\ の分布のパラメータが\ x\ の関数になっていること。 \\ &~~~p(y|x) = N(y|f(x),\sigma^2)\ とか \\ &~~~(なお、混合分布というと\ p(x)=\sum \pi_k p_k(x)\ を指すこともある) \\ \end{align} \)
上の解答において、確率変数は \(\bt,\bt_n,\bw,\bz,\ba,\by\) である。\(\bx\) は分布を考えず確率変数ではないとした。
\(\bt,\bw,\bz,\ba,\by\) の確率モデル図は
である。(1) \(p(\bt|\bx,\bw)\) において想定しているモデル図は
である。 \(\bt_n,\bx_n,\bw,\bz,\ba,\by\) の確率モデル図は
である。(2) \(p(\D|\bX,\bw)\) において想定していたモデル図は
である。予測分布を求めるときに想定していたモデル図は
である。失敗したが \(a_k\)を線形近似して予測分布を求めようとしたときに想定していたモデル図は
である。訓練時の \(\ba_n\) を含めたモデル図は
である。
目をつけている確率変数の違いでモデル図が変わるが、確率変数の依存関係は互いに矛盾していない、、筈。

prml演習5.40の解答.txt · 最終更新: 2021/06/28 13:01 by ma

ページ用ツール