Table of Contents

Les projets d'apprentissage automatique rencontrent souvent des défis qui peuvent nuire à la performance et à la précision. Il est essentiel pour les ingénieurs de définir et de résoudre ces problèmes de développer des modèles efficaces.

Comprendre les pièges de l'apprentissage automatique

Les modèles d'apprentissage automatique visent à apprendre les modèles à partir des données de formation et à les appliquer pour faire des prédictions précises sur de nouvelles données invisibles. Cependant, de nombreux défis peuvent surgir pendant le processus de développement qui compromettent les performances du modèle.

Pour comprendre ces obstacles, il faut reconnaître que l'apprentissage automatique est fondamentalement une question de généralisation. Une considération importante dans l'apprentissage de la fonction cible à partir des données de formation est la façon dont le modèle généralise les nouvelles données.

Sur-ajustement: quand les modèles apprennent trop

Le surajustement est un comportement indésirable de l'apprentissage automatique qui se produit lorsque le modèle d'apprentissage automatique donne des prédictions précises pour les données de formation mais pas pour les nouvelles données.

Ce qui fait que l'on est en sur-adéquation

Le surajustement signifie que le modèle n'apprend pas seulement le motif sous-jacent, mais aussi le bruit ou les irritations aléatoires dans les données de formation.

  • Complexité du modèle:[ Il se produit un surajustement lorsque les ingénieurs utilisent un modèle d'apprentissage automatique avec trop de paramètres ou de couches, comme un réseau neuronal d'apprentissage profond, ce qui le rend très adaptable aux données de formation.
  • Données insuffisantes sur la formation :[ La taille des données sur la formation est trop petite et ne contient pas suffisamment d'échantillons de données pour représenter avec précision toutes les valeurs possibles de données d'entrée.
  • Durée de la formation:[ Des périodes de formation prolongées peuvent amener des modèles à mémoriser des exemples de formation plutôt que d'apprendre des modèles généralisables.
  • Bruit dans les données: Lorsqu'on les forme sur un ensemble de données petit ou bruyant, le modèle risque de mémoriser des points de données et du bruit particuliers plutôt que d'apprendre les modèles généraux.

Reconnaître les surajustements

Détecter les surajustements tôt dans le processus de développement permet d'économiser du temps et des ressources. Il fonctionne très bien sur les données de formation mais mal sur les données de test.

  • Gap de performance :[ Les ingénieurs cherchent un écart de performance entre la formation et les tests, mais ils peuvent également détecter une suradaptation dans les courbes d'apprentissage, où la perte de formation diminue vers zéro alors que la perte de validation augmente, ce qui indique une mauvaise généralisation.
  • Précision irréaliste :[ Lorsque la précision de la formation approche à 100% mais que la précision de la validation demeure significativement inférieure, il est probable que l'on surmonte.
  • Haute variance: Les modèles sur-fit connaissent une grande variance – ils donnent des résultats précis pour l'ensemble d'entraînement mais pas pour l'ensemble d'essai.

Solutions pour sur-ajustement

Il existe de multiples stratégies pour lutter contre l'excès de souplesse et la combinaison de plusieurs approches donne souvent les meilleurs résultats :

Cross-Validation: La validation croisée est une mesure préventive puissante contre le surajustement. L'idée est intelligente : Utilisez vos données d'entraînement initial pour générer plusieurs mini-séparations de tests de train. Cette technique permet de s'assurer que les estimations de performance du modèle sont fiables et ne dépendent pas d'une seule séparation de test de train.

Technique de régularisation: La régularisation ajoute des pénalités à la fonction de perte du modèle pour décourager la complexité. La régularisation L1 (Lasso) peut conduire certaines caractéristiques à zéro, effectuer une sélection efficace des fonctionnalités. La régularisation L2 (Ridge) pénalise les gros poids, encourageant le modèle à distribuer l'importance entre les caractéristiques plus uniformément. Elastic Net combine les deux approches pour la régularisation équilibrée.

Stopping précoce:[ Surveiller la perte de validation pendant l'entraînement et arrêter le processus lorsque la perte cesse d'améliorer.

Dropout pour les réseaux neuronaux:[ Désactiver aléatoirement les nœuds pendant l'entraînement pour réduire la dépendance à des neurones spécifiques. Cela oblige le réseau à apprendre des fonctionnalités plus robustes qui ne dépendent pas d'activations spécifiques de nœuds.

Modèle Simplification: Optez pour des architectures plus petites ou moins de fonctionnalités. Prunez les arbres de décision pour éviter de capturer des scissions non pertinentes. Parfois, la meilleure solution est de choisir une architecture de modèle moins complexe.

Données : Recueillir plus de données pour donner au modèle une portée d'apprentissage plus large.Utiliser des techniques d'augmentation de données pour l'expansion de l'ensemble de données synthétiques.Pour les données d'image, cela peut inclure des rotations, des retournements ou des ajustements de couleurs.

Sous-entendant: quand les modèles apprennent trop peu

Si le modèle est trop simple et ne couvre pas tous les modèles réels des données, il est moins discuté que le surajustement, mais il présente ses propres défis pour les ingénieurs en apprentissage automatique.

Causes de l'inadéquation

Le sous-ajustement se produit lorsqu'un modèle est trop simple pour saisir les modèles sous-jacents des données de formation. Autrement dit, le modèle présente un biais élevé et ne parvient pas à apprendre efficacement les relations entre les caractéristiques d'entrée et les étiquettes de sortie.

  • Complexité insuffisante du modèle:[ Le modèle est trop simple, donc il peut ne pas être capable de représenter les complexités des données.
  • Caractéristiques insuffisantes:[ Les caractéristiques d'entrée qui sont utilisées pour former le modèle ne sont pas les représentations adéquates des facteurs sous-jacents qui influencent la variable cible.
  • Données limitées sur la formation:[ La taille de l'ensemble de données de formation utilisé n'est pas suffisante.
  • Régularisation excessive:[ Une régularisation excessive est utilisée pour empêcher le surajustement, qui oblige le modèle à bien saisir les données.
  • Insuffisant Formation:[ Vous obtenez des modèles en sous-ajustement s'ils n'ont pas été formés pendant la durée appropriée sur un grand nombre de points de données.

Identification des défauts

Il est mal adapté aux données de formation et de test.

  • Rendement insuffisant :[ Les erreurs sont constamment élevées dans les ensembles de données de formation et d'essai.
  • Bais élevé: Les modèles en sous-ajustement présentent un biais élevé, car ils donnent des résultats inexacts pour les données de formation et les tests.
  • Incapacité de saisir des modèles: Il ne saisit pas la complexité de l'ensemble de données.
  • Aucune amélioration avec plus de données: L'ajout de données sur la formation n'améliore pas significativement le rendement.

Traitement des problèmes

Souvent, on ne discute pas de l'ajustement, car il est facile de détecter une bonne mesure des performances. Le remède est de passer à autre chose et d'essayer des algorithmes d'apprentissage automatique. Cependant, plusieurs stratégies peuvent aider à résoudre l'ajustement insuffisant sans changer complètement les algorithmes:

  • Augmentation de la complexité du modèle :[ Ajouter plus de couches aux réseaux neuraux, augmenter la profondeur des arbres pour les arbres de décision, ou utiliser des caractéristiques polynomiales pour les modèles linéaires.
  • Technique de fonctionnalités:L'ingénierie et la régularisation de fonctionnalités ont fourni un meilleur équilibre que la simplification pure.Créez de nouvelles fonctionnalités qui permettent de mieux saisir les relations dans les données.
  • Régularisation de la réductibilité:[ Si une régularisation excessive limite le modèle, réduisez la résistance à la régularisation ou retirez-le entièrement.
  • Train Longer: Permettre au modèle d'apprendre plus d'époques ou d'itérations à partir des données.
  • Supprimer les contraintes :[ Éliminer les limitations artificielles sur la capacité du modèle qui pourraient l'empêcher d'apprendre des modèles complexes.

Le compromis entre les prix de la variace

Les erreurs et les écarts expliquent que les ingénieurs de balance doivent frapper pour assurer une bonne adaptation à leurs modèles d'apprentissage automatique. Ainsi, l'échange entre les biais et les variables est essentiel pour s'attaquer au sous-ajustement et au surajustement.

Comprendre les préjugés

Un modèle biaisé fait de fortes hypothèses sur les données de formation pour simplifier le processus d'apprentissage, ignorant les subtilités ou les complexités qu'il ne peut pas expliquer.

Comprendre les écarts

La variance élevée indique que le modèle peut capter le bruit, les idiosyncrasies et les détails aléatoires dans les données de formation. Les modèles à haute variation sont trop flexibles, ce qui entraîne une faible erreur de formation, mais lorsqu'ils sont testés sur de nouvelles données, les modèles appris ne se généralisent pas, ce qui entraîne une erreur de test élevée.

Trouver l'équilibre

Les data savants cherchent à trouver le bon endroit entre un sous-ajustement et un surajustement lors de l'ajustement d'un modèle. Ce point d'équilibre représente une performance optimale du modèle où le modèle est assez complexe pour saisir de vrais modèles mais assez simple pour bien généraliser.

Un modèle bien équilibré devrait permettre d'atteindre un équilibre optimal entre biais et variance, en s'assurant qu'il capture les modèles nécessaires sans mémoriser le bruit.

Fuite de données : le tueur silencieux du modèle

La fuite de données dans l'apprentissage automatique se produit lorsqu'un modèle utilise des informations pendant la formation qui ne seraient pas disponibles au moment de la prédiction. La fuite provoque un modèle prédictif à regarder précis jusqu'à ce qu'il soit déployé dans son cas d'utilisation; alors, il produira des résultats inexacts, conduisant à une mauvaise prise de décision et de fausses idées.

Types de fuites de données

La fuite de données se manifeste sous plusieurs formes, chacune présentant des caractéristiques et des stratégies de prévention distinctes:

Cible de fuite:[ Cela se produit lorsque l'information de la variable cible (c.-à-d. l'étiquette étant prédite) est incluse par inadvertance dans les données de formation. Par exemple, l'utilisation de l'état de sortie d'un patient pour prédire la réadmission à l'hôpital crée artificiellement des performances élevées qui ne se traduira pas par des prédictions du monde réel.

Train-Test Contamination:[ Dupliquer les images apparaissant dans les ensembles d'entraînement et de test pour un classificateur de chats-vs-dogs. Le modèle mémorise des images spécifiques plutôt que d'apprendre des caractéristiques généralisables. Ce type de fuite se produit lorsque des points de données apparaissent dans les ensembles d'entraînement et de validation/test.

Séquestration temporelle:[ Utiliser des données non disponibles au moment de la prévision (p. ex., événements futurs pour prédire le passé), ce qui est particulièrement problématique dans la prévision des séries chronologiques et la modélisation financière.

Prétraitement des fuites:[ Le fractionnement incorrect des données se produit avec l'échelle des données avant de les diviser en ensembles de formation et de validation ou lors du remplissage des valeurs manquantes avec des informations de l'ensemble des données. Cette forme subtile de fuite est extrêmement fréquente et souvent négligée.

Impact de la fuite des données

La fuite de données peut avoir plusieurs effets négatifs sur les modèles d'apprentissage automatique. Par exemple, elle peut conduire à des mesures de performance inexactes, des prédictions biaisées et un manque de généralisabilité. Elle peut également entraîner des idées et des conclusions trompeuses du modèle, car les modèles appris ne sont peut-être pas représentatifs des données du monde réel.

Les conséquences dépassent les questions techniques.Les fuites de données peuvent être une erreur et des fuites de plusieurs millions de dollars et de temps dans l'apprentissage automatique, en raison de divers facteurs.Les organisations peuvent déployer des modèles qui semblent très précis pendant le développement mais échouent catastrophiquement dans la production, ce qui entraîne de mauvaises décisions commerciales et une perte de confiance des parties prenantes.

Une étude de la Bibliothèque nationale de médecine a révélé que, dans 17 domaines scientifiques différents où des méthodes d'apprentissage automatique ont été appliquées, au moins 294 documents scientifiques ont été touchés par des fuites de données, ce qui a conduit à des résultats trop optimistes, ce qui démontre à quel point le problème est devenu répandu et grave dans la communauté de l'apprentissage automatique.

Prévenir la fuite des données

La prévention des fuites de données exige une vigilance sur l'ensemble du pipeline d'apprentissage machine:

Doublure des données de proper:[ Il est important de s'assurer qu'il n'y a pas de chevauchement entre les données dans les ensembles de formation, de validation et d'essai pour éviter les fuites de données.

Savoir-faire temporaire :[ Portez une attention particulière aux relations temporelles et assurez-vous que les données futures ne sont pas incluses dans l'ensemble de formation.

Vérification des caractéristiques : Vérifier chaque caractéristique de votre ensemble de données et demander : Cette fonctionnalité serait-elle disponible de façon réaliste au moment de la prédiction ? Si la réponse est non, supprimez-la. Utilisez les connaissances du domaine, la lignage des données et la validation d'horodatage pour s'assurer que votre modèle ne voit que ce à quoi il aurait accès pendant l'inférence du monde réel.

Prétraitement dans une validation croisée:[ Effectuez la préparation des données dans vos plis de validation croisée. Retenez un ensemble de données de validation pour la vérification finale de la santé mentale de vos modèles développés. Cela garantit que les étapes de prétraitement ne fuient pas les informations de validation ou de test dans les données de formation.

Cross-Validation Best Practices: La validation croisée est une technique d'évaluation des performances des modèles d'apprentissage automatique qui consiste à diviser à plusieurs reprises les données en ensembles de formation et de validation.Cela peut aider à détecter les fuites de données en révélant si le modèle est sur-adapté à certains sous-ensembles de données. Il est important de s'assurer que les données sont correctement remuées avant d'appliquer la validation croisée pour éviter les fuites.

Questions et solutions relatives à la qualité des données

La mauvaise qualité des données sape même les algorithmes d'apprentissage automatique les plus sophistiqués. Les problèmes de qualité des données se manifestent sous diverses formes et nécessitent des approches systématiques pour identifier et résoudre.

Problèmes communs de qualité des données

Valeurs de perte :[ Les données incomplètes peuvent biaiser les modèles ou réduire leur efficacité. Les données manquantes peuvent être complètement manquantes au hasard (MCAR), manquantes au hasard (MAR), ou manquantes non au hasard (MNAR), chacune nécessitant des stratégies de manipulation différentes.

Aberrations et anomalies:[ Des valeurs extrêmes peuvent influencer de façon disproportionnée l'entraînement des modèles, en particulier pour les algorithmes sensibles à l'échelle comme la régression linéaire ou les réseaux neuronaux.

Données non cohérentes : Les variations dans le formatage des données, les unités de mesure ou les encodages catégoriques peuvent confondre les modèles et réduire les performances.

Classes équilibrées:[ Lorsqu'une classe dépasse de façon significative les autres dans les tâches de classification, les modèles peuvent développer un biais vers la classe majoritaire, se produisant mal sur les classes minoritaires.

Données sonores:[ Les erreurs aléatoires ou les informations non pertinentes dans les caractéristiques peuvent masquer les vrais modèles et conduire à une suradaptation.

Stratégies de prétraitement des données

Le prétraitement des données, comme la normalisation ou l'échelle, peut par inadvertance divulguer des informations sur le jeu d'essais dans l'ensemble de formation. Il est important de s'assurer que les étapes de prétraitement ne sont basées que sur l'ensemble de formation et non sur l'ensemble de test.

Maintien Données manquantes:[ Les options incluent la suppression (enlevant des lignes ou des colonnes avec des valeurs manquantes), l'imputation (en remplissant des valeurs manquantes avec des valeurs moyennes, médianes, de mode ou prévues), ou l'utilisation d'algorithmes qui traitent les données manquantes nativement comme XGBoost.

Traitement aberrant : Identifier les aberrations à l'aide de méthodes statistiques (z-scores, IQR) ou de techniques de visualisation. Décider s'il faut supprimer, plafonner ou transformer les aberrations en fonction des connaissances du domaine et de leur impact sur la performance du modèle.

Normalisation des données et calibrage: La normalisation (normalisation z-score) transforme les caractéristiques pour avoir une moyenne nulle et une variance unitaire. L'échelle Min-max redessine les caractéristiques à une plage fixe, généralement [0,1].

Encodage des variables catégoriques: L'encodage à une seule chaleur crée des colonnes binaires pour chaque catégorie. L'encodage des étiquettes attribue des entiers aux catégories. L'encodage des cibles utilise des statistiques cibles, bien qu'il nécessite une mise en œuvre soigneuse pour éviter les fuites.

Adresser Ibalance de classe:[ Des techniques de suréchantillonnage comme SMOTE génèrent des exemples synthétiques de classes minoritaires. Le sous-échantillonnage réduit les exemples de classes majoritaires. La pondération de classe ajuste la fonction de perte pour pénaliser la classification erronée des classes minoritaires plus fortement.

Ingénierie et sélection des fonctions

L'ingénierie des fonctions – le processus de création de nouvelles fonctionnalités ou de transformation de celles existantes – peut améliorer considérablement les performances des modèles.

Techniques d'ingénierie de la fonction

Caractéristiques du domaine: Tirer parti de l'expertise du domaine pour créer des fonctionnalités qui saisissent des relations importantes.Par exemple, dans la prévision des prix immobiliers, créer une fonctionnalité « prix par pied carré » combine deux fonctionnalités existantes d'une manière significative.

Caractéristiques physiologiques: Créer des termes d'interaction et des combinaisons polynômes de caractéristiques pour saisir des relations non linéaires.

Caractéristiques temporelles:[ Pour les données temporelles, extraire des caractéristiques comme le jour de la semaine, le mois, la saison ou l'heure depuis le dernier événement.

Caractéristiques de l'agrégation: Créer des résumés statistiques (moyenne, médiane, écart type) sur des groupes ou des fenêtres temporelles.

Caractéristiques du texte:[ Pour les données en langage naturel, utilisez des techniques comme TF-IDF, des ancrages de mots ou des scores sentimentaux.

Méthodes de sélection des caractéristiques

Toutes les fonctionnalités ne contribuent pas à la performance du modèle. L'élimination de fonctionnalités non pertinentes ou redondantes peut améliorer la précision, réduire le surajustement et diminuer le temps d'entraînement.

Méthodes de fabrication:[ Évaluer les caractéristiques indépendamment du modèle à l'aide de tests statistiques. L'analyse de corrélation identifie les caractéristiques fortement corrélées avec la cible.

Méthodes de l'enveloppe:[ Évaluer les sous-ensembles de fonctionnalités par les modèles de formation. L'élimination de fonctionnalités récursives (RFE) supprime les fonctionnalités les moins importantes. La sélection en avant commence avec aucune fonctionnalité et les ajoute une par une. L'élimination en arrière commence avec toutes les fonctionnalités et les supprime par l'itérative.

Méthodes embarquées:[ Effectuer la sélection des caractéristiques pendant l'entraînement du modèle. La régularisation L1 (Lasso) conduit certains coefficients de caractéristique à zéro. Les modèles basés sur les arbres fournissent des scores d'importance des caractéristiques.

Dimensional Reduction: L'analyse des composants principaux (PCA) crée des composants non corrélés qui capturent la variance maximale. t-SNE et UMAP sont utiles pour la visualisation et peuvent parfois améliorer les performances du modèle.

La validation croisée : la norme d'or pour l'évaluation des modèles

La validation croisée fournit des estimations robustes des performances du modèle et aide à détecter les fuites de données et les surajustements. La validation croisée est l'une des méthodes d'essai utilisées dans la pratique.

Validation croisée K-Fold

Dans la validation standard du pli k, nous partitionnons les données en sous-ensembles k, appelés pli. Ensuite, nous formons l'algorithme sur les pli k-1 tout en utilisant le pli restant comme ensemble de test (appelé « pli de retenue »). Ce processus répète k fois, chaque pli servant de ensemble de test exactement une fois.

Les itérations se répètent jusqu'à ce que vous testiez le modèle sur chaque ensemble d'échantillons. Vous calculez ensuite la moyenne des scores pour toutes les itérations afin d'obtenir l'évaluation finale du modèle prédictif.

Validation croisée stratifiée

Pour les problèmes de classification des classes déséquilibrées, la validation croisée stratifiée du facteur k garantit que chaque pli maintient la même distribution de classe que l'ensemble de données d'origine, ce qui empêche les situations où certains plis peuvent contenir très peu ou pas d'exemples de classes minoritaires.

Séries chronologiques Validation croisée

La validation croisée standard viole l'ordre temporel dans les données des séries chronologiques. La validation croisée des séries chronologiques utilise des fenêtres en expansion ou en rotation qui respectent l'ordre temporel, assurant que le modèle est toujours formé sur les données passées et testé sur les données futures.

Validation croisée des congés et des congés

LOOCV est une forme extrême de validation croisée du facteur k où k correspond au nombre d'échantillons. Chaque itération utilise un seul échantillon comme ensemble de tests et tous les autres pour la formation. Bien que cela fournit l'évaluation la plus approfondie, il est calculable cher pour les ensembles de données de grande taille.

Pratiques exemplaires en matière de validation croisée

La validation croisée vous permet d'accorder les hyperparamètres avec votre seul ensemble d'entraînement original. Cela vous permet de garder votre ensemble de tests comme un ensemble de données vraiment invisible pour sélectionner votre modèle final. Toujours effectuer le réglage de l'hyperparamètre dans les boucles de validation croisée, jamais sur le jeu de tests final.

Assurez-vous que toutes les étapes de prétraitement se produisent dans chaque pli de validation croisée pour éviter les fuites de données. Calculez les paramètres de calibrage, les valeurs d'imputation et la sélection des fonctions sur les pliages d'entraînement seulement, puis appliquez-les sur les pliages de validation.

Stratégies de réglage des paramètres hyperfréquences

Contrairement aux paramètres du modèle appris à partir de données, les hyperparamètres doivent être réglés avant la formation. Un réglage approprié des hyperparamètres peut améliorer considérablement les performances du modèle.

Recherche de grille

La recherche par grille évalue de façon exhaustive toutes les combinaisons de valeurs d'hyperparamètres spécifiées. Bien que approfondie, elle devient coûteuse en calcul à mesure que le nombre d'hyperparamètres et leurs valeurs possibles augmentent. La recherche par grille fonctionne bien lorsque vous avez un petit nombre d'hyperparamètres et une bonne intuition sur les gammes de valeurs raisonnables.

Recherche aléatoire

La recherche aléatoire permet de trouver de bons hyperparamètres plus efficacement que la recherche par grille, surtout lorsque certains hyperparamètres ont peu d'effet sur les performances. La recherche aléatoire vous permet d'explorer une gamme plus large de valeurs avec le même budget de calcul.

Optimisation bayésienne

L'optimisation bayésienne construit un modèle probabiliste de la relation entre les hyperparamètres et les performances du modèle. Il utilise ce modèle pour sélectionner intelligemment quelles combinaisons d'hyperparamètres pour évaluer ensuite, en se concentrant sur les régions prometteuses de l'espace hyperparamétrique. Cette approche trouve généralement de bons hyperparamètres avec moins d'évaluations que la grille ou la recherche aléatoire.

Automatisation de l'apprentissage automatique (AutoML)

AutoML frameworks automatise le réglage des hyperparamètres avec la sélection des algorithmes et l'ingénierie des fonctionnalités. Des outils comme Auto-sklearn, H2O AutoML et Google Cloud AutoML peuvent économiser un temps de développement important, même s'ils peuvent nécessiter des ressources de calcul substantielles.

Programme de formation

Pour les réseaux neuronaux et l'optimisation par gradient, le taux d'apprentissage est souvent l'hyperparamètre le plus important. Les horaires d'apprentissage permettent d'ajuster le taux d'apprentissage pendant la formation.

Modèle de mesure d'évaluation

Le choix de mesures d'évaluation appropriées est crucial pour comprendre la performance du modèle et détecter les problèmes.

Statistiques de classement

Acquiescement:[ La proportion de prédictions correctes. Bien que intuitive, la précision peut être trompeuse pour les ensembles de données déséquilibrés où un modèle naïf ne prédisant que la classe majoritaire atteint une précision élevée.

Précision et rappel: La précision mesure la proportion de prédictions positives qui sont réellement positives. Le rappel mesure la proportion de positifs réels qui sont correctement identifiés. Le score F1 combine la précision et le rappel en une seule mesure en utilisant leur moyenne harmonique.

ROC-AUC: La courbe caractéristique de fonctionnement du récepteur trace un taux réel positif par rapport à un taux faux positif à divers seuils de classification. La zone sous la courbe (AUC) fournit un seul chiffre résumant le rendement pour tous les seuils.

Matrice de confusion: Un tableau montrant les vrais positifs, les vrais négatifs, les faux positifs et les faux négatifs fournit un aperçu détaillé des erreurs du modèle et peut révéler des faiblesses spécifiques.

Mesure de régression

»Erreur absolue moyenne (EA) :[ La différence absolue moyenne entre les prédictions et les valeurs réelles.

Méan Erreur carrée (EMS) et Erreur carrée moyenne de racine (RMSE):[ MSE carré les erreurs avant la moyenne, pénalisant les erreurs importantes plus fortement. RMSE est la racine carrée de MSE, retournant la métrique à l'échelle originale.

R-carré: Représente la proportion de variance dans la variable cible expliquée par le modèle. Les valeurs varient de 0 à 1, avec des valeurs plus élevées indiquant une meilleure adaptation.

Erreur moyenne absolue de pourcentage (MAPE):[ Exprime l'erreur en pourcentage des valeurs réelles, ce qui la rend indépendante de l'échelle et facile à interpréter dans différents contextes.

Statistiques des pays les moins avancés

Les mesures techniques ne correspondent pas toujours aux objectifs commerciaux. Envisager de développer des mesures personnalisées qui mesurent directement la valeur commerciale. Par exemple, dans la détection de la fraude, le coût des faux positifs (opérations légitimes signalées comme étant des fraudes) et des faux négatifs (opérations frauduleuses omises) peut différer considérablement.

Déboguer les modèles d'apprentissage automatique

Lorsque les modèles sont sous-performants, le débogage systématique aide à identifier et à résoudre les problèmes de façon efficace.

Démarrer simplement

Commencez par des modèles simples et des caractéristiques simples. Une régression logistique ou un arbre de décision établit si le problème est appris avec les données disponibles. Si les modèles simples fonctionnent bien, la complexité peut être inutile. S'ils fonctionnent mal, le problème peut être dans la qualité des données ou l'ingénierie des caractéristiques plutôt que le choix du modèle.

Analyser les courbes d'apprentissage

Les courbes d'apprentissage révèlent si les modèles souffrent de biais élevés (à la fois le plateau des courbes à faible performance) ou de variance élevée (grand écart entre la formation et la performance de validation).

Examiner les prévisions

Examinez des exemples précis où le modèle fonctionne mal. Analysez des exemples mal classés dans la classification ou des erreurs de régression importantes. Les modèles d'erreurs révèlent souvent des problèmes de qualité des données, des caractéristiques manquantes ou des biais systématiques.

Analyse de l'importance de la caractéristique

Examiner les caractéristiques les plus importantes du modèle. L'importance inattendue de la caractéristique peut indiquer une fuite de données, tandis que des caractéristiques importantes avec une faible corrélation avec la cible peuvent suggérer des interactions complexes que le modèle a apprises.

Études d'ablation

Enlevez systématiquement les éléments (caractères, couches, régularisation) pour comprendre leur contribution, ce qui aide à identifier les éléments essentiels et qui ajoutent une complexité inutile.

Techniques avancées de dépannage

Méthodes de l'ensemble

Lorsque les modèles individuels sont sous-performants, les méthodes d'ensemble combinent plusieurs modèles pour améliorer les prédictions. Le marquage (Bootstrap Agrégating) entraîne plusieurs modèles sur différents sous-ensembles de données et les moyennes de leurs prédictions, réduisant ainsi la variance.

Transfert de l'apprentissage

Pour les domaines où les données de formation sont limitées, le transfert de connaissances tire parti des connaissances acquises dans des tâches connexes.

Apprentissage actif

Lorsque les données d'étiquetage sont coûteuses, l'apprentissage actif identifie les exemples les plus instructifs pour l'étiquetage. Le modèle suggère quels exemples non étiquetés amélioreraient le plus le rendement si l'étiquetage était apposé, maximisant la valeur des budgets d'étiquetage limités.

Validation de l'adversaire

Former un classificateur pour distinguer les données d'entraînement et les données d'essai. Si ce classificateur atteint une grande précision, la répartition de l'entraînement et des essais diffère considérablement, ce qui suggère que le modèle ne se généralise pas bien.

Considérations relatives à la production

Les modèles qui fonctionnent bien en développement peuvent échouer dans la production en raison de facteurs non pris en compte pendant la formation.

Exécution du modèle de surveillance

Surveillance continue des prévisions des modèles et des mesures de rendement dans la production.Les performances dégradantes peuvent indiquer une dérive conceptuelle (changements dans la relation entre les caractéristiques et les cibles) ou une dérive des données (changements dans la distribution des caractéristiques).

Version de modèle

Suivez les versions de modèles, les données de formation, les hyperparamètres et les mesures de performance. Cela permet de reproductibilité et permet de retourner aux versions précédentes si les nouveaux modèles ne sont pas performants.

Essai A/B

Avant de déployer pleinement de nouveaux modèles, testez-les sur un sous-ensemble de trafic aux côtés des modèles existants. Comparez les mesures d'affaires (et non seulement les mesures de modèle) pour garantir que les nouveaux modèles offrent une valeur réelle.

Explicabilité et interprétabilité

Les intervenants doivent souvent comprendre pourquoi les modèles font des prédictions spécifiques. Les techniques comme SHAP (SHapley Additive exPlanations) et LIME (Local Interpretable Model-agnostic Explaints) fournissent des renseignements sur les décisions des modèles.

Pièges communs dans des algorithmes spécifiques

Réseaux neuronaux

Les réseaux neuraux sont particulièrement susceptibles de sur-adapter en raison de leur grande capacité. Les problèmes courants comprennent la disparition ou l'explosion des gradients (abordés par une initialisation soigneuse, une normalisation par lots et un coupe-clip), les neurones morts (neurons qui arrêtent l'apprentissage, souvent en raison de fonctions d'activation inappropriées ou de taux d'apprentissage) et l'effondrement du mode dans les modèles générateurs.

Arbres de décision et forêts aléatoires

Les arbres de décision sont un algorithme d'apprentissage automatique non paramétrique très flexible et soumis à des données d'entraînement sur-adaptées. Ce problème peut être résolu en tailler un arbre après qu'il a appris afin d'enlever certains des détails qu'il a ramassés. Les forêts aléatoires réduisent l'ajustement excessif par la moyenne d'ensemble, mais peuvent encore lutter avec l'extrapolation au-delà de la plage de données d'entraînement.

Support des machines vectorielles

Les SVM sont sensibles à l'échelle des caractéristiques et au choix du noyau. Le paramètre de régularisation C contrôle le compromis entre maximiser la marge et minimiser l'erreur d'entraînement.

Amélioration du gradient

Les modèles de stimulation graduée comme XGBoost et LightGBM sont puissants mais peuvent sur-adapter si pas correctement régularisés. Les hyperparamètres clés comprennent le taux d'apprentissage, la profondeur des arbres, et le nombre d'estimateurs.

Flux de travail pratique pour le dépannage

Établir une approche systématique pour diagnostiquer et résoudre les problèmes d'apprentissage automatique :

  1. Définir les critères de succès :[ Établir des objectifs clairs et mesurables qui correspondent aux objectifs opérationnels avant de commencer à se développer.
  2. Établir des données de base :[ Créer des modèles de base simples pour comprendre les performances minimales acceptables et déterminer si le problème est instructible.
  3. Mise en oeuvre Validation robuste:[ Utiliser des ensembles de tests de validation croisée et de maintien pour obtenir des estimations de performance fiables.
  4. Démarrer Simple, ajouter la complexité graduellement: Commencez par des modèles et des fonctionnalités simples, ajoutant la complexité seulement lorsque justifié par des améliorations de performance.
  5. Moniteur pour les fuites de données:[ Vérification minutieuse des caractéristiques et des étapes de prétraitement pour s'assurer qu'aucune fuite d'information ne se produit.
  6. Analyze Errors Systematically: Examiner les courbes d'apprentissage, les matrices de confusion et les erreurs de prédiction spécifiques pour identifier les modèles.
  7. Itérer en se basant sur des preuves : Apporter des changements fondés sur des idées diagnostiques plutôt que sur l'intuition, et valider que les changements améliorent le rendement.
  8. Document Tout: Enregistrer les expériences, les hyperparamètres et les résultats pour construire des connaissances institutionnelles et permettre la reproductibilité.

Outils et ressources pour les ingénieurs en apprentissage automatique

De nombreux outils peuvent aider à identifier et à résoudre les pièges de l'apprentissage automatique:

Scikit-learn:[ Fournit des outils complets pour le prétraitement, la sélection de modèles et l'évaluation avec des API cohérentes. Sa documentation détaillée comprend des pratiques exemplaires pour éviter les pièges communs.

TensorBoard:[ Visualise les mesures de formation, les graphiques de modèle et les ancrages pour les modèles TensorFlow et PyTorch, aidant à identifier les problèmes de formation.

Poids & Biases: Trace les expériences, visualise les résultats et facilite la collaboration entre les équipes, ce qui facilite l'identification de ce qui fonctionne et de ce qui ne fonctionne pas.

MLflow: Gère le cycle de vie complet de l'apprentissage automatique, y compris l'expérimentation, la reproductibilité et le déploiement.

Great Attentes:[ Valide la qualité des données et détecte la dérive des données, aidant à prévenir les problèmes avant qu'ils n'affectent les performances du modèle.

Pour les ressources d'apprentissage supplémentaires, la documentation Scikit-apprendre sur les pièges communs fournit une excellente orientation, tandis que DeepLearning.AI offre des cours complets sur les meilleures pratiques d'apprentissage automatique.

Conclusion

Le développement de la machine-apprentissage implique la navigation de nombreux pièges potentiels, de l'adaptation excessive et la sous-adaptation aux fuites de données et à la mauvaise qualité des données.

L'équilibre entre le surajustement et le sous-ajustement permet aux ingénieurs d'identifier la gamme optimale où un modèle d'apprentissage automatique passe de la simplicité rigide à une généralisation significative sans devenir trop complexe. Cet équilibre, combiné à une attention particulière à la qualité des données, aux techniques de validation appropriées et à l'ingénierie des fonctionnalités réfléchies, constitue la base de systèmes d'apprentissage automatique fiables.

Les ingénieurs doivent rester à l'affût des développements, apprendre auprès de la communauté et perfectionner continuellement leurs compétences en matière de dépannage. En combinant la compréhension théorique avec l'expérience pratique et les approches systématiques de débogage, les ingénieurs peuvent construire des modèles d'apprentissage machine robustes et fiables qui offrent une réelle valeur commerciale.

N'oubliez pas que l'apprentissage automatique est intrinsèquement itératif. Rarement, le premier modèle réussit. Embrassez l'expérimentation, apprenez des échecs et appliquez les techniques de dépannage décrites dans ce guide pour améliorer systématiquement les performances du modèle.