ディープラーニング

【python】1日30分のディープラーニング -11日目- ~シグモイド関数~

シグモイド関数とは

ステップ関数が0か1かを表すのに対し、シグモイド関数は0から1の間の数値を表現できる。容易に微分できることから、ニュートラルネットワークで昔から使用されている。

$$ f(x) = \frac{ 1 }{ 1 + e^{-ax} } $$$

import numpy as np
import matplotlib.pyplot as plt

def sigmoid(x):
    return 1 / (1+np.exp(-x)) #np.exp(-x)はmath.e**-xでも良い

x=np.linspace(-10,10)
y=sigmoid(x)

plt.plot(x,y)
plt.show()

グラフを見てもわかるように、yの値が必ず0から1の間で収まっていることがわかる。
また、x=0の時に傾きが最大でxが無限大,-無限大に近ずくほど傾きは0に収束している。