Ch.3 「線形回帰モデル」の章末問題の解答例 パターン認識と機械学習 3.1〜3.15

当記事は「パターン認識と機械学習」の読解サポートにあたってChapter.$3$の「線形回帰モデル」の章末問題の解説について行います。
基本的には書籍の購入者向けの解説なので、まだ入手されていない方は下記より入手をご検討ください。また、解説はあくまでサイト運営者が独自に作成したものであり、書籍の公式ページではないことにご注意ください。

・参考
パターン認識と機械学習 解答まとめ
https://www.hello-statisticians.com/answer_textbook#prml

解答まとめ

問題$3.1$

$$
\large
\begin{align}
\tanh(a) &= \frac{e^a-e^{-a}}{e^{a}+e^{-a}} \quad (5.59) \\
\sigma(a) &= \frac{1}{1+e^{-a}} \quad (3.6)
\end{align}
$$

関数$\tanh(a)$と$\sigma(a)$はそれぞれ上記のように定義される。上記の式を元に$2 \sigma(2a) – 1$は下記のように計算を行える。
$$
\large
\begin{align}
2 \sigma(2a) – 1 &= \frac{2}{1+e^{-2a}} – 1 \\
&= \frac{2e^{a}}{e^{a}+e^{-a}} – 1 \\
&= \frac{2e^{a}}{e^{a}+e^{-a}} – \frac{e^a+e^{-a}}{e^{a}+e^{-a}} \\
&= \frac{e^a-e^{-a}}{e^{a}+e^{-a}} \\
&= \tanh(a)
\end{align}
$$

上記より$(3.100)$式で表された$\tanh(a) = 2 \sigma(2a) – 1$が成立する。

また、$(3.100)$式を元に$(3.101)$式は下記のように変形できる。
$$
\large
\begin{align}
y(x,\mathbf{w}) &= w_0 + \sum_{j=1}^{M} w_j \sigma \left( \frac{x-\mu_j}{s} \right) \quad (3.101) \\
&= w_0 + \sum_{j=1}^{M} w_j \left( \frac{1}{2} \left[ 2 \sigma \left( 2 \frac{x-\mu_j}{2s} \right) – 1 \right] + \frac{1}{2} \right) \\
&= w_0 + \sum_{j=1}^{M} w_j \left( \frac{1}{2} \tanh \left( \frac{x-\mu_j}{2s} \right) + \frac{1}{2} \right) \\
&= w_0 + \sum_{j=1}^{M} \frac{w_j}{2} \sum_{j=1}^{M} \frac{w_j}{2} \tanh \left( \frac{x-\mu_j}{2s} \right) \\
&= u_0 + \sum_{j=1}^{M} u_j \tanh \left( \frac{x-\mu_j}{2s} \right)
\end{align}
$$

ここで上記の導出にあたっては$u_0$と$u_j \quad 1 \leq j \leq M$を下記のように定義した。
$$
\large
\begin{align}
u_0 &= w_0 + \sum_{j=1}^{M} \frac{w_j}{2} \\
u_j &= \frac{w_j}{2}
\end{align}
$$

・注意
途中の計算で$\displaystyle \frac{x-\mu_j}{s}$が$\displaystyle \frac{x-\mu_j}{2s}$に変わったところは$(3.101), (3.102)$式と対応しないが、著者の解答では区別が行われていないので詳しい考察は行わなかった。

問題$3.5$

$$
\large
\begin{align}
\sum_{j=1}^{M} |w_j|^{q} & \leq \eta \quad (3.30) \\
\sum_{j=1}^{M} |w_j|^{q} – \eta & \leq 0 \\
\frac{1}{2} \left( \sum_{j=1}^{M} |w_j|^{q} – \eta \right) & \leq 0 \quad (1)
\end{align}
$$

