Middle — Senior
Je možné použiť krížovú entropiu pre dve triedy a prečo to nie je odporúčané?
sobes.tech AI
Odpoveď od AI
Krížová entropia je široko používaná funkcia straty pre úlohy klasifikácie, vrátane binárnej (dvojtriednej) klasifikácie. Teoreticky je krížová entropia vhodná pre dve triedy, pretože meria rozdiel medzi skutočným rozdelením a predpovedaným.
Avšak v binárnej klasifikácii sa často používa špecializovaná forma krížovej entropie: binárna krížová entropia, ktorá je optimalizovaná pre dve triedy a zohľadňuje vlastnosti pravdepodobností a štítkov.
Prečo sa neodporúča používať bežnú (viactriednu) krížovú entropiu pre dve triedy:
- Vyžaduje, aby štítky boli reprezentované ako one-hot vektory, čo je nadbytočné pre dve triedy.
- Môže viesť k nadmerným výpočtom a zložitejšiemu modelu.
- Binarna krížová entropia je jednoduchšia a efektívnejšia, pretože pracuje s jedným číslom — pravdepodobnosťou pripadnutia na pozitívnu triedu.
Príklad binárnej krížovej entropie v PyTorch:
import torch
import torch.nn as nn
criterion = nn.BCELoss() # binárna krížová entropia
outputs = torch.sigmoid(logits) # výstupy modelu
loss = criterion(outputs, targets)
Preto sa pre dve triedy odporúča používať binárnu krížovú entropiu namiesto všeobecnej, aby sa zvýšila efektívnosť a správnosť učenia.