評価指標

交差エントロピー損失 こうさえんとろぴーそんしつ

交差エントロピーCross Entropy Loss損失関数分類学習対数損失
交差エントロピー損失について教えて

簡単に言うとこんな感じ!

分類モデルが学習するときの「誤差のはかり方」だよ。「確実に猫!(確率99%)」と正解して損失が小さく、「多分猫かな(確率51%)」と正解でも損失が大きくなる。確率的な予測をしっかり評価できるから、ニューラルネットワークの分類学習に標準的に使われるんだ!


交差エントロピー損失とは

交差エントロピー損失(Cross-Entropy Loss、または対数損失)は、分類問題の学習に使われる損失関数です。モデルが出力する確率と実際のラベルの「ずれ」を情報理論の観点から測定します。

2値分類の場合(Binary Cross-Entropy)

Loss = -[y × log(p) + (1-y) × log(1-p)]

y:実際のラベル(0 or 1)
p:モデルが「陽性」と予測した確率

多クラス分類の場合(Categorical Cross-Entropy)

Loss = -Σ y_c × log(p_c)

y_c:クラスcの正解ラベル(ワンホット)
p_c:クラスcの予測確率

なぜ対数を使うのか

正解ラベルが「猫」の場合:

  猫と予測 99%確率 → -log(0.99) ≈ 0.01(損失小)
  猫と予測 50%確率 → -log(0.50) ≈ 0.69(損失中)
  猫と予測 10%確率 → -log(0.10) ≈ 2.30(損失大)
  猫と予測 1%確率  → -log(0.01) ≈ 4.61(損失非常に大)

→ 自信を持って間違えると大きなペナルティ
→ 「確率的な予測」を正しく評価できる

Softmax との組み合わせ

クラス分類では通常、最後の層に Softmax を使って確率分布を出力し、そこに Cross-Entropy を適用します。

入力 → [全結合層] → ロジット → [Softmax] → 確率 → [Cross-Entropy] → 損失

歴史と背景

  • 情報理論(シャノン、1948年)の概念が基礎
  • 1990年代〜:ニューラルネットワークの学習でSoftmax + Cross-Entropyが定着
  • 現在:PyTorch/TensorFlowでデフォルトの分類損失関数として標準装備

関連用語