Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Évaluation du Modèle | Réseau de Neurones à Partir de Zéro
Introduction aux Réseaux de Neurones

bookÉvaluation du Modèle

Séparation des données

Une fois qu'un réseau de neurones est entraîné, il est nécessaire d'évaluer ses performances sur des données non vues. Cela permet de déterminer si le modèle a réellement appris des schémas utiles ou s'il a simplement mémorisé les données d'entraînement. Pour ce faire, le jeu de données est divisé en deux parties :

  • Ensemble d'entraînement : cette partie des données est utilisée pour entraîner le réseau de neurones, lui permettant d'ajuster les poids et les biais via la rétropropagation ;
  • Ensemble de test : après l'entraînement, le modèle est évalué sur cet ensemble de données distinct afin de mesurer sa capacité à généraliser à de nouveaux exemples non vus.

Une répartition typique est de 80 % pour l'entraînement / 20 % pour le test, bien que cela puisse varier selon la taille et la complexité du jeu de données.

La séparation entraînement/test est généralement réalisée à l'aide de la fonction train_test_split() du module sklearn.model_selection :

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

Le paramètre test_size spécifie la proportion du jeu de données à utiliser comme ensemble de test. Par exemple, en définissant test_size=0.1, 10 % des données seront utilisées pour le test, tandis que les 90 % restants serviront à l'entraînement.

Si un modèle obtient de bons résultats sur les données d'entraînement mais de mauvais résultats sur les données de test, il peut s'agir d'un surapprentissage, c'est-à-dire que le modèle a mémorisé l'ensemble d'entraînement au lieu d'apprendre des schémas généralisables. L'objectif est d'obtenir une précision élevée sur l'ensemble de test tout en maintenant une bonne généralisation.

Une fois le modèle entraîné, il est nécessaire de quantifier ses performances à l'aide de mesures. Le choix de la mesure dépend de la tâche de classification spécifique.

Mesures de classification

Pour les problèmes de classification, plusieurs mesures clés peuvent être utilisées pour évaluer les prédictions du modèle :

  • exactitude ;
  • précision ;
  • rappel ;
  • score F1.

Puisqu'un perceptron effectue une classification binaire, la création d'une matrice de confusion permet de mieux comprendre ces mesures.

Note
Définition

Une matrice de confusion est un tableau qui résume les performances de classification du modèle en comparant les étiquettes prédites avec les étiquettes réelles. Elle fournit des informations sur le nombre de prédictions correctes et incorrectes pour chaque classe (1 et 0).

Précision mesure la proportion d'échantillons correctement classés sur le total. Si un modèle classe correctement 90 sur 100 images, sa précision est de 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Bien que la précision soit utile, elle ne donne pas toujours une vision complète—en particulier pour les ensembles de données déséquilibrés. Par exemple, dans un ensemble où 95% des échantillons appartiennent à une seule classe, un modèle pourrait atteindre 95% de précision simplement en prédisant toujours la classe majoritaire—sans réellement apprendre quoi que ce soit d'utile. Dans de tels cas, la précision, le rappel ou le score F1 peuvent être plus informatifs.

Précision correspond au pourcentage de cas positifs correctement prédits parmi tous les positifs prédits. Cette métrique est particulièrement utile lorsque les faux positifs sont coûteux, comme dans la détection de spam ou de fraude.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Rappel (sensibilité) mesure combien de cas positifs réels le modèle identifie correctement. Un rappel élevé est essentiel dans les situations où il faut minimiser les faux négatifs, comme dans les diagnostics médicaux.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-score est la moyenne harmonique de la précision et du rappel, offrant une mesure équilibrée lorsque les faux positifs et les faux négatifs sont importants. Ceci est utile lorsque l'ensemble de données est déséquilibré, c'est-à-dire lorsqu'une classe apparaît beaucoup plus fréquemment que l'autre.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Quel est le principal objectif de diviser votre ensemble de données en ensembles d'entraînement et de test ?

2. Pourquoi le F1-score pourrait-il être préféré à la précision sur un ensemble de données déséquilibré ?

question mark

Quel est le principal objectif de diviser votre ensemble de données en ensembles d'entraînement et de test ?

Select the correct answer

question mark

Pourquoi le F1-score pourrait-il être préféré à la précision sur un ensemble de données déséquilibré ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 11

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 4

