Web教科書

ソフトマックス関数

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

解説:スコアを「確率」に変える変換機

ソフトマックス関数は、ニューラルネットワークの「出力層」で使われる関数です。特に、3つ以上の選択肢から正解を選ぶ多クラス分類において必須となります。

この関数の役割は、AIが出したバラバラな数値(スコア)を、「合計するとちょうど1(100%)」になるように整形することです。これにより、出力を「この画像が犬である確率は70%」といった確率として扱えるようになります。

💡 具体例:犬・猫・鳥の分類AIの計算途中(入力)のスコアがバラバラでも、ソフトマックスを通すと合計1.0になります。

クラス 入力スコア(例) 変換後(確率)
3.2 0.7 (70%)
1.5 0.2 (20%)
0.1 0.1 (10%)
合計 バラバラ 必ず 1.0 (100%)

「シグモイド関数」との使い分け

どちらも出力を0〜1にしますが、用途が異なります。

関数名 シグモイド関数 ソフトマックス関数
用途 二値分類
(Yes / No)
多クラス分類
(A or B or C …)
合計の性質 各出力は独立して判定。
(合計は1にならない)
すべてのクラスの
合計が必ず「1」になる。

G検定対策

出題ポイント

  • 使用場所:「多クラス分類問題の出力層」で使われる。
  • 性質:出力の合計が「1」になる(正規化)。
  • メリット:出力を「確率」として直感的に理解・利用できる。
  • 誤差関数:通常、交差エントロピー誤差とセットで使用される。

ひっかけ対策

  • × 中間層で使われる
    (解説)計算コストが高いため、中間層で使われることはほぼありません(中間層はReLUなど)。最後の最後、確率を出したい時だけ使います。
  • × 回帰問題で使われる
    (解説)数値を予測する回帰問題の出力層では、何も加工しない「恒等関数」が使われます。ソフトマックスは「分類」専用です。
タイトルとURLをコピーしました