当記事は「パターン認識と機械学習」の読解サポートにあたってChapter.$5$の「ニューラルネットワーク」の章末問題の解説について行います。
基本的には書籍の購入者向けの解説なので、まだ入手されていない方は下記より入手をご検討ください。また、解説はあくまでサイト運営者が独自に作成したものであり、書籍の公式ページではないことにご注意ください。
・参考
パターン認識と機械学習 解答まとめ
https://www.hello-statisticians.com/answer_textbook_prml
Contents
解答まとめ
問題$5.1$
問題$3.1$の導出より、$\tanh(a) = 2 \sigma(2a) – 1$が成立する。この式は下記のように変形できる。
$$
\large
\begin{align}
\sigma(2a) = \frac{\tanh(a)+1}{2}
\end{align}
$$
よって、ロジスティックシグモイド関数が$2a$の場合に、$a$が出力されるような$w$を持ち活性化関数の出力に$1$を加え$2$で割ることにより同様の結果を得ることができる。また、ここでは$\tanh(a)$が$(-1,1)$を取り得るので$1$を加え$2$で割ることにより$(0,1)$に調整を行なったと考えられる。
問題$5.2$
$$
\large
\begin{align}
p(\mathbf{t}|\mathbf{x},\mathbf{w}) = \mathcal{N}(\mathbf{t}|\mathbf{y}(\mathbf{x},\mathbf{w}),\beta^{-1}\mathbf{I}) \quad (5.16)
\end{align}
$$
尤度を$L(\mathbf{w},\beta)$とおくと、上記に表した$(5.16)$より、$L(\mathbf{w},\beta)$は下記のように求められる。
$$
\large
\begin{align}
L(\mathbf{w},\beta) &= \prod_{n=1}^{N} p(\mathbf{t}_{n}|\mathbf{x}_{n},\mathbf{w}) \\
&= \prod_{n=1}^{N} \mathcal{N}(\mathbf{t}_{n}|\mathbf{y}(\mathbf{x}_{n},\mathbf{w}),\beta^{-1}\mathbf{I}) \\
&= \prod_{n=1}^{N} \frac{\beta}{\sqrt{2 \pi}|\mathbf{I}|} \exp \left( -\frac{1}{2}(\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n})^{\mathrm{T}} (\beta^{-1} \mathbf{I})^{-1}(\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}) \right) \\
&= \prod_{n=1}^{N} \frac{\beta}{\sqrt{2 \pi}} \exp \left( -\frac{\beta}{2}(\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n})^{\mathrm{T}} (\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}) \right) \\
&= \prod_{n=1}^{N} \frac{\beta}{\sqrt{2 \pi}} \exp \left( -\frac{\beta ||\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}||^2}{2} \right)
\end{align}
$$
上記より対数尤度$\ln{L(\mathbf{w},\beta)}$を$\mathbf{w}$のみに着目すると下記のように考えられる。
$$
\large
\begin{align}
\ln{L(\mathbf{w},\beta)} &= \ln{ \left[ \prod_{n=1}^{N} \frac{\beta}{\sqrt{2 \pi}} \exp \left( -\frac{\beta ||\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}||^2}{2} \right) \right] } \\
&= \ln{ \left[ \prod_{n=1}^{N} \exp \left( -\frac{\beta ||\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}||^2}{2} \right) \right] } + \mathrm{Const.} \\
&= \ln{ \left[ \exp \left( – \sum_{n=1}^{N} \frac{\beta ||\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}||^2}{2} \right) \right] } + \mathrm{Const.} \\
&= – \sum_{n=1}^{N} \frac{\beta ||\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}||^2}{2} + \mathrm{Const.} \\
& \propto – \frac{1}{2} \sum_{n=1}^{N} ||\mathbf{y}(\mathbf{x}_{n},\mathbf{w})-\mathbf{t}_{n}||^2 + \mathrm{Const.}’
\end{align}
$$
上記より$(5.11)$式を最大化することは$(5.16)$式を最小化することに一致すると考えられる。
問題$5.3$
問題$5.4$
問題$5.5$
$$
\large
\begin{align}
y_{k}(\mathbf{x}_{n},\mathbf{w}) = p(t_{k}=1|\mathbf{x}_{n})
\end{align}
$$
上記のような数式に基づいて予測を行うと考えるときの尤度を$L(\mathbf{w})$とおくと、$L(\mathbf{w})$は下記のように考えられる。
$$
\large
\begin{align}
L(\mathbf{w}) = \prod_{n=1}^{N} \prod_{k=1}^{K} y_{k}(\mathbf{x}_{n},\mathbf{w})^{t_{nk}}
\end{align}
$$
上記に対し$-\ln{L(\mathbf{w})}$は下記のように考えられる。
$$
\large
\begin{align}
-\ln{L(\mathbf{w})} &= – \ln{ \left[ \prod_{n=1}^{N} \prod_{k=1}^{K} y_{k}(\mathbf{x}_{n},\mathbf{w})^{t_{nk}} \right] } \\
&= – \sum_{n=1}^{N} \sum_{k=1}^{K} \ln{ y_{k}(\mathbf{x}_{n},\mathbf{w})^{t_{nk}} } \\
&= – \sum_{n=1}^{N} \sum_{k=1}^{K} t_{nk} \ln{y_{k}(\mathbf{x}_{n},\mathbf{w})} \quad (5.24)
\end{align}
$$
$(5.24)$式はクロスエントロピー誤差関数に一致する一方で、最尤法から導出されたことより$(5.24)$式の最小化は尤度の最大化に一致すると考えられる。
問題$5.6$
$$
\large
\begin{align}
E &= – \sum_{n=1}^{N} \left[ t_{n} \ln{y_{n}} + (1-t_{n}) \ln{(1-y_{n})} \right] \quad (5.21) \\
y_{n} &= \sigma(a_{n}) = \frac{1}{1+\exp(-a_{n})}
\end{align}
$$
上記で表した$(5.21)$式を$k$番目のサンプルの$a_{k}$で偏微分することを考えると、下記のように計算できる。
$$
\large
\begin{align}
\frac{\partial E}{\partial a_{k}} &= – \left( \frac{t_{k}}{y_{k}} \times y_{k}(1-y_{k}) – \frac{1-t_{k}}{1-y_{k}} \times y_{k}(1-y_{k}) \right) \\
&= – \left( t_{k}(1-y_{k}) – (1-t_{k})y_{k} \right) \\
&= – (t_{k} – y_{k}) = y_{k} – t_{k} \quad (5.18)
\end{align}
$$
途中計算におけるロジスティックシグモイド関数の微分の詳細は下記などで取り扱ったので省略を行なった。
・パターン認識と機械学習 章末問題 $4.12$解答
・パターン認識と機械学習 章末問題 $4.13$解答
問題$5.7$
$$
\large
\begin{align}
E &= – \sum_{n=1}^{N} \sum_{k=1}^{K} t_{nk} \ln{y_{k}(\mathbf{x}_{n},\mathbf{w})} \quad (5.24) \\
y_{nk} &= \mathrm{softmax}(a_{nk}) = \frac{\exp(a_{nk})}{\sum_{j} \exp(a_{nj})}
\end{align}
$$
上記で表した$(5.24)$式を$l$番目のサンプルの$k$番目の出力層の入力に対応する$a_{lk}$で偏微分することを考えると、下記のように計算できる。
$$
\large
\begin{align}
\frac{\partial E}{\partial a_{lk}} &= – \sum_{n=1}^{N} \sum_{k=1}^{K} \frac{\partial (t_{nk} \ln{y_{nk}})}{\partial y_{nk}} \frac{\partial y_{nk}}{\partial a_{lj}} \\
&= – \sum_{k=1}^{K} \frac{t_{lk}}{y_{lk}} y_{lk} (\mathit{I}_{kj} – y_{lj}) \quad (4.106) \\
&= – \sum_{k=1}^{K} t_{lk}(\mathit{I}_{lj} – y_{lj}) \\
&= – (- t_{l1}y_{lj} – t_{l2}y_{lj} – … t_{lK}y_{lj}) + t_{lj} \\
&= (t_{l1}+t_{l2}+…+t_{lK})y_{lj} – t_{lj} \\
&= y_{lj} – t_{lj} \quad (5.18)
\end{align}
$$
問題$5.8$
$$
\large
\begin{align}
\tanh(a) &= \frac{e^a-e^{-a}}{e^{a}+e^{-a}} \quad (5.59)
\end{align}
$$
上記のように表される$(5.59)$式を$a$で微分すると下記のように変形を行える。
$$
\large
\begin{align}
\frac{d}{da} \tanh(a) &= \frac{(e^a+e^{-a})(e^a+e^{-a}) – (e^a-e^{-a})(e^a-e^{-a})}{(e^{a}+e^{-a})^2} \\
&= \frac{(e^a+e^{-a})^2 – (e^a-e^{-a})^2}{(e^{a}+e^{-a})^2} \\
&= 1 – \frac{(e^a-e^{-a})^2}{(e^{a}+e^{-a})^2} = 1 – \tanh^2(a) \quad (5.60)
\end{align}
$$
上記は$(5.60)$式に対応する。
問題$5.9$
$$
\large
\begin{align}
\tanh(a) &= \frac{e^a-e^{-a}}{e^{a}+e^{-a}} \quad (5.59)
\end{align}
$$
$-1 \leq y(\mathbf{x},\mathbf{w}) \leq 1$に出力を制御するにあたっては$(5.59)$式で表される$\tanh(a)$を活性化関数に用いれば良い。また、$\tanh(a) = 2\sigma(2a)-1$が成立するので、結果の解釈にあたってはロジスティックシグモイド関数を用いるときと同様に考えることができる。下記のように類題が取り扱われているので、合わせて確認しておくと良いと思われる。
・パターン認識と機械学習 章末問題 $3.1$解答
・パターン認識と機械学習 章末問題 $5.1$解答
問題$5.10$
$$
\large
\begin{align}
\mathbf{v} &= \sum_{i} c_{i} \mathbf{u}_{i} \quad (5.38) \\
\mathbf{v}^{\mathrm{T}} \mathbf{H} \mathbf{v} &= \sum_{i} c_{i}^{2} \lambda_{i} \quad (5.39)
\end{align}
$$
上記で表した$(5.39)$式の全ての$\lambda_{i}$が$\lambda_{i} > 0$であれば任意の$\mathbf{v}$に関して$\mathbf{v}^{\mathrm{T}} \mathbf{H} \mathbf{v} > 0$が成り立つので$\mathbf{H}$は正定値行列となる。
以下、$\mathbf{v}^{\mathrm{T}} \mathbf{H} \mathbf{v}$に$(5.38)$式を代入し、$\displaystyle \sum_{i} c_{i}^{2} \lambda_{i}$が得られることを確認し、$(5.39)$式が成立することを示す。
$$
\large
\begin{align}
\mathbf{v}^{\mathrm{T}} \mathbf{H} \mathbf{v} &= \left( \sum_{i} c_{i} \mathbf{u}_{i} \right)^{\mathrm{T}} \mathbf{H} \left( \sum_{j} c_{j} \mathbf{u}_{j} \right) \\
&= \left( \sum_{i} c_{i} \mathbf{u}_{i} \right)^{\mathrm{T}} \left( \sum_{j} c_{j} \mathbf{H} \mathbf{u}_{j} \right) \\
&= \left( \sum_{i} c_{i} \mathbf{u}_{i} \right)^{\mathrm{T}} \left( \sum_{j} \lambda_{j} c_{j} \mathbf{u}_{j} \right) \\
&= \sum_{i} \sum_{j} \lambda_{j} c_{i}c_{j} \mathbf{u}_{i}^{\mathrm{T}} \mathbf{u}_{j} \\
&= \sum_{i} \lambda_{i} c_{i}^{2} \quad (5.39)
\end{align}
$$
問題$5.11$
$$
\large
\begin{align}
\mathbf{w}-\mathbf{w}^{*} &= \sum_{i} \alpha_{i} \mathbf{u}_{i} \quad (5.35) \\
E(\mathbf{w}) &= E(\mathbf{w}^{*}) + \frac{1}{2} \sum_{i} \lambda_{i} \alpha_{i}^{2} \quad (5.36)
\end{align}
$$
誤差関数は上記の$(5.36)$式で表されるが、$E(\mathbf{w})=\mathrm{Const.}$とおくと、$(5.36)$式は下記のように変形できる。
$$
\large
\begin{align}
E(\mathbf{w}) = E(\mathbf{w}^{*}) + \frac{1}{2} \sum_{i} \lambda_{i} \alpha_{i}^{2} &= \mathrm{Const.} \\
\sum_{i} \lambda_{i} \alpha_{i}^{2} &= 2(\mathrm{Const.} – E(\mathbf{w}^{*}))
\end{align}
$$
ここで上記の$2(\mathrm{Const.} – E(\mathbf{w}^{*}))$も定数であると考えられるので、$\displaystyle \sum_{i} \lambda_{i} \alpha_{i}^{2}=\mathrm{Const.}’$が成立し、楕円の方程式に一致する。
ここで$(5.35)$式より$\alpha_{i}$はベクトル$\mathbf{w}-\mathbf{w}^{*}$を構成する$\mathbf{u}_{i}$の成分であると解釈できる。また、$\alpha_{i}$以外が$0$のとき、固有値$\lambda_{i}$に関して下記が成立する。
$$
\large
\begin{align}
\lambda_{i} \alpha_{i}^{2} &= \mathrm{Const}’. \\
\alpha_{i} &= \sqrt{\frac{\mathrm{Const}’.}{\lambda_{i}}}
\end{align}
$$
以上を元に、誤差関数が一定の$\mathbf{w}$の等高線が、図$5.6$のような回転した楕円を元に表されると考えることができる。
問題$5.13$
$$
\large
\begin{align}
E(\mathbf{w}) \simeq E(\hat{\mathbf{w}}) + (\mathbf{w}-\hat{\mathbf{w}})^{\mathrm{T}} \mathbf{b} + \frac{1}{2}(\mathbf{w}-\hat{\mathbf{w}})^{\mathrm{T}} \mathbf{H} (\mathbf{w}-\hat{\mathbf{w}}) \quad (5.28)
\end{align}
$$
上記で表した$(5.28)$式の$\mathbf{b}$は$W$、$\mathbf{H}$は演習$2.21$で取り扱ったように$\displaystyle \frac{W(W+1)}{2}$の自由度を持つ。よって、$(5.28)$式全体での自由度は下記のように表される。
$$
\large
\begin{align}
W + \frac{W(W+1)}{2} &= W + \frac{W(W+1) + 2W}{2} \\
&= \frac{W(W+3)}{2}
\end{align}
$$
問題$5.14$
$(5.68)$式に出てくる$E_{n}(w_{ji}+\epsilon)$に関して、下記のようにテイラー展開を行うことができる。
$$
\large
\begin{align}
E_{n}(w_{ji}+\epsilon) &= E_{n}(w_{ji}) + \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + \frac{\partial^2 E_{n}(w_{ji})}{\partial w_{ji}^2} \frac{\epsilon^{2}}{2!} + \cdots \quad (1)
\end{align}
$$
上記の$(1)$式は下記のように変形できる。
$$
\large
\begin{align}
E_{n}(w_{ji}+\epsilon) &= E_{n}(w_{ji}) + \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + \frac{\partial^2 E_{n}(w_{ji})}{\partial w_{ji}^2} \frac{\epsilon^{2}}{2!} + \cdots \\
\frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon &= E_{n}(w_{ji}+\epsilon) – E_{n}(w_{ji}) – \left[ \frac{\partial^2 E_{n}(w_{ji})}{\partial w_{ji}^2} \frac{\epsilon^{2}}{2!} + \cdots \right] \\
\frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} &= \frac{E_{n}(w_{ji}+\epsilon) – E_{n}(w_{ji})}{\epsilon} + O(\epsilon) \quad (5.68)
\end{align}
$$
上記の$O(\epsilon)$は剰余項の$\epsilon$に関する最小次数の項が$\epsilon$であることを意味する。同様の変形を中心差分に関して行うにあたって、下記のような$E_{n}(w_{ji}+\epsilon)$と$E_{n}(w_{ji}-\epsilon)$のテイラー展開を考える。
$$
\large
\begin{align}
E_{n}(w_{ji}+\epsilon) &= E_{n}(w_{ji}) + \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + \frac{\partial^2 E_{n}(w_{ji})}{\partial w_{ji}^2} \frac{\epsilon^{2}}{2!} + \cdots \quad (1) \\
E_{n}(w_{ji}+\epsilon) &= E_{n}(w_{ji}) – \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + \frac{\partial^2 E_{n}(w_{ji})}{\partial w_{ji}^2} \frac{\epsilon^{2}}{2!} – \cdots \quad (2)
\end{align}
$$
両辺に関して$(1)-(2)$式を計算すると下記のように計算できる。
$$
\large
\begin{align}
& E_{n}(w_{ji}+\epsilon) – E_{n}(w_{ji}+\epsilon) \\
&= \left[ E_{n}(w_{ji}) + \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + \frac{\partial^2 E_{n}(w_{ji})}{\partial w_{ji}^2} \frac{\epsilon^{2}}{2!} + \cdots \right] – \left[ E_{n}(w_{ji}) – \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + \frac{\partial^2 E_{n}(w_{ji})}{\partial w_{ji}^2} \frac{\epsilon^{2}}{2!} – \cdots \right] \\
&= 2 \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + 2 \frac{\partial^3 E_{n}(w_{ji})}{\partial w_{ji}^3} \frac{\epsilon^3}{3!} + \cdots
\end{align}
$$
上記の両辺を$2 \epsilon$で割り、$\displaystyle \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}}$に関して解くことで下記のように$(5.69)$式を導出することができる。
$$
\large
\begin{align}
E_{n}(w_{ji}+\epsilon) – E_{n}(w_{ji}+\epsilon) &= 2 \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} \epsilon + 2 \frac{\partial^3 E_{n}(w_{ji})}{\partial w_{ji}^3} \frac{\epsilon^3}{3!} + \cdots \\
\frac{E_{n}(w_{ji}+\epsilon) – E_{n}(w_{ji}+\epsilon)}{2 \epsilon} &= \frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} + \frac{\partial^3 E_{n}(w_{ji})}{\partial w_{ji}^3} \frac{\epsilon^2}{3!} + \cdots \\
\frac{\partial E_{n}(w_{ji})}{\partial w_{ji}} &= \frac{E_{n}(w_{ji}+\epsilon) – E_{n}(w_{ji}+\epsilon)}{2 \epsilon} + O(\epsilon^2) \quad (5.69)
\end{align}
$$