Uczenie maszynowe: czy powinienem stosować kategoryczną utratę entropii krzyżowej lub utratę entropii krzyżowej binarnej do prognoz binarnych?

36

Przede wszystkim zdałem sobie sprawę, że jeśli muszę wykonać przewidywania binarne, muszę utworzyć co najmniej dwie klasy, wykonując kodowanie „na gorąco”. Czy to jest poprawne? Czy jednak binarna entropia krzyżowa dotyczy tylko predykcji z tylko jedną klasą? Gdybym miał zastosować kategoryczną utratę entropii krzyżowej, która zwykle występuje w większości bibliotek (takich jak TensorFlow), czy byłaby znacząca różnica?

W rzeczywistości, jakie są dokładnie różnice między kategoryczną a binarną entropią krzyżową? Nigdy nie widziałem implementacji binarnej entropii krzyżowej w TensorFlow, więc pomyślałem, że kategoryczna działa równie dobrze.

infomin101
źródło
1
Przykład klasyfikacji Binary machinelearningmastery.com/... i wieloklasowego klasyfikacji: machinelearningmastery.com/...
user1367204
@ user1367204: Link do klasyfikacji wielu klas przekierowuje do klasyfikacji binarnej. To powinno być to .
user3389669,

Odpowiedzi:

51

Dwumianowa utrata entropii krzyżowej jest szczególnym przypadkiem wielomianowej utraty entropii krzyżowej dla m=2 .

L.(θ)=-1nja=1n[yjalog(pja)+(1-yja)log(1-pja)]=-1nja=1njot=1myjajotlog(pjajot)

jajotypjajot(0,1):jotpjajot=1ja,jot

Sycorax mówi Przywróć Monikę
źródło
3
Czy to znaczy, że dopóki używam 2 klas w wielomianowej utracie entropii krzyżowej, zasadniczo używam binarnej utraty entropii krzyżowej?
infomin101
2
@leekwotsin yup
Sycorax mówi Przywróć Monikę
17

Binarna entropia krzyżowa służy do klasyfikacji wielu etykiet, podczas gdy kategoryczna entropia krzyżowa służy do klasyfikacji wielu klas, gdzie każdy przykład należy do jednej klasy.

Henok S Mengistu
źródło
3
Jakie jest uzasadnienie twojego oświadczenia? Dlaczego nie użyłbyś kategorycznej entropii krzyżowej do klasyfikacji wielu marek?
michal
co jeśli istnieje wiele etykiet, z których każda zawiera wiele klas?
slizb
1
To właśnie chciałem usłyszeć, ale nie to, co chciałby usłyszeć mój szef. Trochę wyjaśnienia byłoby tak niesamowite.
Aditya
2

Myślę, że istnieją trzy rodzaje zadań klasyfikacyjnych:

  1. Klasyfikacja binarna: dwie wyjątkowe klasy
  2. Klasyfikacja wielu klas: więcej niż dwie ekskluzywne klasy
  3. Klasyfikacja wielu marek: tylko niewyłączne klasy

Z nich możemy powiedzieć

  • W przypadku (1) musisz użyć binarnej entropii krzyżowej.
  • W przypadku (2) należy zastosować kategoryczną entropię krzyżową.
  • W przypadku (3) musisz użyć binarnej entropii krzyżowej. Możesz po prostu rozważyć klasyfikator wielu etykiet jako oddzielny klasyfikator binarny. Jeśli masz tutaj 10 klas, masz osobno 10 klasyfikatorów binarnych. Każdy binarny klasyfikator jest szkolony niezależnie. W ten sposób możemy wyprodukować wiele etykiet dla każdej próbki. Jeśli chcesz się upewnić, że przynajmniej jedna etykieta musi zostać uzyskana, możesz wybrać tę z najniższą funkcją utraty klasyfikacji lub użyć innych wskaźników.

Chcę podkreślić, że klasyfikacja wielu klas nie jest podobna do klasyfikacji wielu marek ! Zamiast tego klasyfikator z wieloma etykietami pożycza pomysł od klasyfikatora binarnego!

jeongmin.cha
źródło