LoginSignup
45

シグモイド関数の微分

Last updated at Posted at 2017-09-09

シグモイド関数の微分は、機械学習の誤差逆伝搬法で登場したが微分の際に意味が分からなかったので高校数学を復習してみた。

前提

sigmoid(z) = \frac{1}{1 + e^{-z}}

結論

f(z) = sigmoid(z) \\

とした時、

f(z)' = (1 - f(z)) \cdot f(z)

導出

シグモイド関数を使いやすく式変形すると以下の式になる。

f(z) = (1 + e^{-z})^{-1} \tag{1}

ここで、

1 + e^{-z} = u  \tag{2}

とおくと、

f(z) = u^{-1} \tag{3}

と、f(z)を表せる。

(2)(3)を微分して

\frac{du}{dz} = -e^{-z} \tag{4}
\frac{dy}{du} = -u^{-2} = -(1 + e^{-z})^{-2} \tag{5}

合成関数の微分の公式に(4)(5)を当てはめて

\frac{dy}{dz} = \frac{1}{(1 + e^{-z})^2} \cdot e^{-z} \tag{6}

(6)を式変形して

\frac{dy}{dz} = \frac{e^{-z}}{1 + e^{-z}} \cdot \frac{1}{1 + e^{-z}} \tag{7}

(7)の右辺の左側を変形して

\frac{e^{-z}}{1 + e^{-z}} = \frac{1 + e^{-z}}{1 + e^{-z}} - \frac{1}{1 + e^{-z}} \tag{8}

(7)に(8)を当てはめると

\frac{dy}{dz} =  \left( \frac{1 + e^{-z}}{1 + e^{-z}} - \frac{1}{1 + e^{-z}} \right ) \cdot \frac{1}{1 + e^{-z}} \tag{9}

シグモイド関数の

f(z) = \frac{1}{1 + e^{-z}}

を(9)に当てはめられるので

    f(z)' = (1 - f(z)) \cdot f(z)

となり、最初に示した形になる。

合成関数の微分

\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}

参考

シグモイド関数を微分してみたよ
※参考サイトでは、dz/du=e^-zとしていますが間違っており、正しくは-e^-zなのでご注意ください。

合成関数の微分公式と例題7問

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45