trsing’s diary

勉強、読んだ本、仕事で調べたこととかのメモ。

PRML 5.7~5.7.3

5.7 ベイズニューラルネットワーク

多層ネットワークに対して事後分布をガウス近似して超パラメータの点推定、他のモデルとの比較を行う。回帰問題の場合、クラス分類の場合を扱う。

詳細

ベイズの枠組みでは、予測を行うにはパラメータの分布について周辺化をしなければならない。しかし、多層ネットワークの場合、ネットワーク関数がパラメータに極度に非線形に依存しているので、厳密にベイズの枠組みで扱うことができない。

事後分布を

  • モードを中心とするガウス分布で近似
  • ガウス分布の分散は十分小さく、事後確率が大きな値を取るパラメータ空間の領域(w_{MAP}近辺)では、ネットワーク関数はパラメータに関して近似的に線形である、と仮定

これにより、以前の章で議論した結果(超パラメータの点推定、他のモデルとの比較)を利用できるようになる。 まず回帰問題の場合、のちにクラス分類問題を解くために必要な修正を考える。

5.7.1 パラメータの事後分布

1次元の連続な目標変数tを入力ベクトルxから予測する問題(p(t|x,D)を導く)を考える。

出発点

条件付確率p(t|x)xに依存する平均(y(x,w))と精度\betaを持つガウス分布(5.161)とする

重みwに関する事前分布をガウス分布(5.162)とする

独立同分布によるN回の観測値x_{1},\cdots,x_{N}をデータ集合とし、その目標値集合をD=\{t_{1},\cdots,t_{N}\}とする

これらより、尤度関数は(5.163)、事後分布は(5.614)となる。

事後分布をガウス分布で近似

y(x,w)w非線形に依存するため、事後分布はガウス分布にならない。そのためラプラス近似を用いて、事後分布をガウス分布で近似する。

手順
  • 事後分布を(局所的に)最大化するw_{MAP}を見つける。
    \alpha,\betaは固定とし、標準的な非線形最適化アルゴリズムを用いるとよい。
  • 事後分布の負の対数尤度の2階微分の行列を評価する。   これは(5.166)で与えられる。
  • 事後分布のガウス近似を得る。
    w_{MAP}と(5.166)を用いて(5.167)で与えられる。
  • 予測分布p(t|x,D)を得る
    事後分布について周辺化する(5.168)と予測分布を得られる。

ネットワーク関数を線形化

ネットワーク関数y(x,w)w非線形関数であるため、この積分(5.168)は扱いずらい。これを克服するため、ネットワーク関数y(x,w)を線形化する。

  • 事後分布の分散(A^{-1})はy(x,w)が変化するwの特性スケールに比べて小さいと仮定。
  • ネットワーク関数をw_{MAP}のまわりでテイラー級数展開し、線形項だけ残す(5.169)

一般に成り立つ結果(2.115)を周辺分布p(t)に適用すると、予測分布p(t|x,D)は平均がネットワーク関数y(x,w_{MAP})で与えられるガウス分布になる。

wの周辺ガウス分布q(w|D)wが与えられた時のtの条件付きガウス分布p(t|x,w)からtの周辺分布p(t|x,D,\alpha,\beta)を得る。

5.7.2 超パラメータ最適化

超パラメータ\alpha,\betaの値を選ぶ手続きを得る。

手続き

3.5節で議論したエビデンス理論を、ラプラス近似を使って得られた事後分布のガウス分布近似とともに用いると、超パラメータの値を選ぶ実用的な手続きが得られる。

  • 超パラメータの周辺尤度(あるいはエビデンス)(5.174)を得る
  • \ln p(D|\alpha,\beta)を最大化して\alpha\betaの点推定を行う

\alphaについての最大化
3.5.2節で議論した線形回帰モデルの場合と同様の方法で可能

  • 固有方程式(5.177)を定義する
  • (3.92)と同様にして(5.178)を得る。
    \alphaの変化によってヘッセ行列が変化し、固有値が変化することに注意

※(5.177)より\beta H固有値\lambda_{i}

\betaについての最大化
(3.95)により\betaに関してエビデンスを最大化すると(5.180)。

超パラメータ\alpha,\betaの再推定と事後分布の更新を交互に行う

注意
ニューラルネットワークモデルは、事後分布の多峰性のため、w_{MAP}の解はwの初期値に依存する。等価でない解が得られた場合、最適な超パラメータも異なる値になる。

モデルの比較

異なるモデルの比較をするには、モデルのエビデンスp(D)を評価する。

