機械学習基礎理論独習

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

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

PRML演習問題 5.1(標準)

問題

(5.7) の形の 2 層ネットワーク関数で、隠れユニットの非線形活性化関数 \sigma(\cdot)
ロジスティックシグモイド関数

\begin{eqnarray}
\sigma(a)=(1+\exp(-a))^{-1}\tag{5.191}
\end{eqnarray}

で与えられるものを考える。これと等価なネットワーク、すなわち全く同じ関数を計算するが、
隠れユニットの活性化関数が \tanh(\alpha) で与えられるものが存在することを示せ。
ただし、 \tanh 関数は (5.59) で定義される。
ヒント:まず始めに \sigma(\alpha)\tanh(\alpha) の関係を求め、次に2つのネットワークのパラメータの違いは線形変換であることを示す。

参考

\begin{eqnarray}
\tanh(a)=2\sigma(2a)-1\tag{3.100}
\end{eqnarray}

\begin{eqnarray}
y_k({\bf x},{\bf w})=\sigma\left(\sum_{j=1}^Mw_{kj}^{(2)}h\left(\sum_{i=1}^Dw_{ji}^{(1)}+w_{j0}^{(1)}\right)+w_{k0}^{(2)}\right)\tag{5.7}
\end{eqnarray}

\begin{eqnarray}
\tanh (a)=\frac{e^a-e^{-a}}{e^a+e^{-a}}\tag{5.59}
\end{eqnarray}

解答

\sigma(\alpha)\tanh(\alpha) の関係は (3.100) で示されています。(導出についてはPRML演習問題 3.1(基本) wwwを参照してください。)
(3.100)\sigma(2a) についてまとめます。

\begin{eqnarray}
\sigma(2a)=\dfrac{1}{2}\left(\tanh(a)+1\right)\tag{1}
\end{eqnarray}

(5.7)h\sigma にします。

\begin{eqnarray}
y_k({\bf x},{\bf w})&=&\sigma\left(\sum_{j=1}^Mw_{kj}^{(2)}\sigma\left(\sum_{i=1}^Dw_{ji}^{(1)}+w_{j0}^{(1)}\right)+w_{k0}^{(2)}\right)\\
&=&\sigma\left(\sum_{j=1}^Mw_{kj}^{(2)}\frac{1}{2}\tanh\left(\frac{1}{2}\left(\sum_{i=1}^Dw_{ji}^{(1)}+w_{j0}^{(1)}\right)+1\right)+w_{k0}^{(2)}\right)\\
&=&\sigma\left(\sum_{j=1}^M\frac{1}{2}w_{kj}^{(2)}\tanh\left(\sum_{i=1}^D\frac{1}{2}w_{ji}^{(1)}+\frac{1}{2}w_{j0}^{(1)}\right)+\sum_{j=1}^M\frac{1}{2}w_{kj}^{(2)}+w_{k0}^{(2)}\right)\\
&=&\sigma\left(\sum_{j=1}^Mv_{kj}^{(2)}\tanh\left(\sum_{i=1}^Dv_{ji}^{(1)}+v_{j0}^{(1)}\right)+v_{k0}^{(2)}\right)\tag{2}
\end{eqnarray}

(2) で以下のようにおきました。

\begin{eqnarray}
&&v_{kj}^{(2)}=\frac{1}{2}w_{kj}^{(2)}\tag{3}\\
&&v_{ji}^{(1)}=\frac{1}{2}w_{ji}^{(1)}\tag{4}\\
&&v_{j0}^{(1)}=\frac{1}{2}w_{j0}^{(1)}\tag{5}\\
&&v_{k0}^{(2)}=\sum_{j=1}^M\frac{1}{2}w_{kj}^{(2)}+w_{k0}^{(2)}\tag{6}
\end{eqnarray}

(2) より、題意が示せました。

目次へ戻る