機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

PRML演習問題 4.17(基本) www

問題

ソフトマックス活性化関数 (4.104)微分が、(4.106) によって与えられることを示せ。
ここで、a_k(4.105) によって定義される。

参照

\begin{eqnarray}
p(C_k|{\boldsymbol\phi})=y_k({\boldsymbol\phi})=\frac{\exp(a_k)}{\displaystyle\sum_j\exp(a_j)}\tag{4.104}
\end{eqnarray}

\begin{eqnarray}
a_k={\bf w}_k^\top{\boldsymbol\phi}\tag{4.105}
\end{eqnarray}

\begin{eqnarray}
\frac{\partial y_k}{\partial a_j}=y_k(I_{kj}-y_j)\tag{4.106}
\end{eqnarray}

解答

\dfrac{\partial y_k}{\partial a_j}を計算します。

j\not=k のとき、

\begin{eqnarray}
\frac{\partial y_k}{\partial a_j}&=&\frac{\partial}{\partial a_j}\frac{\exp(a_k)}{\displaystyle\sum_i\exp(a_i)}\\
&=&\frac{0-\exp(a_k)\exp(a_j)}{\left(\displaystyle\sum_i\exp(a_i)\right)^2}\\
&=&-\frac{\exp(a_k)}{\displaystyle\sum_i\exp(a_i)}\cdot\frac{\exp(a_j)}{\displaystyle\sum_i\exp(a_i)}\\
&=&-y_ky_j\\
&=&y_k(0-y_j)\tag{1}
\end{eqnarray}

となります。

j=kのとき、

\begin{eqnarray}
\frac{\partial y_k}{\partial a_j}&=&\frac{\partial}{\partial a_j}\frac{\exp(a_k)}{\displaystyle\sum_i\exp(a_i)}\\
&=&\frac{\exp(a_k)\displaystyle\sum_i\exp(a_i)-\exp(a_k)\exp(a_j)}{\left(\displaystyle\sum_i\exp(a_i)\right)^2}\\
&=&\frac{\exp(a_k)}{\displaystyle\sum_i\exp(a_i)}\cdot\frac{\displaystyle\sum_i\exp(a_i)-\exp(a_j)}{\displaystyle\sum_i\exp(a_i)}\\
&=&y_k(1-y_j)\tag{2}
\end{eqnarray}

となります。

(1),(2) をまとめて書くと、以下のようになります。

\begin{eqnarray}
\frac{\partial y_k}{\partial a_j}=y_k(I_{kj}-y_j)\tag{3}
\end{eqnarray}

(3) より、式 (4.106) が示せました。

目次へ戻る