$(3.30)$式は上記のように考えることができる。このとき、$(3.12)$式に対して$(1)$式の制約を元に最適化を行うことを考えるにあたってラグランジュの未定乗数法を用いる。ラグランジュ関数を$L(\mathbf{w},\lambda)$とおくと、$L(\mathbf{w},\lambda)$は下記のように表せる。
$$
\large
\begin{align}
L(\mathbf{w},\lambda) &= \frac{1}{2} \sum_{n=1}^{N} \left[ t_n – \mathbf{w}^{\mathrm{T}} \phi(x_n) \right]^2 + \frac{\lambda}{2} \left( \sum_{j=1}^{M} |w_j|^{q} – \eta \right) \\
&= \frac{1}{2} \sum_{n=1}^{N} \left[ t_n – \mathbf{w}^{\mathrm{T}} \phi(x_n) \right]^2 + \frac{\lambda}{2} \sum_{j=1}^{M} |w_j|^{q} + \mathrm{Const.} \quad (2)
\end{align}
$$

ここで上記の式で$\mathbf{w}^{\mathrm{T}}$を変数と考える場合、$\displaystyle \frac{\lambda \eta}{2}$は定数であるので$\mathrm{Const.}$のようにおいた。$(2)$式から$\mathrm{Const.}$を取り除けば$(3.29)$式に一致することから、$(3.12)$式に対して$(3.30)$式の制約を考えて最適化を行う場合と$(3.29)$式の最適化を行うことは同義であると考えられる。

問題$3.6$

$$
\large
\begin{align}
p(\mathbf{t}|\mathbf{W},\mathbf{\Sigma}) &= \mathcal{N}(\mathbf{t}|\mathbf{y}(\mathbf{x},\mathbf{W}),\mathbf{\Sigma}) \quad (3.107) \\
\mathbf{y}(\mathbf{x},\mathbf{W}) &= \mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}) \quad (3.108)
\end{align}
$$

ここでパラメータに関する尤度を$L(\mathbf{W},\mathbf{\Sigma})$とおくと、$\displaystyle L(\mathbf{W},\mathbf{\Sigma}) = \prod_{n=1}^{N} \mathcal{N}(\mathbf{t}|\mathbf{y}(\mathbf{x}_{n},\mathbf{W}),\mathbf{\Sigma})$であるので、対数尤度は$(3.107)$式、$(3.108)$式を用いて下記のように考えることができる。
$$
\large
\begin{align}
\ln{L(\mathbf{W},\mathbf{\Sigma})} &= \ln \left[ \prod_{n=1}^{N} \mathcal{N}(\mathbf{t}|\mathbf{y}(\mathbf{x}_{n},\mathbf{W}),\mathbf{\Sigma}) \right] \quad (3.107) \\
&= \ln \left[ \prod_{n=1}^{N} \mathcal{N}(\mathbf{t}|\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n}),\mathbf{\Sigma}) \right] \quad (3.108) \\
&= \ln \left[ \prod_{n=1}^{N} \frac{1}{(2 \pi)^{D/2}} \frac{1}{|\mathbf{\Sigma}|^{1/2}} \exp \left( -\frac{1}{2}(\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n}))^{\mathrm{T}} \mathbf{\Sigma}^{-1} (\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n})) \right) \right] \\
&= – \frac{N}{2} \ln{|\mathbf{\Sigma}|} + \ln \left[ \exp \left( – \frac{1}{2} \sum_{n=1}^{N} (\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n}))^{\mathrm{T}} \mathbf{\Sigma}^{-1} (\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n})) \right) \right] \\
&= – \frac{N}{2} \ln{|\mathbf{\Sigma}|} – \frac{1}{2} \sum_{n=1}^{N} (\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n}))^{\mathrm{T}} \mathbf{\Sigma}^{-1} (\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n})) \quad (1)
\end{align}
$$

