ソフトマックス関数
ナビゲーションに移動
検索に移動
ソフトマックス関数(softmax function)とは、ロジスティック関数を多次元に一般化したもので、K次元の実数ベクトル(K個の実数配列)をK個の確率分布(0.0〜1.0)に変換し、かつその確率分布の合計が1.0になる関数のことである。
「softargmax」や「正規化指数関数」などとも呼ばれる。
「正規化指数関数」という名称からもわかるように、UnityやMonoGameなんかで3Dゲームなどを作っているとよく使う正規化関数「normalize(vector3)」の亜種であり、3次元だけでなく4次元でも5次元でも100次元でも「合計1.0」にしてくれるというもの。
ニューラルネットワークの最後の活性化関数として、ルースの選択公理に基づいて、ネットワークの出力を予測される出力クラスに対する確率分布に正規化するためによく使われる。