はじめに
本記事は, 機械学習の教科書の決定版ともいえる, Christopher Bishop先生による『Pattern Recognition and Machine Learning (パターン認識と機械学習)』, 通称PRMLの演習問題の解答を記したものです. これは, 生物測定学研究室の輪読会でPRMLを取り扱っており, その勉強の一環として演習問題を解いたときのもので, 匿名の有志の学生による解答をこちらのアカウントから代わりに投稿させていただいています. (なお一部数式の表現などを修正してあります.)
問題
5.6 ロジスティックシグモイド活性化関数を持つ出力ユニットの活性 $a_k$ に関する誤差関数 $(5.21)$ の微分は, $(5.18)$ を満たすことを示せ.
この問題の意義
ロジスティックシグモイドの活性化関数を持つ場合でも、誤差関数の微分をすると二乗和誤差関数と同じ誤差を求めることになるということを示す。
この問題で出てくる式
念のためまず、交差エントロピー誤差関数 $(5.21)$ の式を書く。
\begin {align*}
E(\mathbf{w}) = -\sum_{n=1}^N\{t_n\ln{y_n}+(1 - {t_n})\ln(1 - y_n)\}
\tag{5.21}
\end {align*}
そして、この関数の微分によって求めたい式は、
\begin {align*}
\frac{\partial E}{\partial a_k} = y_k - t_k
\tag{5.18}
\end {align*}
である。
今回は、活性がロジスティックシグモイド関数のため、
\begin {align*}
y = \sigma(a) \equiv \frac{1}{1 + \exp(-a)}
\tag{5.19}
\end {align*}
であり、$y$ の $a_k$ による微分は $(4.88)$ より
\frac{\partial y}{\partial a_k} = \frac{\partial \sigma}{\partial a_k} = \sigma(1 - \sigma) = y_k(1-y_k)
となる。
解法
微分の計算です。
\begin {align*}
\frac{\partial E}{\partial a_k} &= -t_n\frac{(y_k)'}{y_k} + (1 - t_k)\frac{(y_k)'}{1-y_k} \\
&= -t_k \frac{y_k(1 - y_k)}{y_k} + (1-t_k)\frac{y_k (1-y_k)}{(1-y_k)} \\
&= -t_k +t_k y_k + y_k -t_k y_k\\
&= y_k - t_k
\end {align*}
■