$(1)$式を$\mathbf{W}$に関して偏微分を行うと下記が得られる。
$$
\large
\begin{align}
\frac{\partial}{\partial \mathbf{W}}\ln{L(\mathbf{W},\mathbf{\Sigma})} &= \frac{\partial}{\partial \mathbf{W}} \left[ – \frac{N}{2} \ln{|\mathbf{\Sigma}|} – \frac{1}{2} \sum_{n=1}^{N} (\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n}))^{\mathrm{T}} \mathbf{\Sigma}^{-1} (\mathbf{t}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n})) \right] \\
&= -\sum_{n=1}^{N} \mathbf{\Sigma}^{-1} (\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}} \mathbf{\phi}(\mathbf{x}_{n}))\mathbf{\phi}(\mathbf{x}_{n})^{\mathrm{T}}
\end{align}
$$

上記が零行列$\mathbf{O}$に等しい場合に$\mathbf{W}=\mathbf{W}_{ML}$であり、下記のように解ける。
$$
\large
\begin{align}
\sum_{n=1}^{N} \mathbf{\Sigma}^{-1} (\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}} \mathbf{\phi}(\mathbf{x}_{n}))\mathbf{\phi}(\mathbf{x}_{n})^{\mathrm{T}} &= \mathbf{O} \\
\mathbf{\Phi}^{\mathrm{T}}\mathbf{\Phi}\mathbf{W} &= \mathbf{\Phi}^{\mathrm{T}} \mathbf{T} \\
\mathbf{W} &= (\mathbf{\Phi}^{\mathrm{T}}\mathbf{\Phi})^{-1} \mathbf{\Phi}^{\mathrm{T}} \mathbf{T} \quad (3.15)
\end{align}
$$

また、$(2.122)$式と同様に考えることで$\bf{\Sigma}$の最尤解に関して下記が成立する。
$$
\large
\begin{align}
\mathbf{\Sigma}_{ML} = \frac{1}{N} \sum_{n=1}^{N} (\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n}))(\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}}\mathbf{\phi}(\mathbf{x}_{n}))^{\mathrm{T}} \quad (3.109)
\end{align}
$$

$(2.122)$式の導出の詳細は$2$章の演習で取り扱った。

問題$3.7$

$$
\large
\begin{align}
p(\mathbf{t}|\mathbf{w}) &= p(t_1,…,t_N|\mathbf{w}) = \prod_{n=1}^{N} \mathcal{N}(t_n | \mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_{n}), \beta^{-1}) \quad (3.10) \\
p(\mathbf{w}) &= \mathcal{N}(\mathbf{w}|\mathbf{m}_{0},\mathbf{S}_{0}) \quad (3.48)
\end{align}
$$

上記より事後分布$p(\mathbf{w}|\mathbf{t})$は$\mathbf{w}$を変数と見る際に下記のように考えられる。
$$
\large
\begin{align}
p(\mathbf{w}|\mathbf{t}) & \propto p(\mathbf{t}|\mathbf{w}) p(\mathbf{w}) \\
&= \prod_{n=1}^{N} \mathcal{N}(t_n|\mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_{n}), \beta^{-1}) \times \mathcal{N}(\mathbf{w}|\mathbf{m}_{0},\mathbf{S}_{0}) \\
& \propto \exp \left[ – \frac{\beta}{2} \sum_{n=1}^{N} (t_n-\mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_{n}))^{2} – \frac{1}{2}(\mathbf{w}-\mathbf{m}_{0})^{\mathrm{T}} \mathbf{S}_{0}^{-1} (\mathbf{w}-\mathbf{m}_{0}) \right] \\
&= \exp \left[ – \frac{1}{2} (\mathbf{t}-\Phi \mathbf{w})^{\mathrm{T}} (\beta \mathbf{I}) (\mathbf{t}-\Phi \mathbf{w}) – \frac{1}{2}(\mathbf{w}-\mathbf{m}_{0})^{\mathrm{T}} \mathbf{S}_{0}^{-1} (\mathbf{w}-\mathbf{m}_{0}) \right] \\
& \propto \exp \left[ – \frac{1}{2} \mathbf{w}^{\mathrm{T}} \left( \beta \Phi^{\mathrm{T}} \Phi + \mathbf{S}_{0}^{-1} \right) \mathbf{w} + \mathbf{w}^{\mathrm{T}} \left( \beta \Phi^{\mathrm{T}} \mathbf{t} + \mathbf{S}_{0}^{-1} \mathbf{m}_{0} \right) \right] \quad (1)
\end{align}
$$

