paint-brush
Crossentropie, logloss et perplexité : différentes facettes de la vraisemblancepar@artemborin
68,094 lectures
68,094 lectures

Crossentropie, logloss et perplexité : différentes facettes de la vraisemblance

par Artem5m2023/09/15
Read on Terminal Reader

Trop long; Pour lire

L’apprentissage automatique est centré sur la création de modèles qui prédisent avec précision. Les mesures d'évaluation offrent un moyen d'évaluer l'efficacité d'un modèle, ce qui nous permet d'affiner ou même de changer d'algorithme en fonction des résultats de performance.
featured image - Crossentropie, logloss et perplexité : différentes facettes de la vraisemblance
Artem HackerNoon profile picture
0-item

L’apprentissage automatique est centré sur la création de modèles qui prédisent avec précision. Les mesures d'évaluation offrent un moyen d'évaluer l'efficacité d'un modèle, ce qui nous permet d'affiner ou même de changer d'algorithme en fonction des résultats de performance.


Le concept de « vraisemblance » est au cœur de bon nombre de ces mesures. Il mesure dans quelle mesure les prédictions d'un modèle s'alignent sur les données observées. Il joue donc un rôle central dans la formation et l'évaluation du modèle.


Un modèle avec une probabilité plus élevée, par exemple, suggère que les données observées sont plus probables selon les hypothèses du modèle donné.


Les outils technologiques tels que TensorFlow et PyTorch utilisent souvent des métriques basées sur la vraisemblance, en particulier dans des tâches telles que la classification ou la prédiction de séquences. De tels outils, dotés de fonctions et de bibliothèques adaptées à ces métriques, rendent la tâche d'évaluation de modèles accessible et hautement efficace.


Comprendre la probabilité et les mesures associées est vital pour quiconque travaille dans le domaine de l'apprentissage automatique. Cela nous permet de constituer la base de l’évaluation et de l’amélioration du modèle.


Ci-dessous, nous examinerons de plus près trois mesures d'évaluation clés pour voir comment elles fonctionnent et sont liées les unes aux autres dans l'apprentissage automatique.

Crossentropie

La crossentropie évalue la variance entre deux ensembles de probabilités, juxtaposant souvent des modèles de données réelles aux résultats prévus d'un modèle. Mathématiquement, pour les distributions discrètes p et q , l'entropie croisée H(p, q) est donnée par :

H(p, q) = -\sum p(x) \log(q(x))


Où \( p(x) \) est la véritable probabilité qu'un événement x se produise, et q(x) est la probabilité estimée du même événement selon le modèle.


Elle s'applique principalement aux problèmes de classification, en particulier dans les scénarios où la sortie peut appartenir à plusieurs classes. Il est utilisé car il fournit une mesure claire de l’écart entre les prédictions d’un modèle et les résultats réels. Plus l'entropie croisée est faible, plus les prédictions du modèle s'alignent sur les vraies valeurs.


Plusieurs bibliothèques logicielles sont équipées pour gérer les calculs impliquant la crossentropie. Notamment :

  • TensorFlow . Ce framework open source fournit des fonctions comme tf.nn.softmax_cross_entropy_with_logits qui calcule directement l'entropie croisée pour les problèmes de classification.


  • PyTorch . Il offre une capacité similaire avec des fonctions telles que torch.nn.CrossEntropyLoss , adaptées aux tâches de classification multi-classes.


  • Scikit-learn . Bien que principalement connu pour ses algorithmes d'apprentissage automatique, il propose également des utilitaires permettant de calculer la perte de log, étroitement liée à l'entropie croisée, à l'aide de la fonction log_loss .

Logloss

Logloss, abréviation de perte logarithmique, évalue la précision d'un classificateur en pénalisant les fausses classifications. Pour une classification binaire avec une vraie étiquette y et une probabilité prédite p , la perte logarithmique est donnée par :

L(y, p) = -y \log(p) - (1 - y) \log(1 - p)


Essentiellement, la perte de log est l'entropie croisée entre les véritables étiquettes et les prédictions pour les problèmes de classification binaire. Lorsqu'elle est étendue à la classification multi-classes, la perte de log résume les valeurs d'entropie croisée pour chaque classe, rendant les deux métriques intimement liées.


Il est principalement utilisé dans les problèmes de classification binaire et multi-classes. Sa force réside dans sa capacité à quantifier l’incertitude des prédictions en fonction de leur écart par rapport aux véritables étiquettes.


Un modèle parfait aurait une perte logarithmique de 0, même si en pratique, les valeurs ont tendance à être supérieures à cela.


Une multitude de bibliothèques logicielles nous permettent de calculer les logloss :


Scikit-learn . En tant que bibliothèque d'apprentissage automatique largement utilisée, scikit-learn propose la fonction log_loss , adaptée aux scénarios de classification binaires et multi-classes.


TensorFlow et PyTorch. Bien que ces cadres se concentrent principalement sur les réseaux de neurones et l'apprentissage profond, ils calculent intrinsèquement la perte de log lorsqu'ils utilisent des fonctions de perte d'entropie croisée pour les tâches de classification.


