import numpy as np
import matplotlib.pyplot as plt
# Générer un tableau de valeurs p de juste au-dessus de 0 à 1
= np.linspace(0.001, 1, 1000)
p_values
# Calculer le logarithme naturel de chaque valeur p
= - np.log(p_values)
ln_p_values
# Tracer le graphique
=r'$-\log(\hat{y}_k)$', color='b')
plt.plot(p_values, ln_p_values, label
# Ajouter des étiquettes et un titre
r'$\hat{y}_k$')
plt.xlabel(r'perte')
plt.ylabel(r'Graphique de $-\log(\hat{y}_k)$ de $\hat{y}_k$ de 0 à 1')
plt.title(True)
plt.grid(0, color='black', lw=0.5) # Ajouter une ligne horizontale à y=0
plt.axhline(0, color='black', lw=0.5) # Ajouter une ligne verticale à x=0
plt.axvline(
# Afficher le graphique
plt.legend() plt.show()
Glossaire
Entropie croisée
L’entropie croisée (cross-entropy) mesure la différence entre une distribution de probabilités prédites et la distribution réelle, généralement représentée par des étiquettes encodées en « one-hot ». Elle quantifie la pénalité ou l’erreur de prédiction, couramment utilisée comme fonction de perte dans les tâches de classification, avec des valeurs plus faibles indiquant une meilleure performance du modèle.
L’équation de l’entropie croisée
où :
est la distribution de probabilités réelle (typiquement des étiquettes encodées en « one-hot »), est la distribution de probabilités prédites,- la somme est effectuée sur toutes les classes
.
Dans la classification binaire, cela se simplifie en :
où :
est l’étiquette réelle (soit 0 soit 1), est la probabilité prédite de la classe positive.
Lorsque
Dans les réseaux de neurones, les valeurs de
Le programme Python ci-dessous montre comment la perte d’entropie croisée pour un exemple varie avec les changements de la probabilité prédite, représentée par
Considérons un problème de classification multiclasses avec trois classes
L’étiquette réelle encodée en « one-hot »
En utilisant la formule de l’entropie croisée :
En substituant les valeurs :
Puisque seul le terme correspondant à la classe réelle (deuxième classe) est non nul, le calcul se simplifie en :
Ce qui donne :
Ainsi, la perte d’entropie croisée pour cet exemple est d’environ 0.357, indiquant la pénalité pour l’écart du modèle par rapport à la probabilité de la classe correcte.
Lors du calcul de la perte moyenne d’entropie croisée sur un ensemble de données avec plusieurs exemples, la fonction de perte est sommée sur tous les exemples puis divisée par le nombre d’exemples pour obtenir la perte moyenne. L’équation pour la perte moyenne d’entropie croisée est :
où :
est le nombre total d’exemples dans l’ensemble de données, est le nombre de classes, est l’indicateur binaire réel (0 ou 1) pour savoir si le -ème exemple appartient à la classe , est la probabilité prédite que le -ème exemple appartienne à la classe .
Cette formulation calcule la perte moyenne sur tous les exemples, fournissant une valeur scalaire unique qui représente la performance du modèle sur l’ensemble du jeu de données.