PRML読書会#7 資料「5.7 ベイズニューラルネットワーク(3)」

これは パターン認識と機械学習(PRML)読書会 #7 (5章 ニューラルネットワーク 後半) での発表用の資料「5.7 ベイズニューラルネットワーク」です(作成中)。
はてP でプレゼン資料になります。
細かい説明/計算やサンプルは読書会にて板書します。

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

  • クラス分類の場合の hyperparameter αを推定したい


クラス分類の場合の likelihood function:

 \ln p(\mathcal{D}|\boldsymbol{w}) = \sum_{n=1}^N \{t_n \ln y_n+(1-t_n) \ln (1-y_n)\}, where y_n=y(\boldsymbol{x}_n,\boldsymbol{w})

  • t_n \in \{0,1\} は正しくラベル付けされていると仮定⇒精度を指す hyperparameter βは現れない

prior:
 p(\boldsymbol{w}|\alpha) = \mathcal{N}(\boldsymbol{w}|\boldsymbol{0},\alpha^{-1}\boldsymbol{I})
error function:
 E(\boldsymbol{w})=-\ln p(\mathcal{D}|\boldsymbol{w}) + \frac{\alpha}{2}\boldsymbol{w}^T\boldsymbol{w}

より、5.7.2 と同様に共役勾配法や backprop. を駆使して w_MAP を見つける。

αの推定

(★結果は PRML5.7.2 と同等)

evidence:
f(z)=p(\mathcal{D}|\boldsymbol{w})p(\boldsymbol{w}|\alpha) とおいて (4.135) を用いる。

 \ln p(\mathcal{D}|\alpha) = \ln\int f(w)d\boldsymbol{w} \approx -E(\boldsymbol{w}_{\rm{MAP}})-\frac{1}{2}\ln|\boldsymbol{A}|+\frac{W}{2}\ln\alpha

これを最大化するαは \alpha=\frac{\gamma}{\boldsymbol{w}_{\rm{MAP}}^T \boldsymbol{w}_{\rm{MAP}}}
⇒ w_MAP を再度求める(反復)

周辺予測分布 p(t|x,D)

 p(t|\boldsymbol{x},\mathcal{D})=\int p(t|\boldsymbol{x},\boldsymbol{w})p(\boldsymbol{w}|\mathcal{D})d\boldsymbol{w}

このままでは計算できないので近似

  • (1) posterior p(w|D) は幅が狭い
    • ⇒ p(w|D) が非0の区間p(t|\boldsymbol{x},\boldsymbol{w}) \approx p(t|\boldsymbol{x},\boldsymbol{w}_{\rm{MAP}})
    • 積分を評価して p(t|\boldsymbol{x},\mathcal{D})\approx p(t|\boldsymbol{x},\boldsymbol{w}_{\rm{MAP}})
  • (2) 出力ユニットの activation a=a(x,w) について w_MAP で1次までテーラー展開 (PRML4.5.2)
    • ⇒ p(a|x,D) を周辺化して p(t|x,D) を得る


出力ユニットの activation a=a(x,w) を線形近似

 a(\boldsymbol{x},\boldsymbol{w}) \approx a(\boldsymbol{x},\boldsymbol{w}_{\rm{MAP}}) + \boldsymbol{b}^T(\boldsymbol{w}-\boldsymbol{w}_{\rm{MAP}})
  where \boldsymbol{b}=\boldsymbol{b}(\boldsymbol{x})=\nabla a(\boldsymbol{x},\boldsymbol{w})|_{\boldsymbol{w}=\boldsymbol{w}_{\rm{MAP}}}

PRML4.5.2 より

 p(a|\boldsymbol{x},\mathcal{D})\approx \int\delta(a-a(\boldsymbol{x},\boldsymbol{w}_{\rm{MAP}}) - \boldsymbol{b}^T(\boldsymbol{w}-\boldsymbol{w}_{\rm{MAP}}))q(\boldsymbol{w}|\mathcal{D})d\boldsymbol{w}
  where δ:Dirac's delta function

これより平均と分散を求めると p(a|\boldsymbol{x},\mathcal{D}) \approx \mathcal{N}(a|a(\boldsymbol{x},\boldsymbol{w}_{\rm{MAP}}),\sigma_a^2), where \sigma_a^2=\boldsymbol{b}^T\boldsymbol{A}^{-1}\boldsymbol{b} であることがわかる


marginal predictive

 p(t=1|\boldsymbol{x},\mathcal{D})=\int \sigma(a)p(a|\boldsymbol{x},\mathcal{D})da

これを求めるためにプロビット関数の逆数とかなんとかかんとかして(PRML4.5.2)

 p(t=1|\boldsymbol{x},\mathcal{D})=\sigma(\kappa(\sigma_a^2)\boldsymbol{b}^T\boldsymbol{w}_{\rm{MAP}}),
  where \kappa(\sigma^2)=\left(1+\frac{\pi\sigma^2}{8}\right)^{-\frac{1}{2}} *1

  • ★とPRMLには書いてあるが、計算すると \sigma(\kappa(\sigma_a^2)a_{\rm{MAP}}) になる。本が間違っている?

*1:ロジスティックシグモイド関数のσ()と分散のσ^2が混じっているので注意……