シグモイド関数をpythonで表現。

ニューラルネットワークによく使われるシグモイド関数。

前回はRで使ってみたが、今回はpythonコードで表してみよう。

まず式はこちら。
f(x) = 1 / (1 + e ^ -x)

pythonコードはこちら。

####ここから

# 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()

###########

上記コードを実行すると、下記の画像が現れる。

sigmoidpy

 

こいつを使えば、入力信号が重要であれば大きな値を出力し、
たいして重要でなければ小さな値を出力する。

で、常に0以上1以下の値を出してくれると。

ここら辺がスイッチ変わりに使える関数ってことですなあ。

コメントする

必須フィールドには、* がマークされています。あなたのメールアドレスが公開されることはありません。