Categorical Cross-Entropy (CCE

By | March 29, 2026
80 Views

Categorical Cross-Entropy (CCE)  dipakai untuk kasus klasifikasi multi-class seperti . Tapi ada sedikit penyesuaian tergantung framework.

Konsep dasarnya

Categorical Cross-Entropy menghitung perbedaan antara:

  • label asli (ground truth)
  • prediksi probabilitas (softmax output)

Rumusnya:

$$
L = -\sum y_i \log(p_i)
$$

Di mana:

  • \( (y_i) \) = label (one-hot)
  • \( (p_i) \) = probabilitas dari softmax

📊 Contoh

Misal:

Label asli (benign):
[0, 1, 0]

Prediksi model:
[0.1, 0.7, 0.2]

Loss:

= -log(0.7)

👉 Semakin dekat ke 1 → loss makin kecil


⚠️ Yang sering bikin bingung (PENTING)

🔥 Di PyTorch

👉 Kamu TIDAK pakai CategoricalCrossEntropy secara eksplisit

Tapi pakai:

nn.CrossEntropyLoss()

Kenapa?

Karena ini sudah:

  • ✔ Softmax
  • ✔ Log
  • ✔ Cross-entropy

Semua jadi satu (lebih stabil numerically)


❌ Jadi jangan begini:

# SALAH
output = softmax(model(x))
loss = CrossEntropyLoss(output, target)

✅ Yang benar:

# BENAR
logits = model(x)  # TANPA softmax
loss = nn.CrossEntropyLoss()(logits, target)

📌 Format label

Ini juga penting:

PyTorch:

target = 1  # bukan one-hot

Bukan:

[0, 1, 0] ❌