最終更新日:2026年8月21日
gk neural_network
G検定トップ
> ソフトマックス関数(Softmax)とは?G検定対策
まず結論
- ソフトマックス関数(Softmax)とは、複数クラスのスコアを合計1の確率分布として扱える形へ変換する関数です。
- G検定では、多クラス分類・合計1・シグモイドとの違いを押さえます。
直感的な説明
複数の候補に対して、「それぞれどれくらいありそうか」を割合で表すイメージです。
たとえば犬・猫・鳥の3クラスなら、
- 犬:0.7
- 猫:0.2
- 鳥:0.1
のように、各値が0〜1の範囲に入り、合計が1になります。
定義・仕組み
ソフトマックスは、各クラスのスコアに指数関数を適用し、その合計で割って正規化します。
主な特徴は次のとおりです。
- 各出力は0〜1
- 全クラスの出力合計は1
- 多クラス単一ラベル分類の出力層でよく使われる
指数関数を使うため、実装では最大値を引くなどの数値安定化が行われます。
いつ使う?(得意・不得意)
得意
- 多クラス分類
- クラスごとのスコアを確率分布として解釈したい場合
注意点
- 二値分類ではシグモイドが使われることも多い
- 多ラベル分類では各クラスを独立に扱うため、シグモイドが使われることが多い
- 「合計1」が必要な場面かどうかを見る
G検定ひっかけポイント
- ⭕「複数クラスの出力合計が1」→ Softmax
- ❌「各クラスを独立に0〜1へ変換する」→ 多ラベル分類ではSigmoidが候補
- ❌「前処理の正規化そのもの」→ Softmaxはモデルの出力に使う関数
- ❌「数値が大きくても指数計算は常に安全」→ 数値安定化が必要
まとめ(試験直前用)
- Softmax=複数クラスのスコアを確率分布へ
- 各出力は0〜1
- 合計は1
- 多クラス単一ラベル分類でよく使う
- 二値・多ラベルとの違いではSigmoidも候補