2クラスの場合に確率的生成モデルを考えると、シグモイド関数で事後確率が表せました。今回は多クラスの場合を考えます。確率的生成モデル(1)と同様の計算(ベイズの定理)により、
となります。ここで
とすれば、
だから、式(1)は
となり、これをソフトマックス関数と呼びます。出力範囲が]であり、
ですから、シグモイド関数と同様にソフトマックス関数の出力は確率として解釈することができます。は
の線形結合
でモデル化します*1。
2クラスのロジスティック回帰とは違い、求めるパラメータはクラスごとに
種類ありますので、
次元の入力であれば
個のパラメータになります。
、
と固定したときに、
を変化させていくと各ソフトマックス関数の出力は以下のグラフのようになりました。
横軸がで、縦軸がソフトマックス関数の出力です。式(4)のソフトマックス関数は、
が最大のときに
が1に近い値を返し、それ以外の成分
は0に近い値となります。最大が顕著であれば1により近く、他との差が小さければ1からは離れていきます。この性質を滑らかに(微分可能)に表現したものがソフトマックス関数であると考えることができると思います。
関連:ソフトマックス関数の微分
*1:今回実際に計算して線形で表せることを確認していません。いつか計算する