$\exp$の内部を平方完成するにあたっては、$(1)$式と下記の$(2.71)$式との対応を確認すればよい。ただし、$(1)$式は$\mathbf{w}$に関する平方完成、$(2.71)$式は$\mathbf{x}$に関する平方完成であることに注意が必要である。
$$
\large
\begin{align}
– \frac{1}{2} (\mathbf{x}-\mu)^{\mathrm{T}} \Sigma^{-1} (\mathbf{x}-\mu) = – \frac{1}{2} \mathbf{x}^{\mathrm{T}} \Sigma^{-1} \mathbf{x} + \mathbf{x}^{\mathrm{T}} \Sigma^{-1} \mu + \mathrm{Const.} \quad (2.71)
\end{align}
$$

事後分布の平均ベクトルを$\mathbf{m}_{N}$、共分散行列を$\mathbf{S}_{N}$とおくと、$\mathbf{m}_{N}, \mathbf{S}_{N}$はそれぞれ下記のように表せる。
$$
\large
\begin{align}
\mathbf{S}_{N}^{-1} &= \beta \Phi^{\mathrm{T}} \Phi + \mathbf{S}_{0}^{-1} \quad (3.51) \\
\mathbf{S}_{N}^{-1} \mathbf{m}_{N} &= \beta \Phi^{\mathrm{T}} \mathbf{t} + \mathbf{S}_{0}^{-1} \mathbf{m}_{0} \\
\mathbf{m}_{N} &= \mathbf{S}_{N} \left( \beta \Phi^{\mathrm{T}} \mathbf{t} + \mathbf{S}_{0}^{-1} \mathbf{m}_{0} \right) \quad (3.50)
\end{align}
$$

上記より$(3.50)$式、$(3.51)$式が成立する。

問題$3.8$

$$
\large
\begin{align}
p(t_{N+1}|\mathbf{w}) &= \mathcal{N}(t_{N+1}|\mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_{N}), \beta^{-1}) \quad (3.10)’ \\
p(\mathbf{w}) &= \mathcal{N}(\mathbf{w}|\mathbf{m}_{N},\mathbf{S}_{N}) \quad (3.49)
\end{align}
$$

上記より事後分布$p(\mathbf{w}|t_{N+1})$は$\mathbf{w}$を変数と見る際に下記のように考えられる。
$$
\large
\begin{align}
p(\mathbf{w}|t_{N+1}) & \propto p(t_{N+1}|\mathbf{w}) p(\mathbf{w}) \\
&= \mathcal{N}(t_{N+1}|\mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_{N}), \beta^{-1}) \times \mathcal{N}(\mathbf{w}|\mathbf{m}_{N},\mathbf{S}_{N}) \\
& \propto \exp \left[ – \frac{\beta}{2} (t_{N+1}-\mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_{N+1}))^{2} – \frac{1}{2}(\mathbf{w}-\mathbf{m}_{N})^{\mathrm{T}} \mathbf{S}_{N}^{-1} (\mathbf{w}-\mathbf{m}_{N}) \right] \\
&= \exp \left[ – \frac{\beta}{2} (t_{N+1} – \phi(\mathbf{x}_{N+1})^{\mathrm{T}} \mathbf{w})^{\mathrm{T}} (t_{N+1} – \phi(\mathbf{x}_{N+1})^{\mathrm{T}} \mathbf{w}) – \frac{1}{2}(\mathbf{w}-\mathbf{m}_{N})^{\mathrm{T}} \mathbf{S}_{N}^{-1} (\mathbf{w}-\mathbf{m}_{N}) \right] \\
& \propto \exp \left[ – \frac{1}{2} \mathbf{w}^{\mathrm{T}} \left( \beta \phi(\mathbf{x}_{N+1}) \phi(\mathbf{x}_{N+1})^{\mathrm{T}} + \mathbf{S}_{N}^{-1} \right) \mathbf{w} + \mathbf{w}^{\mathrm{T}} \left( \beta \phi(\mathbf{x}_{N+1}) t_{N+1} + \mathbf{S}_{N}^{-1} \mathbf{m}_{N} \right) \right]
\end{align}
$$

