ニューラルネットワークによく使われるシグモイド関数。
前回はRで使ってみたが、今回はpythonコードで表してみよう。
まず式はこちら。
f(x) = 1 / (1 + e ^ -x)
pythonコードはこちら。
[py]
####ここから
# coding: utf-8
import numpy as np
import matplotlib.pylab as mplt
def sigmoid(x):
return 1 / (1 + np.exp(-x)) #インデントを忘れずに
X = np.arange(-5.0, 5.0, 0.1)
Y = sigmoid(X)
mplt.plot(X, Y)
mplt.ylim(0, 1.0)
mplt.show()
###########
[/py]
上記コードを実行すると、下記の画像が現れる。

こいつを使えば、入力信号が重要であれば大きな値を出力し、
たいして重要でなければ小さな値を出力する。
で、常に0以上1以下の値を出してくれると。
ここら辺がスイッチ変わりに使える関数ってことですなあ。