ソフトマックス関数(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など)。最後の最後、確率を出したい時だけ使います。 - × 回帰問題で使われる
(解説)数値を予測する回帰問題の出力層では、何も加工しない「恒等関数」が使われます。ソフトマックスは「分類」専用です。
