概要
2クラスの場合に確率的生成モデルを考えると、シグモイド関数で事後確率が表せました。今回は多クラスの場合を考えます。
ソフトマックス関数の導出
確率的生成モデル - シグモイド関数と同様の計算(ベイズの定理)により、
となります。ここで
とすれば、
だから、式(1)は
となり、これをソフトマックス関数と呼びます。出力範囲が]であり、
ですから、シグモイド関数と同様にソフトマックス関数の出力は確率として解釈することができます。はシグモイド関数と同様にの線形結合でモデル化します。
2クラスのロジスティック回帰とは違い、求めるパラメータはクラスごとに種類ありますので、次元の入力であれば個のパラメータになります。
ソフトマックス関数のグラフ
ソフトマックス関数のグラフの形状を見てみます。、と固定し、を変化させていったときの各ソフトマックス関数の出力は以下のグラフのようになりました。
横軸がで、縦軸がソフトマックス関数の出力です。グラフ中のAの区間では5.0であるが最大なので、オレンジのグラフが最も高い値を出力しています。Bの区間ではとの大小関係が逆転し、緑のグラフが青より高い値になっています。Cの区間ではが最大になるので緑のグラフが最も高い値を出力します。
最大が顕著であれば1により近く、他との差が小さければ1からは離れていきます。この性質を滑らかに(微分可能)に表現したものがソフトマックス関数であると考えることができると思います。
関連:ソフトマックス関数の微分