交差エントロピー損失 こうさえんとろぴーそんしつ
交差エントロピー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でデフォルトの分類損失関数として標準装備
関連用語
- 損失関数 — 交差エントロピーが属するカテゴリ
- Softmax — 多クラス分類で交差エントロピーと組み合わせる関数
- 勾配降下法 — 損失を最小化する最適化手法
- ニューラルネットワーク — 交差エントロピーを使って学習
- Perplexity — 交差エントロピーと関連する言語モデルの指標
- ロジスティック回帰 — 2値分類で交差エントロピーを使う