Apprentissage Automatique et Réseaux Neuronaux - page 73

 

10.8 Méthode d'erreur standard CV 1 fois K -- Exemple de code (L10 : Évaluation du modèle 3)


10.8 Méthode d'erreur standard CV 1 fois K -- Exemple de code (L10 : Évaluation du modèle 3)

Dans cette vidéo, je vais fournir une explication détaillée de la façon dont j'ai implémenté la méthode d'erreur standard décrite dans la vidéo précédente. Pour suivre les exemples de code, vous pouvez les trouver sous ce lien, que je publierai également sur Canvas pour un accès facile.

Parcourons ensemble le cahier. Premièrement, nous avons les importations conventionnelles qui sont couramment utilisées. Ensuite, je génère mon propre ensemble de données de jouets à l'aide de la fonction make_circles de la bibliothèque scikit-learn. Cette fonction vous permet de spécifier le nombre d'exemples et la quantité de bruit dans le jeu de données. L'ensemble de données généré est ensuite divisé en ensembles d'apprentissage et de test. Cette approche est excellente pour mener des études de simulation sur de grands ensembles de données arbitraires afin d'observer comment différentes courbes d'apprentissage et comportements de modèles varient avec des paramètres variables tels que le bruit et le nombre d'exemples de formation. Il sert de banc d'essai utile pour l'expérimentation.

Ensuite, j'utilise la machine à vecteurs de support (SVM) comme exemple. Vous n'avez pas besoin de bien comprendre le fonctionnement des SVM pour cette démonstration ; Je l'ai simplement choisi comme un exemple clair. Les étapes suivantes impliquent une approche manuelle, où je définis une liste de paramètres d'hyperparamètres et itère sur ces valeurs. Cependant, si vous avez des paramètres plus compliqués, vous pouvez utiliser le ParamSampler dont il a été question dans la vidéo précédente.

Pour cette démonstration, j'utilise un seul hyperparamètre, donc une approche manuelle utilisant une liste et une boucle for suffit. J'initialise une liste de paramètres, puis itère sur chaque valeur. À chaque itération, j'initialise le modèle SVM avec le paramètre d'hyperparamètre choisi. Ensuite, j'effectue une validation croisée k-fold pour évaluer la précision du modèle. Les valeurs de précision sont collectées et je calcule la moyenne, l'écart type et l'erreur type. Veuillez noter que l'approche naïve que j'utilise pour calculer l'erreur standard en divisant l'écart type par la racine carrée de la taille de l'échantillon n'est peut-être pas la meilleure méthode car les cycles de validation croisée k-fold ne sont pas complètement indépendants. Cependant, dans le but d'obtenir une certaine mesure de similarité ou de barres d'erreur pour comparer différentes méthodes, cette approche suffit.

Après avoir collecté les valeurs de précision, je les trace sur une échelle logarithmique car l'échantillonnage se fait de manière exponentielle. Le tracé résultant affiche les performances du modèle SVM pour différents paramètres d'hyperparamètres. Ceci est cohérent avec ce que nous avons vu dans les diapositives du cours.

Pour démontrer l'applicabilité de cette méthode à d'autres classificateurs, je fournis également du code pour la classification de l'arbre de décision sur l'ensemble de données de l'iris. Dans ce cas, je fais varier le paramètre de profondeur maximale de l'arbre de décision de 1 à 10. Des étapes similaires sont suivies : initialisation du modèle avec un paramètre d'hyperparamètre, ajustement du modèle, réalisation de prédictions, collecte de scores de validation croisée k-fold, calcul de la erreur standard, et ainsi de suite. En analysant les limites de décision pour différentes profondeurs maximales, nous pouvons observer le compromis entre la complexité du modèle et les performances. Dans cet exemple spécifique, un arbre de décision avec une profondeur maximale de trois est sélectionné en utilisant la méthode d'erreur standard unique.

Enfin, je mentionne brièvement les sujets que nous aborderons dans la prochaine conférence, qui incluent la validation croisée pour la sélection d'algorithmes, les tests statistiques et les métriques d'évaluation. Ces sujets sont étroitement liés aux concepts abordés dans les conférences précédentes.

J'espère que vous trouverez cette explication utile. Passe un bon weekend!

10.8 K-fold CV 1-Standard Error Method -- Code Example (L10: Model Evaluation 3)
10.8 K-fold CV 1-Standard Error Method -- Code Example (L10: Model Evaluation 3)
  • 2020.11.20
  • www.youtube.com
This video goes over a code example for applying the 1-standard error method, which can be used as a tie breaker for selecting one model from a set of simila...
 

11.1 Aperçu du cours (L11 Model Eval. Part 4)


11.1 Aperçu du cours (L11 Model Eval. Part 4)

Bonjour à tous et bienvenue ! Dans notre session précédente, nous avons approfondi le sujet du réglage des hyperparamètres et de la sélection des modèles. Nous nous sommes concentrés sur la validation croisée k-fold, une technique utilisée pour classer différents modèles avec différents paramètres d'hyperparamètres afin de sélectionner le meilleur. Nous avons exploré des méthodes pratiques telles que la recherche par grille et la recherche aléatoire, qui facilitent le processus de comparaison des modèles.

Aujourd'hui, nous allons approfondir l'aspect de la comparaison de modèles. Supposons que vous tombiez sur un document de recherche qui partage les prédictions d'un modèle sur un ensemble de tests. Vous souhaiterez peut-être comparer ces prédictions à celles de votre propre modèle et déterminer s'il existe une différence statistiquement significative dans leurs performances. Bien que cette pratique ne soit pas très courante, elle peut être utile. Un test statistique qui peut être utilisé dans de tels cas est le test de McNemar. De plus, nous discuterons des comparaisons d'algorithmes, ce qui nous permettra de comparer plus équitablement différents modèles et algorithmes.

Cependant, veuillez noter que la conférence d'aujourd'hui sera plus courte que d'habitude en raison de la semaine de Thanksgiving. Pour les intéressés, les notes de cours fournissent des explications plus détaillées. Ils couvrent également des tests statistiques supplémentaires, tels que le test F cinq fois deux et diverses procédures de test t. Bien que ces sujets ne soient pas examinables, ils servent à satisfaire votre curiosité intellectuelle.

Pour optimiser notre temps, nous n'approfondirons pas ces méthodes puisqu'une conférence sur les mesures de performance nous attend la semaine prochaine. Si le temps le permet, nous pouvons également aborder la sélection et l'extraction de fonctionnalités. Pour votre commodité, j'ai partagé des documents supplémentaires sur ces sujets via Canvas.

Maintenant, commençons par le cours principal sur l'évaluation des modèles, en commençant par les tests statistiques pour les comparaisons de modèles. Nous aborderons ensuite les défis associés aux comparaisons multiples par paires et explorerons des méthodes pour les résoudre. Par la suite, nous approfondirons la sélection d'algorithmes et examinerons un exemple de code concret lié à la technique de validation croisée imbriquée. Cet aperçu de la conférence prépare le terrain pour notre discussion d'aujourd'hui.

Avant de continuer, récapitulons les sujets que nous avons abordés dans les conférences précédentes sur l'évaluation des modèles. Nous avons commencé par les principes fondamentaux, y compris le compromis biais-variance, le sous-ajustement et le surajustement, et la méthode de retenue simple. Nous avons ensuite approfondi les intervalles de confiance et introduit la méthode du bootstrap pour construire des intervalles de confiance empiriques. Nous avons exploré la méthode d'exclusion répétée, qui offre un aperçu de la stabilité du modèle, bien qu'elle ne soit pas couramment utilisée dans la pratique. Il a servi de bonne introduction aux méthodes de rééchantillonnage.

