【Python】シグモイド関数を実装するコード【Sigmoid】

スポンサーリンク

【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)))

以上がシグモイド関数の実装。

人気記事

人気記事はこちら。

【Pytorch】テンソルの次元を追加・削除する方法【dim】
CUDA、cuDNNのバージョンをターミナルで調べるコマンド
【Pytorch】テンソルを連結する方法(cat・stack)
【Python】Tensorflowをダウングレード・アップグレードするコマンド
【Protobuf】"TypeError: Descriptors cannot not be created directly."を解決する【solved】

最新記事

最新記事はこちら。

【パリ】サントシャペルの豪華なステンドグラスを見に行った【フランス】
【パリ】ノートル大聖堂でミサ、セーヌ川近くのレストランで昼食【フランス】
【パリ】人生2度目のルーヴル美術館へ【フランス】
フランス旅行、羽田空港からパリへ移動
奈良公園を自転車で散策。鹿と触れ合う。春日大社、東大寺の大仏なども【奈良】

タイトルとURLをコピーしました