Apprendimento automatico: dovrei usare un'entropia incrociata categorica o una perdita binaria di entropia incrociata per le previsioni binarie?


36

Prima di tutto, mi sono reso conto che se devo eseguire previsioni binarie, devo creare almeno due classi eseguendo una codifica a caldo. È corretto? Tuttavia, l'entropia incrociata binaria è solo per le previsioni con una sola classe? Se dovessi usare una categorica perdita di entropia che si trova in genere nella maggior parte delle biblioteche (come TensorFlow), ci sarebbe una differenza significativa?

In effetti, quali sono le differenze esatte tra un'entropia incrociata categorica e binaria? Non ho mai visto un'implementazione dell'entropia binaria incrociata in TensorFlow, quindi ho pensato che forse quello categorico funzioni altrettanto bene.


1
Esempio di classificazione binaria: machinelearningmastery.com/... e multi-classe classificazione: machinelearningmastery.com/...
user1367204

@ user1367204: il collegamento alla classificazione multi-classe reindirizza alla classificazione binaria. Dovrebbe essere questo .
user3389669

Risposte:


51

La perdita binomiale di entropia crociata è un caso speciale di perdita multinomiale di entropia crociata per .m=2

L(θ)=1ni=1n[yilog(pi)+(1yi)log(1pi)]=1ni=1nj=1myijlog(pij)

Dove indicizza campioni / osservazioni e indica le classi e è l'etichetta del campione (binario per LSH, un vettore a caldo su RHS) e è la previsione per un campione.ijypij(0,1):jpij=1i,j


3
Vuol dire dire finché uso 2 classi in una perdita multinomiale di entropia incrociata, sto essenzialmente usando una perdita binaria di entropia incrociata?
infomin101

2
@leekwotsin yup
Sycorax dice

17

L'entropia incrociata binaria è per le classificazioni multi-etichetta, mentre l'entropia incrociata categorica è per la classificazione multi-classe in cui ogni esempio appartiene a una singola classe.


3
Qual è la giustificazione per la tua affermazione? Perché non dovresti usare l'entropia incrociata categorica per la classificazione multi-etichetta?
michal,

cosa succede se ci sono più etichette, ognuna contenente più classi?
slizb

1
Questo è esattamente quello che volevo sentire, ma non quello che il mio capo vuole sentire. Un po 'di spiegazione sarebbe stato così fantastico.
Aditya,

2

Penso che ci siano tre tipi di compiti di classificazione:

  1. Classificazione binaria: due classi esclusive
  2. Classificazione multi-classe: più di due classi esclusive
  3. Classificazione multi-etichetta: solo classi non esclusive

Da questi, possiamo dire

  • Nel caso di (1), è necessario utilizzare l'entropia incrociata binaria.
  • Nel caso di (2), è necessario utilizzare l'entropia incrociata categorica.
  • Nel caso di (3), è necessario utilizzare l'entropia incrociata binaria. Puoi considerare il classificatore multi-etichetta come un classificatore binario separato. Se hai 10 classi qui, hai 10 classificatori binari separatamente. Ogni classificatore binario viene addestrato in modo indipendente. Pertanto, possiamo produrre etichette multiple per ciascun campione. Se si desidera assicurarsi che sia necessario acquisire almeno un'etichetta, è possibile selezionare quella con la funzione di perdita di classificazione più bassa o utilizzare altre metriche.

Voglio sottolineare che la classificazione multi-classe non è simile alla classificazione multi-etichetta ! Piuttosto, il classificatore multi-etichetta prende in prestito un'idea dal classificatore binario!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.