Le module précédent a présenté le modèle suivant, qui a mal catégorisé de nombreux arbres dans l'ensemble de test:
Le modèle précédent contient de nombreuses formes complexes. Un modèle plus simple serait-il plus adapté aux nouvelles données ? Supposons que vous remplaciez le modèle complexe par un modèle ridiculement simple : une ligne droite.
Le modèle simple se généralise mieux que le modèle complexe avec de nouvelles données. Autrement dit, le modèle simple a généré de meilleures prédictions sur l'ensemble de test que le modèle complexe.
La simplicité l'emporte depuis longtemps sur la complexité. En fait, la préférence pour la simplicité remonte à la Grèce antique. Des siècles plus tard, un moine du XIVe siècle nommé Guillaume d'Ockham a formalisé la préférence pour la simplicité dans une philosophie connue sous le nom de rasoir d'Ockham. Cette philosophie reste un principe sous-jacent essentiel de nombreuses sciences, y compris le machine learning.
Exercices: Testez vos connaissances
Vous développez une équation de physique. Parmi les formules suivantes, laquelle se rapproche le plus du rasoir d'Ockham ?
Formule avec trois variables
Trois variables sont plus conformes au rasoir d'Ockham que douze variables.
Formule avec douze variables.
Douze variables semblent trop compliquées, n'est-ce pas ?
Les deux formules de physique les plus célèbres de tous les temps (F=ma et E=mc2) ne comportent chacune que trois variables.
Vous travaillez sur un tout nouveau projet de machine learning et vous êtes sur le point de sélectionner vos premières fonctionnalités. Combien de fonctionnalités devez-vous choisir ?
Choisissez une à trois caractéristiques qui semblent avoir une forte capacité prédictive.
Il est préférable que votre pipeline de collecte de données ne commence qu'avec une ou deux fonctionnalités. Cela vous aidera à vérifier que le modèle de ML fonctionne comme prévu.
De plus, lorsque vous créez une référence à partir de quelques fonctionnalités, vous aurez le sentiment de progresser.
Choisissez quatre à six caractéristiques qui semblent avoir une forte capacité prédictive.
Vous finirez peut-être par utiliser autant de fonctionnalités, mais il est préférable de commencer par moins. Moins de fonctionnalités signifie généralement moins de complications inutiles.
Choisissez autant de caractéristiques que possible afin de pouvoir commencer à observer celles qui ont le pouvoir prédictif le plus fort.
Commencez par des étapes plus petites. Chaque nouvelle fonctionnalité ajoute une nouvelle dimension à votre ensemble de données d'entraînement. Lorsque la dimensionnalité augmente, le volume de l'espace augmente si rapidement que les données d'entraînement disponibles deviennent rares. Plus vos données sont éparses, plus il est difficile pour un modèle d'apprendre la relation entre les caractéristiques qui comptent vraiment et l'étiquette. Ce phénomène est appelé "malédiction de la dimensionnalité".
Régularisation
Les modèles de machine learning doivent répondre simultanément à deux objectifs contradictoires:
Ajustez bien les données.
Ajustez les données aussi simplement que possible.
Une approche permettant de simplifier un modèle consiste à pénaliser les modèles complexes, c'est-à-dire à forcer le modèle à devenir plus simple pendant l'entraînement. La pénalisation des modèles complexes est une forme de régularisation.
Perte et complexité
Jusqu'à présent, ce cours a suggéré que le seul objectif de l'entraînement était de minimiser la perte, c'est-à-dire:
$$\text{minimize(loss)}$$
Comme vous l'avez vu, les modèles axés uniquement sur la minimisation des pertes ont tendance à surajuster.
Un meilleur algorithme d'optimisation de l'entraînement minimise une combinaison de perte et de complexité:
$$\text{minimize(loss + complexity)}$$
Malheureusement, la perte et la complexité sont généralement inversement proportionnelles. À mesure que la complexité augmente, la perte diminue. À mesure que la complexité diminue, la perte augmente.
Vous devez trouver un juste milieu raisonnable où le modèle effectue de bonnes prédictions à la fois sur les données d'entraînement et sur les données réelles.
Autrement dit, votre modèle doit trouver un compromis raisonnable entre la perte et la complexité.
Qu'est-ce que la complexité ?
Vous avez déjà vu plusieurs façons de quantifier les pertes. Comment quantifier la complexité ? Commencez votre exploration avec l'exercice suivant:
Exercice: Vérifier votre intuition
Jusqu'à présent, nous avons été assez vagues sur la définition de la complexité. Quelles idées, selon vous, seraient des métriques de complexité raisonnables ?
La complexité est fonction des pondérations du modèle.
Oui, c'est une façon de mesurer la complexité de certains modèles.
Cette métrique est appelée régularisation L1.
La complexité est fonction du carré des pondérations du modèle.
Oui, vous pouvez mesurer la complexité de certains modèles de cette manière. Cette métrique est appelée régularisation L2.
La complexité est une fonction des biais de toutes les caractéristiques du modèle.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/14 (UTC).
[null,null,["Dernière mise à jour le 2024/11/14 (UTC)."],[[["Simpler models often generalize better to new data than complex models, even if they perform slightly worse on training data."],["Occam's Razor favors simpler explanations and models, prioritizing them over more complex ones."],["Regularization techniques help prevent overfitting by penalizing model complexity during training."],["Model training aims to minimize both loss (errors on training data) and complexity for optimal performance on new data."],["Model complexity can be quantified using functions of model weights, like L1 and L2 regularization."]]],[]]