近似して評価:(5.175)に得られた超パラメータ\alpha,\betaの値を代入する
厳密に評価:\alpha,\betaを周辺化し、再びガウス近似を行う

どっちの場合もヘッセ行列|A|を評価する必要がある。行列式は小さな固有値に敏感だが、小さな固有値は正確に求めるのが困難な場合がある。

注意
異なる隠れユニット数を持つネットワークを比較する場合、エビデンスM!2^{M}倍することで、重み空間対称性を考慮する。

5.7.3 クラス分類のためのベイズニューラルネットワーク

1つのロジスティックシグモイド出力をもつネットワークによる2クラス分類問題を考える

手順

対数尤度関数(5.181)に対してラプラス近似理論を応用する。 そのために

  • 超パラメータ\alphaを初期化する
  • 対数事後分布を最大化するパラメータw_{MAP}を見つける。
    これは(5.182)を最小化することと等価
  • 負の対数尤度関数の2階微分からなるヘッセ行列Hを評価する
    これは(5.166)の形で書ける
  • 事後分布のガウス近似(5.167)を得る
  • \alphaについての最大化する
    周辺尤度を(5.183)最大化する\alphaは(5.178)となる
  • 予測分布を近似する
    予測分布は(5.168)だが、この積分はやはりネットワーク関数の非線形により実現困難なため近似する。
近似

もっとも単純な近似法は、事後分布は幅が非常に狭いと仮定して(5.185)。
事後分布の分散を考慮すればもっとましな近似ができる。手順は

  • 出力ユニットの活性を線形近似する(5.186)
    回帰のようにネットワーク出力を線形近似することは不適切であるため。
  • 4.5.2節の結果を利用して(5.187)
  • aに関して周辺化して予測分布を得る
     (4.153)の近似を(5.189)に応用して(5.190)  
    (5.187)の平均と分散

    q(w|D)=N(w|w_{MAP},A^{-1})に注意して、
    平均
    \displaystyle{
\mu_{a}=\int ap(a) da = \int a \int \delta(a-(a_{MAP}-b^{T}w_{MAP}+b^{T}w))q(w)dw da\\
\hspace{15pt}=\int  \int a \delta(a-(a_{MAP}-b^{T}w_{MAP}+b^{T}w)) da q(w)dw\\
\hspace{15pt}=\int  (a_{MAP}-b^{T}w_{MAP}+b^{T}w)q(w)dw\\
\hspace{15pt}=(a_{MAP}-b^{T}w_{MAP})\int q(w)dw  +b^{T}\int wq(w)dw\\
\hspace{15pt}=a_{MAP}-b^{T}w_{MAP} +b^{T}w_{MAP}\\
\hspace{15pt}=a_{MAP}
}

分散
\displaystyle{
\sigma_{a}^{2}=\int a^{2}p(a)da-\mu_{a}^{2}=
\int  \int a^{2} \delta(a-(a_{MAP}-b^{T}w_{MAP}+b^{T}w)) da q(w)dw-\mu_{a}^{2}\\
\hspace{15pt}=\int (a_{MAP}-b^{T}w_{MAP}+b^{T}w)^{2} q(w)dw-\mu_{a}^{2}\\
\hspace{15pt}=\int \{(a_{MAP}-b^{T}w_{MAP})^{2}+2(a_{MAP}-b^{T}w_{MAP})b^{T}w+(b^{T}w)^{2})\} q(w)dw-\mu_{a}^{2}\\
\hspace{15pt}= (a_{MAP}-b^{T}w_{MAP})^{2}\int q(w)dw+
2(a_{MAP}-b^{T}w_{MAP})b^{T}\int w q(w)dw+
\int (b^{T}w)^{2} q(w)dw-\mu_{a}^{2}\\
\hspace{15pt}=a_{MAP}^{2}-2a_{MAP}b^{T}w_{MAP}+(b^{T}w_{MAP})^{2}+
2(a_{MAP}-b^{T}w_{MAP})b^{T}w_{MAP}+
 b^{T}(A^{-1}+w_{MAP}^{2})b-\mu_{a}^{2}\\
\hspace{15pt}=a_{MAP}^{2}-2a_{MAP}b^{T}w_{MAP}+(b^{T}w_{MAP})^{2}+
2a_{MAP}b^{T}w_{MAP}-2(b^{T}w_{MAP})^{2}+
 b^{T}A^{-1}b+(b^{T}w_{MAP})^{2}-\mu_{a}^{2}\\
\hspace{15pt}= b^{T}A^{-1}b
}