事後分布の平均ベクトルを$\mathbf{m}_{N}$、共分散行列を$\mathbf{S}_{N}$とおくと、問題$3.7$と同様に$(2.71)$式を元に$\mathbf{m}_{N}, \mathbf{S}_{N}$はそれぞれ下記のように表せる。
$$
\large
\begin{align}
\mathbf{S}_{N+1}^{-1} &= \beta \phi(\mathbf{x}_{N+1}) \phi(\mathbf{x}_{N+1})^{\mathrm{T}} + \mathbf{S}_{N}^{-1} \\
\mathbf{S}_{N+1}^{-1} \mathbf{m}_{N+1} &= \beta \phi(\mathbf{x}_{N+1}) t_{N+1} + \mathbf{S}_{N}^{-1} \mathbf{m}_{N} \\
\mathbf{m}_{N+1} &= \mathbf{S}_{N+1} \left( \beta \phi(\mathbf{x}_{N+1}) t_{N+1} + \mathbf{S}_{N}^{-1} \mathbf{m}_{N} \right)
\end{align}
$$

上記より$(3.49)$式の$\mathbf{S}_{N}$を$\mathbf{S}_{N+1}$、$\mathbf{m}_{N}$を$\mathbf{m}_{N+1}$で置き換えた結果が得られることがわかる。

また、ここで$\Phi^{\mathrm{T}} \Phi$が$\phi(\mathbf{x}_{N+1}) \phi(\mathbf{x}_{N+1})^{\mathrm{T}}$のように置き換わったが、$\Phi$は$\phi(\mathbf{x}_{n})$を横に並べたものであることに注意しておくとよい。少々わかりにくいので下記に少々わかりにくいので下記に成分表示を行なった。
$$
\large
\begin{align}
\phi(\mathbf{x}_{n}) &= \left(\begin{array}{c} \phi_{0}(\mathbf{x}_{n}) \\ \vdots \\ \phi_{M-1}(\mathbf{x}_{n}) \end{array} \right) \\
\phi(\mathbf{x}_{n})^{\mathrm{T}} &= \left(\begin{array}{ccc} \phi_{0}(\mathbf{x}_{n}) & \cdots & \phi_{M-1}(\mathbf{x}_{n}) \end{array} \right) \\
\Phi &= \left(\begin{array}{ccc} \phi_{0}(\mathbf{x}_{1}) & \cdots & \phi_{M-1}(\mathbf{x}_{1}) \\ \vdots & \ddots & \vdots \\ \phi_{0}(\mathbf{x}_{N}) & \cdots & \phi_{M-1}(\mathbf{x}_{N}) \end{array} \right) \quad (3.16)
\end{align}
$$

問題$3.10$

$$
\large
\begin{align}
p(t|\mathbf{t},\alpha,\beta) &= \int p(t|\mathbf{w},\beta) p(\mathbf{w}|\mathbf{t},\alpha,\beta) d \mathbf{w} \quad (3.57) \\
&= \int \mathcal{N}(t|y(\phi(\mathbf{x}),\mathbf{w}),\beta^{-1}) \mathcal{N}(\mathbf{w}|\mathbf{m}_{N},\mathbf{S}_{N}) d \mathbf{w} \quad (1)
\end{align}
$$

