edo1z blog

プログラミングなどに関するブログです

シグモイド関数

ディープラーニングでシグモイド関数というのを使いまっす。シグモイド関数は、何か入力されたら0~1の数値を返します。入力された数値が0未満だったら0を返して、そうでなければ1を返すような関数をステップ関数といいまして、これよりも緩やかに0~1の間を返すのでなんかいいらしいです。

シグモイド関数の式は、下記です。

[mathjax] $$h(x) = \frac{1}{1+\exp(-x))}$$

Pythonで書くと下記になります。

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

グラフにすると下記のようになります。

import numpy as np
import matplotlib.pyplot as plt

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

x = np.arange(-5.0, 5.0, 0.1)
y = sigmoid(x)
plt.plot(x, y)
plt.ylim(-0.1, 1.1)
plt.show()