La semaine dernière, nous nous sommes aventurés dans le domaine de la validation croisée, ce qui a approfondi notre exploration. Nous avons discuté du réglage des hyperparamètres à l'aide de la recherche par grille et de la recherche aléatoire et avons utilisé ces techniques pour la sélection des modèles. Notre objectif principal était la méthode d'exclusion à trois voies, qui consiste à diviser l'ensemble de données en ensembles d'apprentissage, de validation et de test. Nous avons utilisé l'ensemble de validation pour classer différents modèles et l'ensemble de test pour estimer leurs performances finales. Pour les ensembles de données plus petits, nous nous sommes tournés vers la validation croisée k-fold et la validation croisée leave-one-out.

La conférence d'aujourd'hui présentera des comparaisons de modèles et d'algorithmes. Bien que ces concepts soient liés à la sélection de modèles, notre objectif ici est de comparer différents algorithmes, en cherchant à déterminer lequel fonctionne le mieux dans une gamme de tâches connexes. Idéalement, nous aurions une collection d'ensembles d'entraînement et de test disjoints pour chaque algorithme. Par exemple, lors de la comparaison des méthodes de classification d'images, nous utiliserions divers ensembles de données d'images pour former différents modèles à l'aide de différents algorithmes. Nous comparerions ensuite leurs performances sur plusieurs jeux de données. Cependant, des contraintes pratiques limitent souvent notre capacité à suivre cette approche idéale. Nous rencontrons des problèmes de violation de l'indépendance et d'autres nuisances au sein des ensembles de données. Ce problème rappelle les défis discutés dans le document CIFAR-10.

De plus, comment comparer les performances d'un modèle que nous avons entraîné avec celles d'un modèle publié dans un article de recherche ou trouvé sur Internet ? Pour résoudre ce problème, nous pouvons examiner la différence réelle de performances entre les deux modèles à l'aide de tests statistiques. L'un de ces tests est le test de McNemar, qui est couramment utilisé pour comparer les performances prédictives de deux modèles sur un résultat binaire.

Le test de McNemar convient lorsque nous avons des données appariées, ce qui signifie que chaque instance de l'ensemble de données est classée par les deux modèles et que les résultats sont enregistrés sous forme de tableau de contingence. Le tableau de contingence comporte quatre cellules représentant les quatre résultats possibles :

              Model 2
           |  Positive | Negative |
---------------------------------
Model 1     |           |          |
---------------------------------
  Positive |           |          |
---------------------------------
  Negative |           |          |
---------------------------------
Pour appliquer le test de McNemar, on compte le nombre d'instances dans chaque cellule du tableau de contingence. Dénotons ces décomptes comme suit :

  • a : Le nombre d'instances où les deux modèles 1 et 2 prédisent positif.
  • b : Le nombre d'instances où le modèle 1 prédit positif et le modèle 2 prédit négatif.
  • c : Le nombre d'instances où le modèle 1 prédit négatif et le modèle 2 prédit positif.
  • d : Le nombre d'instances où les deux modèles 1 et 2 prédisent négativement.

Avec ces comptages, nous pouvons effectuer le test de McNemar pour déterminer s'il existe une différence significative dans les performances des modèles. L'hypothèse nulle (H0) est que les deux modèles ont les mêmes performances, tandis que l'hypothèse alternative (H1) est qu'il y a une différence.

La statistique du test de McNemar suit une distribution du chi carré avec 1 degré de liberté. Nous calculons la statistique de test en utilisant la formule :

chi2 = ((|b - c| - 1)^2) / (b + c)

Si la statistique de test chi2 dépasse une valeur critique de la distribution du chi carré (avec 1 degré de liberté) à un niveau de signification choisi (par exemple, 0,05), nous rejetons l'hypothèse nulle et concluons qu'il existe une différence significative de performance entre les deux modèles.

Il est important de noter que le test de McNemar suppose que les instances appariées sont indépendantes et distribuées de manière identique. Cette hypothèse peut ne pas tenir si les instances appariées ne sont pas vraiment indépendantes ou s'il existe une forme de dépendance entre elles. De plus, le test de McNemar est principalement applicable aux résultats binaires. Si le résultat est multi-classe, des tests alternatifs tels que le test Q de Cochran ou le test de Stuart-Maxwell peuvent être plus appropriés.

Passons maintenant à la discussion des défis des comparaisons multiples par paires. Lorsque l'on compare plusieurs modèles ou algorithmes, il devient de plus en plus probable de trouver des différences significatives uniquement par hasard. Ce phénomène est connu sous le nom de problème de comparaison multiple ou problème de tests multiples.

Lors de la réalisation de plusieurs comparaisons par paires, la probabilité d'au moins un résultat significatif augmente à mesure que le nombre de comparaisons augmente. Cette inflation du taux d'erreur de type I peut conduire à des résultats faussement positifs, où nous rejetons l'hypothèse nulle à tort.

Pour résoudre le problème des comparaisons multiples, nous devons ajuster le niveau de signification de nos tests statistiques. Une approche courante est la correction de Bonferroni, qui consiste à diviser le niveau de signification souhaité (par exemple, 0,05) par le nombre de comparaisons effectuées. Par exemple, si nous comparons trois modèles, nous ajusterons le niveau de signification à 0,05/3 = 0,0167 pour chaque test individuel.

La correction de Bonferroni est une méthode prudente qui contrôle le taux d'erreur par famille, garantissant que le taux d'erreur global de type I dans toutes les comparaisons reste inférieur à un seuil spécifié. Cependant, il peut être trop strict, entraînant une perte de puissance pour détecter les vraies différences.

D'autres méthodes pour ajuster le niveau de signification comprennent la méthode Holm-Bonferroni, la procédure Benjamini-Hochberg et le contrôle du taux de fausses découvertes (FDR). Ces méthodes offrent des alternatives moins conservatrices à la correction de Bonferroni et peuvent être plus appropriées dans certaines situations.

En résumé, le test de McNemar est un test statistique qui peut être utilisé pour comparer les performances de deux modèles sur un résultat binaire. Cependant, lors de la réalisation de plusieurs comparaisons par paires, il est important de tenir compte du problème de comparaison multiple en ajustant le niveau de signification.

