線形回帰モデル: ベイズ線形回帰
ベイズ線形回帰
ベイズ推定ではパラメータ$ \mathbf{w}について周辺化を行うことでターゲットを予測します.
そのために,まずは事後確率$ p(\mathbf{w} | \mathbf{X}, \mathbf{t})を以下の条件で求めます.
$ p(\mathbf{w} | \mathbf{X}, \mathbf{t}) = \frac{p(\mathbf{t} | \mathbf{X}, \mathbf{w})p(\mathbf{w})}{p({\mathbf{t} | \mathbf{X}})}
$ p(\mathbf{w}|\alpha) = \mathcal{N}(\mathbf{w} |\mathbf{0}, \alpha^{-1}\mathbf{I})
$ p(\mathbf{t} | \mathbf{X}, \mathbf{w}, \beta) = \mathcal{N}(\mathbf{t} | \mathbf{\Phi}\mathbf{w}, \beta^{-1}\mathbf{I})
尤度$ p(\mathbf{t} | \mathbf{X}, \mathbf{w})の変数変換を行うと
$ \begin{array}{ll} p(\mathbf{t} | \mathbf{X}, \mathbf{w}, \beta) & = \mathcal{N}(\mathbf{t} | \mathbf{\Phi}\mathbf{w}, \beta^{-1}\mathbf{I})\\ & = \mathcal{N}(\mathbf{w}| (\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi})^{-1}\mathbf{\Phi}^\mathrm{T}\mathbf{t}, \beta^{-1}(\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi})^{-1})\end{array}
尤度$ p(\mathbf{t} | \mathbf{X}, \mathbf{w}, \beta)と事前分布$ p(\mathbf{w}|\alpha)の積は
$ \begin{array}{ll} p(\mathbf{t} | \mathbf{X}, \mathbf{w}, \beta)p(\mathbf{w}|\alpha) & = \mathcal{N}(\mathbf{t} | \mathbf{\Phi}\mathbf{w}, \beta^{-1}\mathbf{I}) \mathcal{N}(\mathbf{w} |\mathbf{0}, \alpha^{-1}\mathbf{I}) \\ & = \mathcal{N}(\mathbf{w}|(\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi})^{-1}\mathbf{\Phi}^\mathrm{T}\mathbf{t}, \beta^{-1}(\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi})^{-1}) \mathcal{N}(\mathbf{w} |\mathbf{0}, \alpha^{-1}\mathbf{I}) \\ & \propto \mathcal{N}\left(\mathbf{w}| \beta\mathbf{A}^{-1}\mathbf{\Phi}^\mathrm{T}\mathbf{t}, \mathbf{A}^{-1} \right) \,\, \mathrm{where} \,\,\, \mathbf{A} = \alpha\mathbf{I} + \beta\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi} \end{array}
したがって事後分布$ p(\mathbf{w} | \mathbf{X}, \mathbf{t}, \alpha, \beta)は
$ p(\mathbf{w} | \mathbf{X}, \mathbf{t}, \alpha, \beta) = \mathcal{N}\left(\mathbf{w} \left|\mathbf{m}_N,\mathbf{A}^{-1} \right.\right)
$ \mathbf{m}_N = \beta\mathbf{A}^{-1}\mathbf{\Phi}^\mathrm{T}\mathbf{t}
となります.
事後分布$ p(\mathbf{w} | \mathbf{X}, \mathbf{t}, \alpha, \beta)が求まったので,新たなデータ$ x^*に対する推論の際はパラメータ$ \mathbf{w}について周辺化し,
$ \begin{array}{ll}p(t^*|\mathbf{x}^*, \mathbf{X}, \mathbf{t}, \alpha, \beta) & = \int p(t^* | \mathbf{x}^*, \mathbf{w}) p(\mathbf{w}|\mathbf{X}, \mathbf{t}, \alpha, \beta) \mathrm{d}\mathbf{w}\\ & = \mathcal{N}\left(t^* \left| \mathbf{x}^{*\mathrm{T}}\mathbf{m}_N, \mathbf{x}^{*\mathrm{T}}\mathbf{A}^{-1}\mathbf{x}^* + \beta^{-1} \right. \right) \end{array}
という具合に予測を行います.
エビデンス近似
ここで,分散パラメータ$ \alpha, $ \betaをエビデンス近似により推定します.
エビデンス近似では以下の対数エビデンス関数を最大化する$ \alpha, $ \betaを求めます.(PRML演習3.16)
$ \begin{array}{ll} \ln p(\mathbf{t}|\mathbf{X}, \alpha, \beta) & = \ln \int p(\mathbf{t}|\mathbf{X}, \mathbf{w}, \beta)p(\mathbf{w}|\alpha) \mathrm{d}\mathbf{w} \\ & = \ln \mathcal{N}(\mathbf{t}|\mathbf{0}, \beta^{-1}\mathbf{I} + \alpha^{-1}\mathbf{\Phi\Phi}^{-1}) \\ & = -\frac{N}{2}\ln(2\pi) - \frac{1}{2}\ln|\beta^{-1}\mathbf{I} + \alpha^{-1}\mathbf{\Phi\Phi}^{-1}| -\frac{1}{2}\mathbf{t}^\mathrm{T}( \beta^{-1}\mathbf{I} + \alpha^{-1}\mathbf{\Phi\Phi}^{-1})^{-1}\mathbf{t}\end{array}
第2項の行列式について以下が求まります.
$ \begin{array}{ll} |\beta^{-1}\mathbf{I} + \alpha^{-1}\Phi\Phi^\mathrm{T}| & = \alpha^{-M}\beta^{-N} | \alpha\mathbf{I} + \beta\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi} | \\ & = \alpha^{-M}\beta^{-N} |\mathbf{A}| \end{array}
また,Woodburyの公式より第3項について以下が成り立ちます.
$ \begin{array}{ll} (\beta^{-1}\mathbf{I} + \alpha^{-1}\Phi\Phi^\mathrm{T})^{-1} & = \beta\mathbf{I} - \alpha^{-1}\beta^2\mathbf{\Phi}(\mathbf{I} + \alpha^{-1}\beta\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi})^{-1}\mathbf{\Phi}^\mathrm{T} \\ & = \beta\mathbf{I} - \beta^2\mathbf{\Phi}\mathbf{A}^{-1}\mathbf{\Phi}^\mathbf{T} \end{array}
上記を用いて平方完成を行うと,
$ \ln p(\mathbf{t}|\mathbf{X}, \alpha, \beta) = \frac{M}{2}\ln \alpha + \frac{N}{2} \ln \beta - \frac{\beta}{2}|\mathbf{t} - \mathbf{\Phi m}_N|^2 - \frac{\alpha}{2}\mathbf{m}_N^\mathrm{T}\mathbf{m}_N - \frac{1}{2}\ln|\mathbf{A}| - \frac{N}{2}\ln(2\pi)
となります.
$ p(\mathbf{t}|\mathbf{X}, \alpha, \beta)の最大化のために導関数を求めます.そこで,$ \ln|\mathbf{A}|の$ \alphaに関する微分を考えるために$ \mathbf{A}の固有値を求めます.
$ \beta\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi}の固有値と固有ベクトルを$ \lambda_i, \mathbf{u}_iとすると,
$ \mathbf{A}\mathbf{u}_i = (\alpha\mathbf{I} + \beta\mathbf{\Phi}^\mathrm{T}\mathbf{\Phi})\mathbf{u}_i = \alpha\mathbf{u}_i + \lambda_i\mathbf{u}_i = (\alpha + \lambda_i)\mathbf{u}_i
となり,$ \mathbf{A}の固有値は$ \alpha + \lambda_iです. $ \ln|\mathbf{A}|の$ \alphaに関する導関数として
$ \frac{\partial}{\partial\alpha}\ln|\mathbf{A}| = \frac{\partial}{\partial\alpha}\ln\prod_i(\lambda_i+\alpha) = \frac{\partial}{\partial\alpha}\sum_i\ln(\lambda_i+\alpha) = \sum_i\frac{1}{\lambda_i + \alpha}
が得られます.
$ p(\mathbf{t}|\mathbf{X}, \alpha, \beta)の停留点は以下を満たします.
$ \begin{array}{ll} & \frac{N}{2\beta} - \frac{1}{2}\|\mathbf{t} - \Phi\mathbf{m}_N\|^2 - \frac{\gamma}{2\beta} = 0 \\ \Leftrightarrow & \frac{1}{\beta} = \frac{1}{N-\gamma}\|\mathbf{t}-\mathbf{\Phi}\mathbf{m}_N\|^2 \end{array}
$ \gammaは以下のように表せます.
$ \gamma = \sum_i\frac{\lambda_i + \alpha}{\lambda_i + \alpha} - \sum_i\frac{\alpha}{\lambda_i + \alpha} = \sum_i\frac{\lambda_i}{\lambda_i + \alpha}\
一方,周辺尤度を最大化する$ \alphaは
$ \alpha = \frac{\gamma}{\mathbf{m}_N^\mathrm{T}\mathbf{m}_N}
を満たします. $ \gammaも$ \mathbf{m}_Nも$ \alphaに依存しているため,繰り返して順により求めます.
まず$ \alphaに適当な初期値を与えて$ \mathbf{m}_Nと$ \gammaを求めます.そして,得られた$ \mathbf{m}_Nと$ \gammaを用いて$ \alphaを求めます.
これを収束するまで繰り返します.
同様に$ \betaについて
$ \frac{\partial}{\partial\beta}\ln|\mathbf{A}| = \frac{1}{\beta}\sum_i\frac{\lambda_i}{\lambda_i + \alpha} = \frac{\gamma}{\beta}
が得られ,$ p(\mathbf{t}|\mathbf{X}, \alpha, \beta)の停留点は
$ \begin{array}{ll} & \frac{N}{2\beta} - \frac{1}{2}\|\mathbf{t} - \Phi\mathbf{m}_N\|^2 - \frac{\gamma}{2\beta} = 0 \\ \Leftrightarrow & \frac{1}{\beta} = \frac{1}{N-\gamma}\|\mathbf{t}-\mathbf{\Phi}\mathbf{m}_N\|^2 \end{array}
を満たします.
$ \betaについても適当な初期値を決め,繰り返し法を用いて解を求めます.
参考文献
C.M.ビショップ, パターン認識と機械学習:ベイズ理論による統計的予測 上, 元田浩他訳, 2012.
多変量正規分布の変数変換:
$ \mathcal{N}(\mathbf{x}|\mathbf{Ay}+\mathbf{b}, \Sigma) \propto \mathcal{N}(\mathbf{y}|\mathbf{A}'\mathbf{x}+\mathbf{b}', \Sigma')
$ \begin{array}{ll}\mathbf{A}' & = (\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\mathbf{A})^{-1}\mathbf{A}^\mathrm{T}\Sigma^{-1}\\ \mathbf{b}' & = -(\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\mathbf{A})^{-1} \mathbf{A}^\mathrm{T}\Sigma^{-1}\mathbf{b}\\ \Sigma' & = (\mathbf{A}^{T}\mathbf{\Sigma}^{-1}\mathbf{A})^{-1} \end{array}
多変量正規分布の積:
$ \mathcal{N}(\mathbf{x} | \mathbf{a}, \mathbf{A}) \mathcal{N}(\mathbf{x} | \mathbf{b}, \mathbf{B}) \propto \mathcal{N}(\mathbf{x}| (\mathbf{A}^{-1}+\mathbf{B}^{-1})^{-1} (\mathbf{A}^{-1}\mathbf{a}+\mathbf{B}^{-1}\mathbf{b}), (\mathbf{A}^{-1}+\mathbf{B}^{-1})^{-1})