sigmoid関数(シグモイド関数)

1 min 829 views

シグモイド関数はディープラーニングでよく使われる活性化関数の1つです。
数式で表すと以下のようになります。

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

えっとなんだかよくわからないですよね。
グラフにしてみてみましょう。

グラフにすると上記のようにシグモイド関数はなめらかな関数で出力値が1に近づくという役割があります。

そのほかの活性化関数であるステップ関数などにくらべて滑らかな曲線になっていることで、入力値に対する確率を算出できるようになります。

上記グラフは点線がステップ関数、実線がシグモイド関数です。
ステップ関数は、入力値0を境に、0か1かしかありません。

シグモイド関数は何に使うの?

シグモイド関数はディープラーニングを行う際に活性化関数として用いられますが、特に2分類を行う際によく使われる関数です。
2分類とは、例えば犬か猫か。YESかNOか。人か鬼か、など0か1かと2つに分けたい場合のことを言います。

シグモイド関数のサンプルコード

シグモイド関数のグラフを表示させるには以下のPyhtonコードを実行してみてください。

import matplotlib.pyplot as plt
import numpy as np
import math

x = np.arange(-10, 10, 0.1)
e = math.e

#すぐも緯度関数の式
y = 1 / (1 + e**-x)

# グラフ表示
plt.title('sigmoid')
plt.plot(x, y)
plt.show()
関連記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です