【Python】シグモイド関数を実装するコード
予測モデルの作成でロジスティック回帰を実装するのにシグモイド関数を使いたいときに参考として実装プログラムをまとめておく。
シグモイド関数の実装
シグモイド関数は以下の式で表される。
単純な実装としては以下のコードになる。
import numpy as np
def sigmoid(x): # 単純な実装
return 1 / (1 + np.exp(-x))
ただ、expはxが正に増大するとoverflowしやすいという特徴があるので、それを考慮して以下のようにコードを書く。
import numpy as np
def sigmoid(x): # expのoverflow対策を施した実装
# x >=0 のとき sigmoid(x) = 1 / (1 + exp(-x))
# x < 0 のとき sigmoid(x) = exp(x) / (1 + exp(x))
return np.exp(np.minimum(x, 0)) / (1 + np.exp(- np.abs(x)))
以上がシグモイド関数の実装。
人気記事
人気記事はこちら。
最新記事
最新記事はこちら。