LightGBM et XGBoost. Ces frameworks d'amélioration du gradient, connus pour leurs hautes performances dans les compétitions de données tabulaires, contiennent également des fonctionnalités permettant de calculer la perte de log, qui sont particulièrement utiles lors de l'évaluation des performances du modèle dans les défis de classification.

Perplexité

Il s'agit d'une mesure de la façon dont la distribution de probabilité ou le modèle de probabilité prédit un échantillon.


Donné par:

Perplexity(P) = 2^{H(P)}

H(P) est l'entropie croisée de la distribution P , la perplexité représente effectivement le nombre moyen pondéré de choix qu'un modèle pense avoir à chaque point de décision.


Dans le contexte de l'entropie croisée, une valeur d'entropie croisée plus élevée correspond à une perplexité plus élevée, indiquant que le modèle est plus incertain quant à ses prédictions.


L'application la plus notable de Perplexity concerne les modèles de langage, où elle mesure la capacité d'un modèle à prédire une séquence de mots. Un modèle avec une perplexité plus faible est considéré comme supérieur car il signifie moins de facteurs de branchement moyens, ou en termes plus simples, il est plus sûr du mot suivant dans une séquence.


Outre les modèles linguistiques, la perplexité peut également être une mesure pertinente dans d’autres modèles probabilistes où la qualité des prédictions sur les séquences ou les distributions est cruciale.


Plusieurs outils et plateformes aident au calcul et à l’interprétation de la perplexité :

NLTK . Le Natural Language Toolkit fournit des utilitaires pour créer des modèles de langage probabilistes et calcule la perplexité pour évaluer ces modèles.


TensorFlow et PyTorch. Pour les modèles de langage basés sur l'apprentissage profond, ces deux frameworks offrent des fonctionnalités permettant de calculer l'entropie croisée, qui peut ensuite être traduite en perplexité à l'aide de la formule ci-dessus.


Gensim . Principalement connu pour la modélisation de sujets, Gensim contient également des méthodes de calcul de perplexité, particulièrement utiles pour évaluer la cohérence des sujets générés.

Similitudes et différences

La crossentropie, la perte log et la perplexité sont toutes des mesures ancrées dans la théorie de l'information et la modélisation probabiliste. Leur objectif principal est d'évaluer la qualité des prédictions, que ce soit pour la classification ou l'estimation de la distribution de probabilité. À haut niveau:

  • La crossentropie mesure la dissemblance entre la distribution réelle et la distribution prédite.


  • Logloss est une instance spécifique de crossentropie, spécifiquement adaptée aux scénarios de classification binaire ou multi-classes.


  • La perplexité, dérivée de l'entropie croisée, mesure l'incertitude d'un modèle probabiliste, avec une application principale dans l'évaluation des prédictions de séquences.


En tant que métrique universelle, l'entropie croisée convient bien aux problèmes dont l'objectif est de se rapprocher ou de correspondre à une distribution de probabilité particulière. Il brille dans les tâches de classification multi-classes. Les exemples incluent la classification d'images où chaque image peut appartenir à l'une des plusieurs catégories, ou la prédiction du type de maladie qu'un patient pourrait avoir en fonction de ses symptômes.


Adaptée à la classification, la perte de log devient la métrique de référence pour les problèmes binaires et multi-classes, pénalisant lourdement les prédictions incorrectes et sûres. Sa force réside dans sa sensibilité aux prédictions probabilistes exactes.


Par exemple, dans la détection du spam (spam ou non), la prédiction du taux de désabonnement des clients (le désabonnement sera ou non) ou la prédiction si une transaction donnée est frauduleuse.


Enfin, principalement utilisée dans la modélisation du langage, la perplexité évalue dans quelle mesure un modèle prédit des séquences. Des valeurs plus faibles indiquent un modèle plus sûr de ses prédictions séquentielles. Il peut être utilisé pour des tâches de génération de texte, de traduction automatique ou de reconnaissance vocale, où le modèle prédit le mot ou la phrase suivante dans une séquence.


Bien que les trois mesures concernent l'évaluation de modèles probabilistes, leur applicabilité diverge en fonction de la nature de la tâche : correspondance de distribution, classification ou prédiction de séquence.


Un professionnel expérimenté de l'apprentissage automatique sélectionne la métrique la mieux adaptée à la tâche afin de garantir l'évaluation la plus informative des performances du modèle.

Conclusion

Reconnaître les nuances des mesures d'évaluation telles que l'entropie croisée, la perte log et la perplexité influence directement la prise de décision éclairée dans les projets d'apprentissage automatique. Chacune de ces mesures, avec ses propres caractéristiques et utilisations, influence largement la précision et la fiabilité des modèles de prédiction.


En ML, l'utilisation de plateformes telles que TensorFlow, Scikit-learn et NLTK facilite le calcul des métriques et améliore les évaluations des modèles. Assurez-vous toujours que la métrique choisie correspond aux objectifs du projet pour obtenir le meilleur résultat.


Bien sûr, il est facile d’appliquer des outils bien connus comme vous en avez l’habitude, mais les comprendre réellement peut s’avérer plus bénéfique en fin de compte. Continuez à apprendre et choisissez la bonne mesure pour chaque tâche à laquelle vous êtes confronté.