bookÉvaluation du Modèle

Glissez pour afficher le menu

Séparation des données

Une fois qu'un réseau de neurones est entraîné, il est nécessaire d'évaluer ses performances sur des données non vues. Cela permet de déterminer si le modèle a réellement appris des schémas utiles ou s'il a simplement mémorisé les données d'entraînement. Pour ce faire, le jeu de données est divisé en deux parties :

  • Ensemble d'entraînement : cette partie des données est utilisée pour entraîner le réseau de neurones, lui permettant d'ajuster les poids et les biais via la rétropropagation ;
  • Ensemble de test : après l'entraînement, le modèle est évalué sur cet ensemble de données distinct afin de mesurer sa capacité à généraliser à de nouveaux exemples non vus.

Une répartition typique est de 80 % pour l'entraînement / 20 % pour le test, bien que cela puisse varier selon la taille et la complexité du jeu de données.

La séparation entraînement/test est généralement réalisée à l'aide de la fonction train_test_split() du module sklearn.model_selection :

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

Le paramètre test_size spécifie la proportion du jeu de données à utiliser comme ensemble de test. Par exemple, en définissant test_size=0.1, 10 % des données seront utilisées pour le test, tandis que les 90 % restants serviront à l'entraînement.

Si un modèle obtient de bons résultats sur les données d'entraînement mais de mauvais résultats sur les données de test, il peut s'agir d'un surapprentissage, c'est-à-dire que le modèle a mémorisé l'ensemble d'entraînement au lieu d'apprendre des schémas généralisables. L'objectif est d'obtenir une précision élevée sur l'ensemble de test tout en maintenant une bonne généralisation.

Une fois le modèle entraîné, il est nécessaire de quantifier ses performances à l'aide de mesures. Le choix de la mesure dépend de la tâche de classification spécifique.

Mesures de classification

Pour les problèmes de classification, plusieurs mesures clés peuvent être utilisées pour évaluer les prédictions du modèle :

  • exactitude ;
  • précision ;
  • rappel ;
  • score F1.

Puisqu'un perceptron effectue une classification binaire, la création d'une matrice de confusion permet de mieux comprendre ces mesures.

Note
Définition

Une matrice de confusion est un tableau qui résume les performances de classification du modèle en comparant les étiquettes prédites avec les étiquettes réelles. Elle fournit des informations sur le nombre de prédictions correctes et incorrectes pour chaque classe (1 et 0).

Précision mesure la proportion d'échantillons correctement classés sur le total. Si un modèle classe correctement 90 sur 100 images, sa précision est de 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Bien que la précision soit utile, elle ne donne pas toujours une vision complète—en particulier pour les ensembles de données déséquilibrés. Par exemple, dans un ensemble où 95% des échantillons appartiennent à une seule classe, un modèle pourrait atteindre 95% de précision simplement en prédisant toujours la classe majoritaire—sans réellement apprendre quoi que ce soit d'utile. Dans de tels cas, la précision, le rappel ou le score F1 peuvent être plus informatifs.

Précision correspond au pourcentage de cas positifs correctement prédits parmi tous les positifs prédits. Cette métrique est particulièrement utile lorsque les faux positifs sont coûteux, comme dans la détection de spam ou de fraude.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Rappel (sensibilité) mesure combien de cas positifs réels le modèle identifie correctement. Un rappel élevé est essentiel dans les situations où il faut minimiser les faux négatifs, comme dans les diagnostics médicaux.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-score est la moyenne harmonique de la précision et du rappel, offrant une mesure équilibrée lorsque les faux positifs et les faux négatifs sont importants. Ceci est utile lorsque l'ensemble de données est déséquilibré, c'est-à-dire lorsqu'une classe apparaît beaucoup plus fréquemment que l'autre.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Quel est le principal objectif de diviser votre ensemble de données en ensembles d'entraînement et de test ?

2. Pourquoi le F1-score pourrait-il être préféré à la précision sur un ensemble de données déséquilibré ?

question mark

Quel est le principal objectif de diviser votre ensemble de données en ensembles d'entraînement et de test ?

Select the correct answer

question mark

Pourquoi le F1-score pourrait-il être préféré à la précision sur un ensemble de données déséquilibré ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 11
some-alt