Sobes.tech
Middle — Senior

Vai var izmantot krust-entropy divām klasēm un kāpēc tas nav ieteicams?

sobes.tech AI

Atbilde no AI

Kreuz-entropy ir plaši izmantota zaudējumu funkcija klasifikācijas uzdevumiem, tostarp binārajai (divu klases) klasifikācijai. Teorētiski, kreuz-entropy ir piemērota divām klasēm, jo tā mēra atšķirību starp patieso sadalījumu un prognozēto.

Tomēr binārajā klasifikācijā bieži tiek izmantota specializēta kreuz-entropy forma: binārā kreuz-entropy, kas ir optimizēta divām klasēm un ņem vērā iespējamību un marķieru īpašības.

Kāpēc nav ieteicams izmantot parasto (daudzklasīgo) kreuz-entropy divām klasēm:

  • Tā prasa marķieru attēlošanu kā one-hot vektorus, kas ir lieki divām klasēm.
  • Tas var novest pie pārmērīgiem aprēķiniem un sarežģītāka modeļa.
  • Binārā kreuz-entropy ir vienkāršāka un efektīvāka, jo darbojas ar vienu skaitli — varbūtību piederēt pozitīvajai klasei.

PyTorch piemērs binārās kreuz-entropy:

import torch
import torch.nn as nn

criterion = nn.BCELoss()  # binārā kreuz-entropy
outputs = torch.sigmoid(logits)  # modeļa izejas
loss = criterion(outputs, targets)

Tādēļ, divām klasēm, ieteicams izmantot bināro kreuz-entropy, nevis kopējo, lai uzlabotu apmācības efektivitāti un precizitāti.