ソフトマックス関数(Softmax function)



機械学習

分類(classification)

ニューラルネットワーク(NN)

クラスタリング

強化学習

敵対的生成ネットワーク

公開日:2019/3/21 , 最終更新日:2020/8/19         

前提知識
 ・有理関数の微分


ソフトマックス関数(Softmax function)とはニューラルネットワークでよく用いられる活性化関数の一つで、以下の様に関数の合計値が1となるように正規化する関数です。



これが何を示しているか、具体例として以下の様にxを与えた時のyの計算結果を示します。


この様に計算結果の合計は1となり、値が正規化されていることが解ります。これは各出力の発生確率と解釈することができ、ニューラルネットワークの場合 以下の様に出力層にソフトマックス関数を用い出力の発生確率を求めるのに用いられます。



■割合い計算との違い
正規化するなら以下の様な計算方法でも良い筈ですが、ソフトマックス関数にする事のメリットは何でしょうか。



一つに、ソフトマックス関数は入力値にマイナスの値を持つことが可能という事です。上記計算式ではマイナスの計算はできません。マイナス値での処理が可能という事はニューラルネットワークと相性が良いです。 もう一つに、指数関数は以下の様に入力値が大きくなるに従い出力値が大きくなるので、入力値が小さい場合と大きい場合の区別がしやすくなります。

 

■ソフトマックス関数の微分
以下有理関数の微分を用います。



以下具体例で考えます。



次の例は、



となります。









サブチャンネルあります。⇒ 何かのお役に立てればと

関連記事一覧



機械学習

分類(classification)

ニューラルネットワーク(NN)

クラスタリング

強化学習

敵対的生成ネットワーク