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í.