Closed6

計算グラフ: シグモイド関数

nabeyangnabeyang

numpyを前提にしたとき、シグモイド関数は成分表記で次のようになる。

y_{i,j} = \frac{1}{1 + \exp(-x_{i, j})}

numpyの動きを確認するのに、次のコードを実行してみる。

x = np.array([
    [1, 2, 3],
    [4, 5, 6],
], dtype='f')
y = 1. / (1 + x)
np.all(y == np.array([
    [1 / 2, 1 / 3, 1 / 4],
    [1 / 5, 1 / 6, 1 / 7],
], dtype='f')) # => True

ということでxが行列の場合はスカラの場合と変わらない。以降の計算では結果に影響しないのでインデックスの足は書かない。

nabeyangnabeyang
\begin{aligned} y &= \frac{1}{1 + \exp(-x)}\\ t &= 1 + \exp(-x) \end{aligned}
nabeyangnabeyang
\begin{aligned} \frac{\partial y}{\partial t} &= \frac{\partial }{\partial t}\left(\frac{1}{t}\right)\\ &= - \frac{1}{t^{2}}\\ &= - y^{2} \end{aligned}
nabeyangnabeyang
\begin{aligned} \frac{\partial t}{\partial x} &= \frac{\partial}{\partial x}\left(1 + \exp( - x)\right)\\ &= - \exp(-x)\\ &= - (1 + \exp(-x)) + 1\\ &= 1 - t\\ &= 1 - \frac{1}{y}\\ &= -\frac{1 - y}{y} \end{aligned}
nabeyangnabeyang
\begin{aligned} \frac{\partial y}{\partial x} &= \frac{\partial t}{\partial x} \frac{\partial y}{\partial t}\\ &= - \frac{1 - y}{y} \cdot -y^{2}\\ &= y(1 - y) \end{aligned}
このスクラップは2021/03/10にクローズされました