ソフトマックス関数
ソフトマックス関数とは
という関数のこと。
各成分が正で,合計が になるように調整するという役割を持つ。
ソフトマックス関数の定義・意味・性質を整理しました。
ソフトマックス関数とは
ソフトマックス関数とは
ソフトマックス関数の定義式:
について,説明します。
- 個の実数 を入力とし, 個の実数 を出力する関数です。
- 例えば の場合, が入力で, と と が出力です。
- 例えば, にソフトマックス関数をほどこすと, となります。
ソフトマックス関数と確率分布
ソフトマックス関数と確率分布
ソフトマックス関数の出力は から の間で,合計は になる。つまり,
確率分布の表現に使えそうですね! この性質のおかげで,ソフトマックス関数は機械学習で使われることがあります。具体的には,分類問題に対するニューラルネットワークの最終層として使われることがあります。
性質1の証明は,ソフトマックス関数の定義から簡単にできます。 の場合で確認してみましょう。
-
と は 以上なので, は から の間。
-
「ソフトマックス」と呼ぶ理由
「ソフトマックス」と呼ぶ理由
ソフトマックス関数は,「マックス関数」を「ソフトにしたもの」とみなせます。
-
マックス関数とは?
一番大きい成分を にして,それ以外のものを にする関数を「最大を取り出す」のでマックス関数と呼ぶことにします。 -
ソフトにするとは?
さきほどの具体例を見るとわかりやすいです。 にソフトマックス関数をほどこすと, でした。マックス関数の出力 をソフトにしたという感じです。実際,以下の性質が成り立ちます。
入力成分の中で がダントツで大きいなら,
はほぼ で他の出力成分はほぼ
シグモイド関数との関係
シグモイド関数との関係
ソフトマックス関数の微分
ソフトマックス関数の微分
ソフトマックス関数の微分は,出力 を使って簡潔に表せます。
つまり,
- 出力成分 を入力成分 で微分すると
- 出力成分 を入力成分 で微分すると
証明は,商の微分公式を使って計算するだけです。
表記簡略化のために, とおく。 である。
のとき,
のとき,
ソフトマックス関数という名前,何度でも呼びたくなりますね。