【Python】ソフトマックス関数を実装するコード
予測モデルの作成でソフトマックス回帰を実装するのにシグモイド関数を使いたいときに参考として実装プログラムをまとめておく。
ソフトマックス関数の実装
ソフトマックス関数は以下で表される。
これをPythonでコードを書くと以下のようになる。
def softmax(x):
x -= x.max(axis=1, keepdims=True) # expのoverflowを防ぐ
x_exp = np.exp(x)
return x_exp / np.sum(x_exp, axis=1, keepdims=True)
ここでのxは2次元ベクトルで、x -= x.max(axis=1, keepdims=True)をすることによってexpのoverflowを防いでいる。
expを使っているのでシグモイド関数と同様にoverflowに気を付ける必要がある。
以上がソフトマックス関数を実装するコードの紹介。
人気記事
人気記事はこちら。
最新記事
最新記事はこちら。