上記の$(1)$式の$\mathcal{N}(t|y(\mathbf{x},\mathbf{w}),\beta^{-1})$と$\mathcal{N}(\mathbf{w}|\mathbf{m}_{N},\mathbf{S}_{N})$はそれぞれ下記のように定義される。
$$
\large
\begin{align}
p(t|\mathbf{x},\mathbf{w},\beta) &= \mathcal{N}(t|y(\phi(\mathbf{x}),\mathbf{w}),\beta^{-1}) \quad (3.8)’ \\
p(\mathbf{w}) &= \mathcal{N}(\mathbf{w}|\mathbf{m}_{N},\mathbf{S}_{N}) \quad (3.49)
\end{align}
$$

よって$(3.8)$式、$(3.49)$式を$(1)$式に代入し、指数関数の内部の平方完成を行うことを考える。$(2.115)$式に基づいて考えることで、下記のように導出できる。
$$
\large
\begin{align}
p(t|\mathbf{t},\alpha,\beta) &= \int \mathcal{N}(t|y(\phi(\mathbf{x}),\mathbf{w}),\beta^{-1}) \mathcal{N}(\mathbf{w}|\mathbf{m}_{N},\mathbf{S}_{N}) d \mathbf{w} \quad (1) \\
&= \mathcal{N}(t|y(\phi(\mathbf{x}),\mathbf{m}_{N}),\beta^{-1}+\phi(\mathbf{x})^{\mathrm{T}}\mathbf{S}_{N}\phi(\mathbf{x})) \quad (3.57),(3.58),(3.59)
\end{align}
$$

上記が予測分布に一致する。

問題$3.15$

$$
\large
\begin{align}
E(\mathbf{m}_{N}) &= \frac{\beta}{2} ||\mathbf{t}-\Phi\mathbf{m}_{N}||^2 + \frac{\alpha}{2} \mathbf{m}_{N}^{\mathrm{T}} \mathbf{m}_{N} \quad (3.82) \\
\alpha &= \frac{\gamma}{\mathbf{m}_{N}^{\mathrm{T}} \mathbf{m}_{N}} \quad (3.92) \\
\frac{1}{\beta} &= \frac{1}{N-\gamma} \sum_{n=1}^{N} \left[ t_{n} – \mathbf{m}_{N}^{\mathrm{T}}\phi(\mathbf{x}_{n}) \right]^{2} \quad (3.95)
\end{align}
$$

上記の$(3.95)$式に対し、$\displaystyle \sum_{n=1}^{N} \left[ t_{n} – \mathbf{m}_{N}^{\mathrm{T}}\phi(\mathbf{x}_{n}) \right]^{2} = ||\mathbf{t}-\Phi\mathbf{m}_{N}||^{2}$が適用できることに注意しながら$(3.82)$式に$(3.92)$式と$(3.95)$式を代入すれば良い。
$$
\large
\begin{align}
E(\mathbf{m}_{N}) &= \frac{\beta}{2} ||\mathbf{t}-\Phi\mathbf{m}_{N}||^2 + \frac{\alpha}{2} \mathbf{m}_{N}^{\mathrm{T}} \mathbf{m}_{N} \quad (3.82) \\
&= \frac{||\mathbf{t}-\Phi\mathbf{m}_{N}||^2}{2} \times \frac{N-\gamma}{||\mathbf{t}-\Phi\mathbf{m}_{N}||^2} + \frac{\mathbf{m}_{N}^{\mathrm{T}} \mathbf{m}_{N}}{2} \times \frac{\gamma}{\mathbf{m}_{N}^{\mathrm{T}} \mathbf{m}_{N}} \\
&= \frac{N-\gamma||^2}{2} + \frac{\gamma}{2} = \frac{N}{2}
\end{align}
$$

上記より$2E(\mathbf{m}_{N})=N$が成立することが確認できる。

「Ch.3 「線形回帰モデル」の章末問題の解答例 パターン認識と機械学習 3.1〜3.15」への2件のフィードバック

コメントは受け付けていません。