Sobes.tech
Middle — Senior

Peut-on utiliser l'entropie croisée pour deux classes et pourquoi cela n'est-il pas recommandé?

sobes.tech IA

Réponse de l'IA

L’entropie croisée est une fonction de perte largement utilisée pour les tâches de classification, y compris la classification binaire (à deux classes). Théoriquement, l’entropie croisée convient pour deux classes, car elle mesure la différence entre la distribution réelle et la prédiction.

Cependant, en classification binaire, une forme spécialisée d’entropie croisée est souvent utilisée : l’entropie croisée binaire, qui est optimisée pour deux classes et prend en compte les caractéristiques des probabilités et des étiquettes.

Pourquoi il n’est pas recommandé d’utiliser l’entropie croisée multiclasse standard pour deux classes :

  • Elle nécessite que les étiquettes soient représentées sous forme de vecteurs one-hot, ce qui est redondant pour deux classes.
  • Elle peut entraîner des calculs excessifs et compliquer le modèle.
  • L’entropie croisée binaire est plus simple et plus efficace, car elle fonctionne avec un seul nombre — la probabilité d’appartenance à la classe positive.

Exemple d’entropie croisée binaire en PyTorch :

import torch
import torch.nn as nn

criterion = nn.BCELoss()  # entropie croisée binaire
outputs = torch.sigmoid(logits)  # sorties du modèle
loss = criterion(outputs, targets)

Ainsi, pour deux classes, il est recommandé d’utiliser l’entropie croisée binaire plutôt que l’entropie croisée générale, afin d’améliorer l’efficacité et la précision de l’apprentissage.