Apprentissage automatique: devrais-je utiliser une perte d'entropie croisée ou d'entropie croisée binaire pour les prédictions binaires?

36

Tout d'abord, j'ai réalisé que si je devais effectuer des prédictions binaires, je devais créer au moins deux classes en effectuant un encodage à chaud. Est-ce correct? Cependant, l'entropie croisée binaire est-elle réservée aux prédictions avec une seule classe? Si je devais utiliser une perte catégorique d'entropie croisée que l'on trouve généralement dans la plupart des bibliothèques (comme TensorFlow), y aurait-il une différence significative?

En fait, quelles sont les différences exactes entre une entropie croisée catégorique et binaire? Je n'ai jamais vu d'implémentation d'entropie croisée binaire dans TensorFlow, alors j'ai pensé que le plus catégorique fonctionnait tout aussi bien.

infomin101
la source
1
Exemple de classification binaire: machinelearningmastery.com/… et classification à plusieurs classes: machinelearningmastery.com/…
user1367204
@ user1367204: Le lien vers la classification multi-classes redirige vers la classification binaire. Ce devrait être celui-ci .
user3389669

Réponses:

51

La perte d'entropie croisée binomiale est un cas particulier de perte d'entrinopie croisée multinomiale pour m=2 .

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

ijypij(0,1):jpij=1i,j

Sycorax dit Réintégrer Monica
la source
3
Est-ce à dire que tant que j'utilise 2 classes dans une perte d'entropie croisée multinomiale, j'utilise essentiellement une perte d'entropie croisée binaire?
Infomin101
2
@leekwotsin yup
Sycorax dit: Réintégrer Monica le
17

L'entropie croisée binaire est destinée aux classifications multi-étiquettes, tandis que l'entropie croisée catégorique est destinée à la classification multi-classes où chaque exemple appartient à une seule classe.

Henok S Mengistu
la source
3
Quelle est la justification de votre déclaration? Pourquoi n'utiliseriez-vous pas l'entropie croisée catégorique pour une classification multi-étiquettes?
Michal
Et s'il y avait plusieurs étiquettes, chacune contenant plusieurs classes?
Slizb
1
C'est ce que je voulais entendre, mais pas ce que mon chef voulait entendre. Un peu d'explication aurait été tellement génial.
Aditya le
2

Je pense qu'il y a trois sortes de tâches de classification:

  1. Classification binaire: deux classes exclusives
  2. Classement multi-classes: plus de deux classes exclusives
  3. Classification multi-label: juste des classes non exclusives

De ceux-ci, on peut dire

  • Dans le cas de (1), vous devez utiliser une entropie croisée binaire.
  • Dans le cas de (2), vous devez utiliser une entropie croisée catégorique.
  • Dans le cas de (3), vous devez utiliser une entropie croisée binaire. Vous pouvez simplement considérer le classifieur multi-étiquettes comme un classifieur binaire séparé. Si vous avez 10 classes ici, vous avez 10 classificateurs binaires séparément. Chaque classificateur binaire est formé indépendamment. Ainsi, nous pouvons produire des étiquettes multiples pour chaque échantillon. Si vous voulez vous assurer qu'au moins une étiquette doit être acquise, vous pouvez alors sélectionner celle avec la fonction de perte de classification la plus basse ou en utilisant d'autres métriques.

Je tiens à souligner que la classification multi-classes n'est pas similaire à la classification multi-étiquettes ! Au contraire, le classifieur multi-étiquettes emprunte une idée au classifieur binaire!

jeongmin.cha
la source