Sobes.tech
Middle — Senior

Lze použít křížovou entropii pro dvě třídy a proč to není doporučeno?

sobes.tech AI

Odpověď od AI

Křížová entropie je široce používaná ztrátová funkce pro klasifikační úlohy, včetně binární (dvou-třídní) klasifikace. Teoreticky je křížová entropie vhodná pro dvě třídy, protože měří rozdíl mezi skutečným rozdělením a předpovězeným.

Nicméně, v binární klasifikaci se často používá speciální forma křížové entropie: binární křížová entropie, která je optimalizována pro dvě třídy a zohledňuje vlastnosti pravděpodobností a štítků.

Proč se nedoporučuje používat běžnou (multitřídní) křížovou entropii pro dvě třídy:

  • Vyžaduje reprezentaci štítků jako one-hot vektorů, což je pro dvě třídy nadbytečné.
  • Může vést k nadměrným výpočtům a složitosti modelu.
  • Binární křížová entropie je jednodušší a efektivnější, protože pracuje s jedním číslem — pravděpodobností příslušnosti ke kladné třídě.

Příklad binární křížové entropie v PyTorch:

import torch
import torch.nn as nn

criterion = nn.BCELoss()  # binární křížová entropie
outputs = torch.sigmoid(logits)  # výstupy modelu
loss = criterion(outputs, targets)

Proto se pro dvě třídy doporučuje používat binární křížovou entropii místo obecné křížové entropie, aby se zvýšila efektivita a správnost učení.