11.1 Lecture Overview (L11 Model Eval. Part 4)
11.1 Lecture Overview (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This first video goes over the model and algorithm comparison-related topics that are coved in Lecture 11.More details in my article "Model Evaluation, Model...
 

11.2 Test de McNemar pour la comparaison de classificateurs par paires (évaluation du modèle L11. Partie 4)


11.2 Test de McNemar pour la comparaison de classificateurs par paires (évaluation du modèle L11. Partie 4)

Parlons maintenant du test de McNemar, qui est un test que nous pouvons utiliser pour comparer deux modèles entre eux. Ce test est différent de la méthode de validation croisée dont nous avons discuté la semaine dernière pour la sélection du modèle. Contrairement à la validation croisée, le test de McNemar n'implique pas de régler le modèle à l'aide de l'ensemble d'apprentissage. Au lieu de cela, il suppose que nous avons déjà un modèle existant, tel qu'un classificateur d'apprentissage automatique mentionné dans la littérature publiée, auquel nous avons accès via une application Web ou GitHub. L'objectif est de comparer notre propre modèle à ce classificateur existant en fonction de leurs performances sur un ensemble de tests.

Le test de McNemar nous permet de comparer deux classificateurs en fonction de leurs performances sur un ensemble de test. Il a été introduit par Quinn McNemar en 1947 et est un test statistique non paramétrique pour les comparaisons par paires. Dans ce cas, nous avons une variable dépendante catégorielle avec deux catégories représentant l'exactitude des prédictions (par exemple, correcte ou incorrecte), et une variable indépendante catégorielle avec deux groupes liés représentant les deux modèles comparés. L'appariement est réalisé en utilisant le même ensemble de test pour les deux modèles. Pour effectuer le test, nous utilisons une matrice de confusion deux par deux, qui est une version spéciale de la matrice de confusion spécialement conçue pour le test de McNemar.

La matrice de confusion deux par deux pour le test de McNemar comprend le nombre de prédictions faites par les deux modèles. Par exemple, considérons le cas où nous avons de véritables étiquettes de classe de 0 et 1. Le modèle 1 prédit 1 et 2, tandis que le modèle 2 prédit 1 et 1. Dans ce cas, le nombre "a" représente les prédictions que le modèle 1 et Le modèle 2 s'est avéré correct (par exemple, prédire 1 lorsque la véritable étiquette est 1). Le compte "b" représente les prédictions où le modèle 1 est correct et le modèle 2 est faux, et le compte "c" représente les prédictions où le modèle 1 est faux et le modèle 2 est correct. En tabulant ces comptes pour un ensemble de données de test donné, nous pouvons construire la matrice de confusion deux par deux.

En utilisant la matrice de confusion deux par deux, nous pouvons calculer diverses métriques. Par exemple, nous pouvons calculer la précision de la prédiction pour chaque modèle en divisant les comptes "a" et "b" par le nombre total d'exemples dans l'ensemble de test. De plus, nous nous intéressons aux cas où le modèle 1 et le modèle 2 diffèrent, représentés par les nombres "b" et "c" dans la matrice de confusion. Ces cas indiquent où un modèle a fait une prédiction correcte tandis que l'autre a fait une prédiction incorrecte. Pour comparer les performances des deux modèles, nous pouvons lancer le test de McNemar.

Le test de McNemar suit une procédure de test d'hypothèse typique. Nous définissons une hypothèse nulle et une hypothèse alternative. L'hypothèse nulle suppose que les performances des deux modèles sont égales, tandis que l'hypothèse alternative suggère que leurs performances diffèrent. Nous calculons une statistique de test du chi carré, qui se rapproche d'une distribution du chi carré. La statistique de test est calculée comme (b - c)^2 / (b + c). Sur la base de cette statistique de test, nous calculons une valeur de p, en supposant que l'hypothèse nulle est vraie. La valeur de p représente la probabilité d'observer la statistique de test donnée ou une valeur plus extrême sous l'hypothèse nulle.

Pour déterminer s'il faut rejeter l'hypothèse nulle, nous comparons la valeur de p à un niveau de signification choisi (par exemple, 0,05). Si la valeur de p est inférieure au seuil de signification, nous rejetons l'hypothèse nulle et concluons que les performances des deux modèles ne sont pas égales. À l'inverse, si la valeur de p est supérieure au seuil de signification, nous ne rejetons pas l'hypothèse nulle et supposons que les performances des deux modèles sont égales.

La correction de continuité a été introduite pour résoudre le problème de la distribution du chi carré étant une distribution continue alors que les données du tableau de contingence 2x2 sont discrètes. En soustrayant 1 de la différence absolue du numérateur, la correction de continuité aide à fournir une meilleure approximation de la valeur p. Cependant, il est important de noter que l'utilisation de la correction de continuité n'est pas toujours nécessaire et dépend du contexte et des données spécifiques.

Une autre considération dans le test de McNemar est l'utilisation du test binomial exact. Le test binomial exact fournit une approche alternative pour déterminer la signification statistique du test de McNemar lorsque la taille de l'échantillon est petite ou lorsque les hypothèses du test du chi carré ne sont pas satisfaites. Le test binomial exact calcule directement la probabilité d'obtenir les données observées sous l'hypothèse nulle, sans s'appuyer sur l'approximation du chi carré.

De plus, le test de McNemar peut être étendu pour gérer plus de deux modèles ou traitements. Dans de tels cas, le test peut être effectué à l'aide d'un test de McNemar généralisé ou d'une extension connue sous le nom de test de Cochran-Mantel-Haenszel. Ces extensions permettent de comparer plusieurs modèles ou traitements simultanément, en tenant compte des dépendances entre les différents groupes.

En résumé, le test de McNemar est un test statistique non paramétrique utilisé pour comparer les performances de deux modèles ou traitements basés sur des données catégorielles appariées. Il fournit un moyen d'évaluer si les différences de performance entre les modèles sont statistiquement significatives. Le test consiste à construire un tableau de contingence 2x2 et à calculer une statistique de test, qui peut être comparée à la distribution du chi carré ou évaluée à l'aide du test binomial exact. En effectuant le test de McNemar, les chercheurs peuvent mieux comprendre les performances relatives de différents modèles ou traitements dans divers domaines, notamment l'apprentissage automatique, la médecine et les sciences sociales.

11.2 McNemar's Test for Pairwise Classifier Comparison (L11 Model Eval. Part 4)
11.2 McNemar's Test for Pairwise Classifier Comparison (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This video introduces McNemar's test, which is a nonparametric statistical test for comparing the performance of two models with each other on a given test s...
 

11.3 Comparaisons multiples par paires (évaluation du modèle L11, partie 4)


11.3 Comparaisons multiples par paires (évaluation du modèle L11, partie 4)

Dans le cas où vous avez un modèle que vous souhaitez comparer avec plusieurs autres modèles trouvés dans la littérature ou sur des plateformes comme GitHub, effectuer des comparaisons par paires peut devenir problématique. Si vous avez k modèles différents, effectuer un test par paire sur chaque paire entraînerait k fois (k - 1) / 2 combinaisons, ce qui peut être un grand nombre. Cela soulève des inquiétudes quant au taux d'erreur lors de la réalisation de tests d'hypothèses multiples.

En règle générale, les tests d'hypothèse sont effectués à un niveau de signification de 0,05 ou moins. Cela signifie que si l'hypothèse nulle est vraie, il y a 5 % de chances de la rejeter à tort, ce qui entraîne un taux d'erreur de 5 %. Lorsque plusieurs tests sont effectués, le taux d'erreur pour le rejet erroné d'une hypothèse nulle peut augmenter jusqu'à r fois alpha, où r est le nombre de tests effectués. Dans le pire des cas, le taux d'erreur peut atteindre r fois alpha si toutes les hypothèses nulles par paires sont vraies.

Pour résoudre ce problème, une approche courante consiste à utiliser une procédure protégée, qui implique un processus en deux étapes. La première étape est un test omnibus, où vous évaluez s'il existe une différence significative dans les performances de tous les modèles combinés. L'hypothèse nulle suppose que les précisions de classification de tous les modèles sont égales, tandis que l'hypothèse alternative suggère qu'elles ne sont pas égales.

Si l'hypothèse nulle est rejetée dans le test omnibus, indiquant qu'il existe une différence dans les performances du modèle, vous pouvez passer à la deuxième étape, qui implique des tests post hoc par paires. Cependant, il est crucial de faire des ajustements pour les comparaisons multiples afin de contrôler le taux d'erreur. Une méthode d'ajustement couramment utilisée est la méthode de Bonferroni, où le niveau de signification est divisé par le nombre de comparaisons.

Pour les tests par paires, le test de McNemar peut être utilisé. Il est important de noter que bien que ces procédures statistiques soient formelles et fournissent des informations précieuses, dans la pratique de l'apprentissage automatique, il n'est pas très courant d'effectuer des comparaisons aussi poussées. En règle générale, les chercheurs signalent les précisions ou les erreurs de prédiction et classent les modèles en fonction de leurs performances.

Bien que le test Cochran-Q puisse être implémenté dans la bibliothèque "mlxtend" pour comparer plusieurs modèles, il convient de mentionner que l'utilisation de telles procédures pour la comparaison de plusieurs modèles est encore relativement rare dans le domaine de l'apprentissage automatique. Cependant, si vous trouvez une situation où vous souhaitez comparer plusieurs modèles et effectuer des tests statistiques, vous pouvez explorer ces options et vous référer aux notes de cours et à la littérature pertinente pour des informations plus détaillées.

Il est important de noter que ces sujets ne sont pas couverts en détail dans cette conférence pour laisser suffisamment de temps pour couvrir d'autres concepts essentiels comme la sélection de fonctionnalités.

L'un des problèmes liés aux comparaisons multiples est le risque accru d'erreurs de type I, également appelées faux positifs. Lors de la réalisation de plusieurs tests, il y a plus de chances de rejeter à tort des hypothèses nulles, conduisant à des conclusions erronées. Pour atténuer cela, les chercheurs appliquent souvent des méthodes d'ajustement telles que la correction de Bonferroni ou le contrôle du taux de fausses découvertes (FDR).

La correction de Bonferroni est un ajustement prudent qui divise le niveau de signification (alpha) par le nombre de comparaisons (k). Ce niveau de signification ajusté, noté alpha premier (α'), garantit que le taux d'erreur global par famille reste sous contrôle. En utilisant la correction de Bonferroni, chaque test individuel par paires est effectué à un niveau alpha/k.

Une autre méthode populaire est le contrôle FDR, qui se concentre sur le contrôle de la proportion de fausses découvertes parmi tous les rejets. Au lieu de réduire le niveau de signification pour chaque comparaison, le contrôle FDR ajuste les valeurs p des tests individuels pour contrôler le taux global de fausses découvertes. Cette méthode permet un ajustement moins rigoureux par rapport à la correction de Bonferroni, ce qui peut être avantageux dans les situations où un grand nombre de comparaisons sont impliquées.

Bien que la correction de Bonferroni et le contrôle FDR soient largement utilisés, il est important de noter qu'ils ont leurs limites. La correction de Bonferroni peut être trop conservatrice, ce qui peut entraîner des risques accrus d'erreurs de type II ou de faux négatifs. D'autre part, le contrôle FDR peut avoir plus de puissance pour détecter les vraies différences, mais peut également augmenter le risque de faux positifs.

Dans le contexte de l'apprentissage automatique, il convient de se demander si l'objectif est d'évaluer de manière exhaustive les différences par paires ou d'identifier le ou les modèles les plus performants. La réalisation de tests par paires pour toutes les combinaisons possibles peut s'avérer coûteuse en calculs et en temps. Dans la pratique, les chercheurs se concentrent souvent sur le classement des modèles en fonction de leurs mesures de performance et sur l'identification des modèles les plus performants plutôt que sur la réalisation de tests statistiques formels.

Il est également important de reconnaître que les tests statistiques ne sont qu'un aspect de la comparaison de modèles. D'autres facteurs tels que l'interprétabilité, l'efficacité de calcul, la pertinence du domaine et les considérations pratiques doivent également être pris en compte lors de l'évaluation et de la sélection des modèles.

En conclusion, alors que les comparaisons multiples et les tests statistiques peuvent fournir des informations précieuses sur les comparaisons de performances des modèles, leur application pratique dans l'apprentissage automatique est moins courante. Les chercheurs s'appuient souvent sur les rapports d'exactitude ou d'erreurs de prédiction, les comparaisons visuelles et les modèles de classement basés sur des mesures de performance. Comprendre les concepts statistiques sous-jacents et les problèmes potentiels liés aux comparaisons multiples reste essentiel pour mener des recherches rigoureuses et interpréter les résultats avec précision.

11.3 Multiple Pairwise Comparisons (L11 Model Eval. Part 4)
11.3 Multiple Pairwise Comparisons (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This video extends the concept of McNemar's test, which is a pairwise procedure, but recommending Cochran's Q (a generalization of McNemar's test) as an omni...
 

11.4 Tests statistiques pour la comparaison d'algorithmes (évaluation du modèle L11. Partie 4)


11.4 Tests statistiques pour la comparaison d'algorithmes (évaluation du modèle L11. Partie 4)

Dans les vidéos précédentes, nous avons expliqué comment l'inférence statistique peut être utilisée pour comparer différents modèles qui ont déjà été ajustés à un ensemble de données donné. Nous allons maintenant explorer des tests statistiques qui nous permettent de comparer des algorithmes. Cela signifie que nous pouvons comparer des modèles qui ont été équipés de différents ensembles ou sous-ensembles d'apprentissage. Cette discussion se concentre sur l'application de l'inférence statistique et de divers tests statistiques pour la comparaison d'algorithmes.

Il existe plusieurs tests statistiques disponibles pour comparer les algorithmes, chacun avec ses avantages et ses inconvénients. Dans les notes de cours, vous trouverez une explication plus détaillée de ces tests, ainsi que du matériel supplémentaire. Ici, je vais donner un aperçu des tests et souligner quelques points clés.

Un test courant est le test de McNemar, qui est principalement utilisé pour comparer des modèles plutôt que des algorithmes. Il convient de le mentionner car il a un faible taux de faux positifs et est efficace en termes de calcul. Cependant, il n'est pas spécifiquement conçu pour la comparaison d'algorithmes.

Un autre test est le test de différence de proportions, qui a malheureusement un taux élevé de faux positifs. Ce test nécessite l'ajustement de plusieurs modèles, ce qui le rend plus adapté à la comparaison d'algorithmes. Cependant, cela peut être coûteux en termes de calcul en raison de la nécessité d'ajuster plusieurs modèles.

Le test t à validation croisée K-fold est une autre méthode utilisée pour la comparaison d'algorithmes. Il fournit une évaluation plus précise mais a toujours un taux de faux positifs légèrement élevé. Malgré cet inconvénient, il reste un test utile.

Le test t apparié avec validation croisée répétée est une autre approche qui nécessite l'ajustement de plusieurs modèles. Bien qu'il ait un taux de faux positifs inférieur à celui de certains autres tests, il peut encore nécessiter beaucoup de calculs en raison de l'ajustement répété du modèle.

Une technique plus avancée est le test t apparié à validation croisée 5x2, qui présente un faible taux de faux positifs et une puissance statistique légèrement supérieure par rapport au test de McNemar. Il offre une approche plus robuste de la comparaison d'algorithmes. De plus, il existe de nouvelles approches, telles que le test f apparié à validation croisée 5x2, qui apportent d'autres améliorations.

Dans les notes de cours, j'aborde plus en détail ces tests et d'autres approches statistiques. De plus, j'ai implémenté la plupart de ces tests dans MLA extend, une bibliothèque qui accompagne les supports de cours. Vous pouvez trouver des implémentations du test de McNemar, du test Q de Cochrane, du test t apparié rééchantillonné (non recommandé), du test t apparié à validation croisée K-fold, du test t combiné à validation croisée 5x2, et plus encore.

Bien que les tests statistiques offrent des informations précieuses, il existe également des approches informatiques ou empiriques de la comparaison d'algorithmes. Dans la prochaine vidéo, nous explorerons la motivation derrière la sélection et la comparaison d'algorithmes dans des applications du monde réel. Par exemple, nous pouvons comparer différents algorithmes pour identifier le plus performant dans des scénarios tels que le développement d'une application de messagerie ou la création d'un système de recommandation d'articles de recherche.

En conclusion, il existe plusieurs tests statistiques disponibles pour comparer les algorithmes, chacun avec ses forces et ses limites. Ces tests peuvent fournir des informations sur les différences de performances entre les algorithmes équipés de différents ensembles d'apprentissage. Cependant, il est important de prendre en compte l'efficacité de calcul, les taux de faux positifs et la puissance statistique lors de la sélection d'un test approprié. De plus, des approches empiriques peuvent compléter les tests statistiques dans la comparaison d'algorithmes.

11.4 Statistical Tests for Algorithm Comparison (L11 Model Eval. Part 4)
11.4 Statistical Tests for Algorithm Comparison (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This video gives a brief overview of different statistical tests that exist for model and algorithm comparisons.More details in my article "Model Evaluation,...
 

11.5 CV imbriqué pour la sélection d'algorithmes (évaluation du modèle L11, partie 4)


11.5 CV imbriqué pour la sélection d'algorithmes (évaluation du modèle L11, partie 4)

Très bien, plongeons dans le sujet de la sélection d'algorithmes de calcul. Dans cette discussion, nous nous concentrerons sur une technique appelée validation croisée imbriquée et explorerons quelques exemples de code dans la vidéo à venir. Avant de nous plonger dans la validation croisée imbriquée, récapitulons rapidement certains points clés que nous avons abordés précédemment.

Auparavant, nous avons discuté de la méthode d'exclusion à trois voies comme moyen de sélection du modèle. Voici un bref résumé du processus : nous commençons par diviser notre ensemble de données d'origine en un ensemble d'apprentissage et un ensemble de test. Ensuite, nous divisons l'ensemble d'apprentissage en un ensemble d'apprentissage plus petit et un ensemble de validation. L'ensemble de formation est utilisé, avec un algorithme d'apprentissage automatique et des valeurs d'hyperparamètres spécifiques, pour former un modèle. En parcourant divers paramètres d'hyperparamètres, nous obtenons plusieurs modèles avec leurs performances respectives. Enfin, nous sélectionnons le modèle avec les performances les plus élevées, telles que mesurées sur l'ensemble de validation, et évaluons ses performances finales sur l'ensemble de test. Il est important d'inclure un ensemble de tests indépendant pour atténuer tout biais de sélection introduit lors de la sélection du modèle.

Maintenant, revoyons le concept en utilisant une figure différente pour faciliter notre compréhension. Dans ce diagramme, nous pouvons visualiser trois scénarios. Dans le premier scénario, nous évaluons un seul modèle formé sur l'ensemble d'apprentissage et testé sur l'ensemble de test sans aucun réglage du modèle. Cette approche convient lorsqu'aucun réglage de modèle n'est requis.

Dans le deuxième scénario, nous évaluons plusieurs modèles sur les mêmes ensembles d'entraînement et de test. Chaque modèle est formé avec différents paramètres d'hyperparamètres, et nous sélectionnons le plus performant en fonction des performances de l'ensemble de test. Cependant, l'utilisation de l'ensemble de tests plusieurs fois pour la sélection du modèle peut introduire un biais de sélection, rendant cette approche moins souhaitable.

Le troisième scénario correspond à la méthode d'exclusion à trois voies dont nous avons parlé précédemment. Plusieurs modèles sont entraînés sur l'ensemble d'entraînement avec différents paramètres d'hyperparamètres. L'ensemble de validation est ensuite utilisé pour sélectionner le modèle le plus performant, qui est ensuite évalué sur l'ensemble de test. Cette approche permet d'atténuer le biais de sélection en utilisant un ensemble de validation distinct pour le classement des modèles.

Bien que la méthode d'exclusion à trois voies soit efficace, une meilleure approche est la validation croisée k-fold, que nous avons abordée dans notre discussion précédente. Cette méthode divise les données en k plis, chaque pli servant à tour de rôle d'ensemble de validation tandis que le reste sert d'ensemble d'apprentissage. Cette approche est particulièrement avantageuse lorsque l'ensemble de données est de taille limitée. Pour les ensembles de données plus volumineux, l'exclusion à trois voies peut toujours être une option viable, en particulier dans l'apprentissage en profondeur où la taille des ensembles de données est généralement plus grande et où des considérations supplémentaires telles que la convergence des modèles entrent en jeu.

Maintenant, avançons et discutons de la validation croisée imbriquée, qui nous amène un peu plus loin en comparant différents algorithmes. Supposons que nous voulions comparer des algorithmes tels que les K voisins les plus proches, les arbres de décision, l'amplification de gradient et les forêts aléatoires. Chaque algorithme subira un réglage d'hyperparamètres pour sélectionner le meilleur modèle. Nous introduisons une autre boucle dans la procédure de validation croisée, résultant en une validation croisée imbriquée. La boucle externe est responsable de l'évaluation du modèle, tandis que la boucle interne se concentre sur le réglage des hyperparamètres. Cette procédure en deux étapes rend la validation croisée imbriquée plus complexe que la validation croisée k-fold classique, car elle comprend essentiellement deux validations croisées k-fold imbriquées.

Pour mieux comprendre ce processus, parcourons une illustration en commençant par notre ensemble de données d'origine. Imaginez que nous ayons un ensemble de test indépendant pour l'évaluation finale, mais pour l'instant, notre ensemble de formation principal suffira. Semblable à la validation croisée k-fold, nous parcourons une boucle pour un nombre spécifié de plis, disons cinq dans ce cas. À chaque itération, les données sont divisées en plis d'apprentissage et un pli de test. Cependant, au lieu de former le modèle uniquement sur le pli d'entraînement et de l'évaluer sur le pli de test, nous passons à l'étape suivante.

Dans l'étape suivante, nous prenons l'un des plis d'apprentissage, comme celui au bas du diagramme, et le divisons en un ensemble d'apprentissage plus petit et un ensemble de validation. Le plus petit ensemble de formation est utilisé pour former différents modèles avec divers paramètres d'hyperparamètres, tandis que l'ensemble de validation est utilisé pour sélectionner le modèle le plus performant.

Une fois la boucle interne terminée pour le pli d'entraînement actuel, nous avons un modèle sélectionné avec ses paramètres d'hyperparamètres correspondants. Nous évaluons ensuite ce modèle sur le pli test de la boucle externe, qui n'a pas été utilisé lors de la boucle interne.

Le processus se poursuit pour chaque pli dans la boucle externe. Chaque fois, un pli différent est utilisé comme pli de test, tandis que les plis restants sont utilisés pour la formation et la validation. Cela garantit que chaque pli est utilisé à la fois comme ensemble de test et comme ensemble de validation, et que chaque modèle est évalué sur un ensemble de données différent. La performance finale du modèle est déterminée en faisant la moyenne des performances sur tous les plis.

La validation croisée imbriquée nous aide à comparer différents algorithmes en fournissant une estimation plus robuste de leurs performances. En répétant plusieurs fois le processus de validation croisée imbriqué, nous pouvons obtenir des estimations de performances plus fiables et plus stables.

Pour résumer, la validation croisée imbriquée est une technique qui combine les avantages de la sélection de modèles et du réglage des hyperparamètres. Il nous permet de comparer différents algorithmes en évaluant leurs performances sur plusieurs plis de données et en sélectionnant le meilleur modèle basé sur des itérations imbriquées de validation croisée. Cette approche permet d'atténuer le biais de sélection et fournit une estimation plus précise des performances de l'algorithme.

Dans la vidéo à venir, nous explorerons des exemples de code pour montrer comment la validation croisée imbriquée est mise en œuvre dans la pratique. Restez à l'écoute pour la prochaine partie de cette série.

11.5 Nested CV for Algorithm Selection (L11 Model Eval. Part 4)
11.5 Nested CV for Algorithm Selection (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This video introduces the main concept behind nested cross-validation for algorithm selection.More details in my article "Model Evaluation, Model Selection, ...
 

11.6 CV imbriqué pour l'exemple de code de sélection d'algorithme (évaluation du modèle L11, partie 4)


11.6 CV imbriqué pour l'exemple de code de sélection d'algorithme (évaluation du modèle L11, partie 4)

Très bien, maintenant que nous avons discuté du concept derrière la validation croisée imbriquée, examinons un exemple de code. Cet exemple vous aidera à mieux comprendre la validation croisée imbriquée d'un point de vue informatique. De plus, cela s'avérera utile pour vos projets de classe lors de la comparaison d'algorithmes.

Tout d'abord, les exemples de code peuvent être trouvés sur GitHub. Je les ai téléchargés dans notre référentiel de classes habituel sous le nom "l11_code". Trois blocs-notes sont disponibles : "verbose_one", "verbose_two" et "compact". Les trois ordinateurs portables produisent les mêmes résultats, mais ils diffèrent dans leur approche de mise en œuvre.

Dans le cahier "verbose_one", j'ai adopté une approche plus manuelle en utilisant manuellement la méthode stratifiée k-fold. D'autre part, dans le cahier "verbose_two", j'ai utilisé la fonction cross_validate. Enfin, dans le cahier "compact", j'ai utilisé cross_val_score. Chaque bloc-notes fournit différents niveaux d'informations lorsqu'il est analysé. Pour l'instant, je recommande de commencer par le bloc-notes "verbose_one" puisque vous êtes déjà familiarisé avec l'objet stratifié k-fold.

Avant de poursuivre, il convient de mentionner que l'approche de mise en œuvre que vous choisissez n'a pas d'impact significatif sur les résultats. Cependant, je ne recommanderais pas d'utiliser le bloc-notes "compact" car il fournit moins d'informations sur les ensembles d'hyperparamètres. Plus tard, je pourrai brièvement vous montrer à quoi ressemblent les ensembles d'hyperparamètres après avoir discuté du contenu suivant.

Examinons maintenant le bloc-notes "verbose_one", qui illustre l'approche manuelle de la validation croisée imbriquée. Dans ce cahier, vous trouverez une illustration de la validation croisée imbriquée et de son fonctionnement. Le processus implique une boucle externe qui exécute les boucles internes. Pour chaque boucle externe, le pli est divisé en portions d'entraînement et de test. La partie d'apprentissage est ensuite transmise à la boucle interne, qui effectue le réglage des hyperparamètres ou la sélection du modèle. Ceci peut être réalisé en utilisant la recherche par grille, comme nous l'avons appris dans la leçon précédente.

Dans le bloc-notes, vous trouverez les étapes de configuration nécessaires, telles que l'importation des bibliothèques et des modules requis. Ceux-ci incluent la recherche de grille pour le réglage du modèle dans la boucle interne, la division de l'ensemble de données à l'aide de la validation croisée stratifiée k-fold, le pipeline, les scalaires standard et les classificateurs que nous voulons comparer. Pour les besoins de cet exemple, nous utilisons une version réduite de l'ensemble de données "emnes", qui se compose de 5 000 exemples d'apprentissage pour conserver la faisabilité informatique intacte. De plus, 20 % de l'ensemble de données sont mis de côté en tant que données de test, ce qui nous permet de comparer les performances de la validation croisée imbriquée avec les performances de l'ensemble de test.

À l'avenir, nous initialisons les classificateurs que nous utiliserons. Le premier classificateur est un classificateur de régression logistique, spécifiquement un classificateur de régression logistique multinomial. Ce classificateur est également connu sous le nom de régression softmax dans l'apprentissage en profondeur. Bien que nous ne l'ayons pas couvert dans cette classe, nous le couvrirons dans "Statistiques 453". La raison derrière l'utilisation de ce classificateur est d'avoir un plus large éventail d'algorithmes à comparer. De plus, il est relativement rapide par rapport aux autres algorithmes. Un autre classificateur relativement rapide que nous considérons est la machine à vecteurs de support, en particulier la machine linéaire. En incluant ces classificateurs, nous visons à comparer divers paramètres d'hyperparamètres.

Il est important de noter que les classificateurs basés sur un arbre de décision, tels que l'arbre de décision lui-même et le classificateur de forêt aléatoire, ne nécessitent pas de mise à l'échelle des paramètres. Par conséquent, nous n'effectuons la mise à l'échelle que pour les autres classificateurs. Pour faciliter cela, nous utilisons des pipelines, qui combinent le scaler standard avec le classificateur respectif. Ainsi, le pipeline peut être vu comme le classificateur lui-même. Pour chaque classificateur, nous définissons une grille d'hyperparamètres que nous allons rechercher. Ces grilles contiennent les paramètres que nous voulons régler pour chaque classifieur. Par exemple, dans la régression logistique, nous considérons la pénalité de poids de régularisation et différentes forces de régularisation. Les voisins les plus proches impliquent de considérer le nombre de voisins les plus proches et la distance.

Dans le cahier "verbose_one", après avoir défini les classificateurs et leurs grilles d'hyperparamètres respectives, nous passons à la configuration des boucles externes et internes pour la validation croisée imbriquée.

La boucle externe utilise une validation croisée stratifiée k-fold pour diviser l'ensemble de données en ensembles d'apprentissage et de test. Il parcourt les plis et garde une trace de l'index de pli, des indices d'apprentissage et des indices de test. Pour chaque pli, les données d'apprentissage sont ensuite divisées en ensembles d'apprentissage et de validation pour la boucle interne.

La boucle interne effectue la sélection du modèle ou le réglage des hyperparamètres à l'aide de la recherche de grille. Il parcourt la grille d'hyperparamètres pour chaque classificateur et utilise les ensembles d'apprentissage et de validation de la boucle externe pour trouver les meilleurs hyperparamètres pour chaque combinaison. La recherche de grille recherche de manière exhaustive la grille d'hyperparamètres spécifiée et évalue les performances de chaque combinaison à l'aide de la validation croisée.

Une fois la boucle interne terminée, les meilleurs hyperparamètres pour chaque classifieur sont enregistrés. Ensuite, les performances des modèles sélectionnés sont évaluées sur l'ensemble de test, qui a été mis de côté au départ. Les mesures d'évaluation telles que l'exactitude, la précision, le rappel et le score F1 sont calculées pour chaque classificateur.

Enfin, les résultats de la validation croisée imbriquée et de l'évaluation de l'ensemble de tests sont affichés, ce qui vous permet de comparer les performances de différents classificateurs et leurs paramètres d'hyperparamètres.

Il est important de noter que les blocs-notes "verbose_two" et "compact" fournissent des implémentations alternatives de la validation croisée imbriquée à l'aide de la fonction cross_validate et de la fonction cross_val_score, respectivement. Ces fonctions gèrent automatiquement certaines des étapes de validation croisée, ce qui simplifie le code. Cependant, ils peuvent fournir des informations moins détaillées que le bloc-notes "verbose_one".

J'espère que cet aperçu vous aidera à comprendre les exemples de code et comment la validation croisée imbriquée est implémentée. N'hésitez pas à explorer les blocs-notes et à expérimenter différents ensembles de données et classificateurs pour mieux comprendre le concept.

11.6 Nested CV for Algorithm Selection Code Example (L11 Model Eval. Part 4)
11.6 Nested CV for Algorithm Selection Code Example (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
Picking up where the previous video left off, this video goes over nested cross-validation by looking at a scikit-learn code example.More details in my artic...
 

12.0 Aperçu de la conférence (L12 Model Eval 5: Performance Metrics)


12.0 Aperçu de la conférence (L12 Model Eval 5: Performance Metrics)

Bonjour à tous,

J'espère que vous avez tous passé une merveilleuse pause de Thanksgiving et que vous avez pu vous détendre et vous ressourcer avant les dernières semaines du semestre. Bien qu'il soit regrettable que le semestre touche à sa fin, il reste encore beaucoup à attendre, en particulier vos présentations de projets. Je suis ravi de voir ce que vous avez construit sur la base du contenu que nous avons couvert dans ce cours et d'être témoin de la créativité et de l'application de vos connaissances en apprentissage automatique.

Dans les deux semaines à venir, j'ai quelques plans pour notre temps restant ensemble. Cette semaine, je couvrirai l'évaluation des modèles et me concentrerai sur cinq mesures de performance et d'évaluation. L'objectif est d'élargir votre perspective au-delà de la précision et des erreurs de classification. Nous explorerons diverses métriques qui peuvent aider à évaluer efficacement les modèles d'apprentissage automatique. Je ne prévois pas que ce sujet prendra beaucoup de temps, donc si nous avons plus de temps, j'aborderai également la sélection des fonctionnalités. J'ai partagé plus tôt du matériel d'auto-apprentissage sur ce sujet car je savais que nous n'aurions peut-être pas le temps de le couvrir en profondeur. Je veux être conscient des défis posés par l'apprentissage en ligne et ne pas vous submerger avec trop de sujets en peu de temps. Je comprends que vous avez tous beaucoup de travail dans vos assiettes, dont le Devoir 3, à rendre le 4 décembre, et vos présentations de projets en format vidéo le 6 décembre.

Concernant les présentations de projets, la semaine prochaine, je créerai des pages Canvas où vous pourrez intégrer vos présentations. De plus, je mettrai en place un format de quiz pour voter sur les prix du projet, y compris le projet le plus créatif, la meilleure présentation orale et la meilleure visualisation. Ces récompenses seront déterminées par vos votes. Je crois que cela ajoutera un élément de plaisir au processus. Je vais tout organiser pour la semaine prochaine, ce qui veut dire qu'il n'y aura pas de cours. Cependant, je recommande fortement que tout le monde regarde les présentations de projets. Des points seront attribués pour avoir répondu à des sondages liés aux présentations. Il est également juste de regarder les présentations des autres, car vous avez tous déployé des efforts considérables. Nous pouvons avoir des discussions et poser des questions sur Piazza ou explorer d'autres plateformes qui permettent l'interaction. Je vais réfléchir à la meilleure façon de faciliter cet engagement.

Avant de plonger dans la conférence d'aujourd'hui, je veux vous rappeler les évaluations de cours. Notre département vous a demandé de fournir des commentaires sur la façon dont le semestre s'est déroulé pour vous. Cette année a été différente en raison du format en ligne, donc vos idées seraient précieuses. Je publierai les liens pour les évaluations de cours sur Canvas. Il serait grandement apprécié que vous preniez le temps de les remplir. Cependant, je tiens à souligner qu'il n'y a pas de pénalité si vous choisissez de ne pas les remplir. Il s'agit simplement d'une demande pour recueillir vos commentaires.

Cela dit, commençons par la leçon 5 sur les mesures de performance et d'évaluation. Nous avons parcouru un long chemin dans l'évaluation des modèles, en commençant par les décompositions biais-variance pour comprendre le surajustement et le sous-ajustement. Nous avons exploré la méthode d'exclusion pour la division des ensembles de données et ses pièges, en construisant des intervalles de confiance à l'aide de la méthode d'approximation normale, des techniques de rééchantillonnage telles que l'exclusion répétée et le bootstrap, et la validation croisée pour la sélection du modèle. La semaine dernière, nous avons discuté des tests statistiques pour les comparaisons de modèles et d'algorithmes, y compris la validation croisée imbriquée. Aujourd'hui, nous nous concentrerons sur les mesures d'évaluation.

Nous commencerons par discuter de la matrice de confusion, qui diffère de la matrice de confusion McNemar couverte la semaine dernière. À partir de la matrice de confusion, nous pouvons dériver des métriques telles que le taux de faux positifs, le taux de vrais positifs et autres, qui seront utiles lorsque nous approfondirons la caractéristique de fonctionnement du récepteur. De plus, nous explorerons la précision, le rappel, le score F1, le coefficient de corrélation de Matthews et la précision équilibrée. Ce dernier est particulièrement utile dans les cas où des déséquilibres de classe existent dans l'ensemble de données. Vers la fin, nous aborderons l'extension des métriques binaires aux paramètres multiclasses, à l'exception de la précision équilibrée, qui est déjà compatible avec la classification multiclasse.

Dans la vidéo suivante, nous commencerons notre discussion avec la matrice de confusion.

12.0 Lecture Overview (L12 Model Eval 5: Performance Metrics)
12.0 Lecture Overview (L12 Model Eval 5: Performance Metrics)
  • 2020.12.02
  • www.youtube.com
This first video in L12 gives an overview of what's going to be covered in L12.-------This video is part of my Introduction of Machine Learning course.Next v...
 

12.1 Matrice de confusion (modèle L12 Eval 5 : métriques de performance)



12.1 Matrice de confusion (modèle L12 Eval 5 : métriques de performance)

Commençons par discuter de la matrice de confusion et de sa signification. Lors de la conférence, l'orateur a mentionné qu'il n'avait pas préparé de notes de cours pour diverses raisons, telles que la fin chargée du semestre et le fait d'avoir couvert le sujet dans un livre d'apprentissage automatique Python. Ils ont suggéré de se référer au chapitre 6 du livre pour plus de détails.

La matrice de confusion est un outil utilisé pour évaluer les performances d'un classificateur d'apprentissage automatique. Il montre la comparaison entre les étiquettes de classe prédites et les étiquettes de classe réelles dans un problème de classification supervisée. La matrice nous aide à comprendre les performances du classificateur et les étiquettes de classe qu'il a tendance à confondre.

La matrice de confusion est généralement représentée dans un format deux par deux, également appelé matrice de contingence. Il se compose de quatre éléments : les vrais positifs (TP), les faux négatifs (FN), les faux positifs (FP) et les vrais négatifs (TN). La classe « positive » fait référence à la classe d'intérêt que nous voulons prédire, tandis que la classe « négative » fait référence à l'autre classe.

Les vrais positifs (TP) sont les instances qui appartiennent à la classe positive et sont correctement identifiées comme telles par le classifieur. D'autre part, les faux négatifs (FN) sont des instances de la classe positive qui sont incorrectement prédites comme négatives.

De même, les faux positifs (FP) sont des instances de la classe négative qui sont incorrectement prédites comme positives. Enfin, les vrais négatifs (TN) sont des instances de la classe négative qui sont correctement identifiées comme négatives.

En analysant ces composants, nous pouvons calculer diverses mesures de performance. La conférence a mentionné deux mesures courantes : la précision de la classification et l'erreur de classification. La précision de la classification est calculée en divisant la somme des vrais positifs et des vrais négatifs par le nombre total de prédictions. D'autre part, l'erreur de classification est calculée comme un moins la précision.

Le conférencier a ensuite présenté l'ensemble de données sur le cancer du sein du Wisconsin, qui contient des informations sur les diagnostics de cancer du sein. Ils ont expliqué que l'ensemble de données comporte plusieurs colonnes, y compris un numéro d'identification pour chaque patient et des caractéristiques extraites d'images numérisées de noyaux de cellules cancéreuses.

Pour préparer l'ensemble de données pour la classification, l'orateur a utilisé un encodeur d'étiquettes de scikit-learn pour transformer les étiquettes de classe de chaînes (malignes et bénignes) en étiquettes entières (0 et 1). Ils ont divisé l'ensemble de données en un ensemble d'apprentissage (80 %) et un ensemble de test (20 %).

Ensuite, l'orateur a montré comment tracer une matrice de confusion à l'aide d'un classificateur k plus proche voisin. Ils ont souligné l'importance de la mise à l'échelle des fonctionnalités pour les classificateurs KNN et ont mentionné l'utilisation d'un scalaire et d'un pipeline standard pour le prétraitement.

Pour visualiser la matrice de confusion, l'orateur a utilisé la fonction confusion_matrix de la bibliothèque mlxtend. La matrice de confusion résultante a été affichée à l'aide de matplotlib, avec les vrais positifs dans le coin inférieur droit et les vrais négatifs dans le coin supérieur gauche.

De plus, l'orateur a mentionné certains paramètres facultatifs de la fonction confusion_matrix, tels que show_absolute et show_normed. Ces paramètres permettent de personnaliser la visualisation, notamment en affichant les nombres absolus ou les valeurs normalisées.

Enfin, le conférencier a discuté des mesures dérivées de la matrice de confusion, telles que le taux de vrais positifs, le taux de faux positifs, le taux de faux négatifs et le taux de vrais négatifs. Ces métriques sont importantes pour évaluer les performances du classifieur et seront explorées plus en détail en relation avec la courbe caractéristique de l'opérateur du récepteur (ROC) dans les discussions ultérieures.

Dans l'ensemble, la matrice de confusion fournit des informations précieuses sur les performances d'un classificateur, nous permettant d'évaluer sa capacité à prédire correctement les étiquettes de classe.

12.1 Confusion Matrix (L12 Model Eval 5: Performance Metrics)
12.1 Confusion Matrix (L12 Model Eval 5: Performance Metrics)
  • 2020.12.02
  • www.youtube.com
This video goes over the concept of a confusion matrix and how it relates to the true positive and false positives rates, among others.-------This video is p...
 

12.2 Précision, rappel et score F1 (L12 Model Eval 5 : Metrics de performance)


12.2 Précision, rappel et score F1 (L12 Model Eval 5 : Metrics de performance)

Dans la vidéo précédente, nous avons discuté de la matrice de confusion, qui est un outil utile pour évaluer les modèles de classification. Il nous permet de calculer le nombre de vrais positifs, de faux positifs, de vrais négatifs et de faux négatifs. Nous avons également exploré le taux de vrais positifs et le taux de vrais négatifs. Maintenant, nous allons étendre notre compréhension en introduisant trois mesures supplémentaires : la précision, le rappel et le score F1.

Commençons par la précision. La précision est calculée en divisant le nombre de vrais positifs par la somme des vrais positifs et des faux positifs. Les vrais positifs sont les instances qui sont correctement prédites comme positives, tandis que les faux positifs sont les instances qui sont incorrectement prédites comme positives. Dans le contexte de la classification des spams, par exemple, les vrais positifs représentent les e-mails correctement identifiés comme spam, tandis que les faux positifs font référence aux e-mails non spam classés à tort comme spam. La précision mesure l'exactitude des prédictions positives, en répondant à la question : combien de spams prédits sont en réalité des spams ?

Ensuite, nous avons le rappel, également appelé taux de vrais positifs. Le rappel est calculé en divisant le nombre de vrais positifs par la somme des vrais positifs et des faux négatifs. Les vrais positifs représentent les instances correctement prédites comme positives, et les faux négatifs représentent les instances incorrectement prédites comme négatives. Le rappel indique combien d'instances positives réelles ont été correctement identifiées comme positives. En d'autres termes, il mesure l'efficacité d'un classificateur à capturer des instances positives.

Une autre mesure importante est le score F1, qui combine précision et rappel en une seule valeur. Il est calculé en prenant la moyenne harmonique de précision et de rappel, pondérée par un facteur de deux. Le score F1 fournit une mesure équilibrée des performances d'un classificateur, en tenant compte à la fois de la précision et du rappel. Il est particulièrement utile lorsque nous voulons évaluer un modèle qui fonctionne bien en précision et en rappel.

Toutes ces mesures ont une plage comprise entre zéro et un, un étant la meilleure valeur possible. En termes de terminologie, la sensibilité et la spécificité sont plus couramment utilisées en biologie computationnelle, tandis que la précision et le rappel sont populaires dans les technologies de l'information, l'informatique et l'apprentissage automatique. Lors du choix des mesures à utiliser dans un article ou une étude, il est important de tenir compte des conventions du domaine spécifique.

Pour mieux comprendre la précision et le rappel, visualisons-les à l'aide d'un diagramme utile de Wikipedia. Dans cette visualisation, nous considérons la classe positive (par exemple, les spams) comme tout ce qui se trouve à gauche et la classe négative comme tout ce qui se trouve à droite. La précision est représentée par les vrais positifs divisés par tous les positifs prédits, tandis que le rappel est représenté par les vrais positifs divisés par tous les positifs réels.

De plus, nous avons deux autres mesures couramment utilisées : la sensibilité et la spécificité. La sensibilité est un autre terme pour le rappel, représentant le taux de vrais positifs. La spécificité, en revanche, est le nombre de vrais négatifs divisé par le nombre de négatifs. Il complète la sensibilité et se concentre sur l'identification précise des cas négatifs.

Parlons maintenant du coefficient de corrélation de Matthews. Initialement conçu pour évaluer les prédictions de la structure secondaire des protéines en biologie, ce coefficient mesure la corrélation entre les marqueurs vrais et prédits. Il peut être considéré comme un homologue de classification binaire du coefficient de corrélation de Pearson. Semblable au r de Pearson, le coefficient de corrélation de Matthews varie de -1 à 1, 1 indiquant une correspondance parfaite entre les étiquettes vraies et prédites. Il est particulièrement utile dans les problèmes de classes déséquilibrées, où une classe a beaucoup plus d'exemples que l'autre.

Pour calculer ces métriques, vous pouvez utiliser les fonctions fournies par scikit-learn, telles que precision_score, rappel_score, f1_score et matthews_corrcoef. Ces fonctions prennent les véritables étiquettes et les étiquettes prédites comme entrées et renvoient les valeurs de métrique correspondantes. Vous pouvez également utiliser ces métriques dans la recherche de grille et le réglage des hyperparamètres, en fournissant la métrique souhaitée sous forme d'argument de chaîne.

Pour les problèmes multi-classes, lorsque vous souhaitez utiliser des métriques telles que la précision, le rappel, le score F1 ou le coefficient de corrélation de Matthews, vous devez appliquer une solution de contournement. Une approche consiste à utiliser la fonction make_scorer de scikit-learn. Cette fonction vous permet de créer un objet de score pour une métrique spécifique.

Par exemple, si vous souhaitez utiliser le score F1 pour un problème multi-classes, vous pouvez créer un objet scorer à l'aide de make_scorer et définir le paramètre average sur "macro" ou "micro". L'option "macro" calcule la métrique indépendamment pour chaque classe, puis prend la moyenne, tandis que l'option "micro" considère le nombre total de vrais positifs, de faux négatifs et de faux positifs dans toutes les classes.

Il est important de noter que le choix entre la moyenne "macro" et "micro" dépend du problème et des exigences spécifiques de votre analyse.

En plus d'utiliser ces métriques individuellement, vous pouvez également les appliquer dans la recherche de grille et le réglage des hyperparamètres. Au lieu d'utiliser la précision de la classification comme métrique de notation, vous pouvez fournir la métrique souhaitée en tant qu'argument de chaîne dans le processus de recherche de grille. Cela vous permet d'optimiser votre modèle en fonction de la métrique choisie, en fournissant une évaluation plus complète que de simplement compter sur la précision.

N'oubliez pas que lorsque vous travaillez avec des problèmes multi-classes et que vous appliquez ces métriques, il est essentiel de comprendre les options de calcul de la moyenne et de choisir la méthode appropriée en fonction de vos besoins spécifiques.

En résumé, dans cette vidéo, nous avons couvert des mesures d'évaluation supplémentaires pour les modèles de classification, y compris la précision, le rappel, le score F1 et le coefficient de corrélation de Matthews. Ces métriques fournissent des informations précieuses sur les performances d'un classificateur, en tenant compte de facteurs tels que les vrais positifs, les faux positifs et les faux négatifs. En utilisant ces mesures, vous pouvez mieux comprendre les performances de votre modèle et prendre des décisions éclairées dans votre analyse ou votre recherche. Dans la vidéo suivante, nous approfondirons la précision équilibrée, les courbes des caractéristiques de fonctionnement du récepteur (ROC) et l'extension des métriques binaires aux paramètres multi-classes, élargissant nos connaissances des techniques d'évaluation dans les tâches de classification.

12.2 Precision, Recall, and F1 Score (L12 Model Eval 5: Performance Metrics)
12.2 Precision, Recall, and F1 Score (L12 Model Eval 5: Performance Metrics)
  • 2020.12.02
  • www.youtube.com
This video looks at binary performance metrics such as 12.2 Precision, Recall, and F1 Score.-------This video is part of my Introduction of Machine Learning ...