Sobes.tech
Middle — Senior

Két osztály esetén használható-e a kereszt-entrópia, és miért nem ajánlott?

sobes.tech MI

Válasz az MI-től

A kereszt-entropy egy széles körben használt veszteségfüggvény, amelyet osztályozási feladatokra, beleértve a bináris (kétosztályos) osztályozást is, alkalmaznak. Elméletileg a kereszt-entropy alkalmas két osztályra, mivel mérni tudja a valódi eloszlás és a jósolt eloszlás közötti különbséget.

Azonban bináris osztályozásnál gyakran alkalmaznak egy speciális formát: a bináris kereszt-entropy-t, amely két osztályra van optimalizálva, és figyelembe veszi a valószínűségek és címkék sajátosságait.

Miért nem ajánlott a normál (többszörös osztályos) kereszt-entropy használata két osztály esetén:

  • A címkéket one-hot vektorokként kell ábrázolni, ami redundáns két osztály esetén.
  • Túlságosan megnövelheti a számításokat és bonyolíthatja a modellt.
  • A bináris kereszt-entropy egyszerűbb és hatékonyabb, mivel egy szám — a pozitív osztályhoz tartozás valószínűsége — alapján működik.

Példa a bináris kereszt-entropy-re PyTorch-ban:

import torch
import torch.nn as nn

criterion = nn.BCELoss()  # bináris kereszt-entropy
outputs = torch.sigmoid(logits)  # a modell kimenetei
loss = criterion(outputs, targets)

Ezért két osztály esetén ajánlott a bináris kereszt-entropy használata ahelyett, hogy a általános kereszt-entropy-t alkalmaznánk, ezzel növelve a tanulás hatékonyságát és pontosságát.