Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.
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:
Figure 16 : Le modèle complexe qui ne fonctionne pas correctement de l'unité précédente.
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.
Figure 17 : Un modèle beaucoup plus simple.
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)."],[[["\u003cp\u003eSimpler models often generalize better to new data than complex models, even if they perform slightly worse on training data.\u003c/p\u003e\n"],["\u003cp\u003eOccam's Razor favors simpler explanations and models, prioritizing them over more complex ones.\u003c/p\u003e\n"],["\u003cp\u003eRegularization techniques help prevent overfitting by penalizing model complexity during training.\u003c/p\u003e\n"],["\u003cp\u003eModel training aims to minimize both loss (errors on training data) and complexity for optimal performance on new data.\u003c/p\u003e\n"],["\u003cp\u003eModel complexity can be quantified using functions of model weights, like L1 and L2 regularization.\u003c/p\u003e\n"]]],[],null,["# Overfitting: Model complexity\n\nThe previous unit introduced the following model, which miscategorized a lot\nof trees in the test set:\n**Figure 16.** The misbehaving complex model from the previous unit.\n\nThe preceding model contains a lot of complex shapes. Would a simpler\nmodel handle new data better? Suppose you replace the complex model with\na ridiculously simple model--a straight line.\n**Figure 17.** A much simpler model.\n\nThe simple model generalizes better than the complex model on new data. That is,\nthe simple model made better predictions on the test set than the complex model.\n\nSimplicity has been beating complexity for a long time. In fact, the\npreference for simplicity dates back to ancient Greece. Centuries later,\na fourteenth-century friar named William of Occam formalized the preference\nfor simplicity in a philosophy known as [Occam's\nrazor](https://wikipedia.org/wiki/Occam%27s_razor). This philosophy\nremains an essential underlying principle of many sciences, including\nmachine learning.\n| **Note:** Complex models typically outperform simple models on the training set. However, simple models typically outperform complex models on the test set (which is more important).\n\n### Exercises: Check your understanding\n\nYou are developing a physics equation. Which of the following formulas conform more closely to Occam's Razor? \nA formula with three variables. \nThree variables is more Occam-friendly than twelve variables. \nA formula with twelve variables. \nTwelve variables seems overly complicated, doesn't it? The two most famous physics formulas of all time (F=ma and E=mc^2^) each involve only three variables. \nYou're on a brand-new machine learning project, about to select your first features. How many features should you pick? \nPick 1--3 features that seem to have strong predictive power. \nIt's best for your data collection pipeline to start with only one or two features. This will help you confirm that the ML model works as intended. Also, when you build a baseline from a couple of features, you'll feel like you're making progress! \nPick 4--6 features that seem to have strong predictive power. \nYou might eventually use this many features, but it's still better to start with fewer. Fewer features usually means fewer unnecessary complications. \nPick as many features as you can, so you can start observing which features have the strongest predictive power. \nStart smaller. Every new feature adds a new dimension to your training dataset. When the dimensionality increases, the volume of the space increases so fast that the available training data become sparse. The sparser your data, the harder it is for a model to learn the relationship between the features that actually matter and the label. This phenomenon is called \"the curse of dimensionality.\"\n\nRegularization\n--------------\n\nMachine learning models must simultaneously meet two conflicting goals:\n\n- Fit data well.\n- Fit data as simply as possible.\n\nOne approach to keeping a model simple is to penalize complex models; that is,\nto force the model to become simpler during training. Penalizing complex\nmodels is one form of **regularization**.\n| **A regularization analogy:** Suppose every student in a lecture hall had a little buzzer that emitted a sound that annoyed the professor. Students would press the buzzer whenever the professor's lecture became too complicated. Annoyed, the professor would be forced to simplify the lecture. The professor would complain, \"When I simplify, I'm not being precise enough.\" The students would counter with, \"The only goal is to explain it simply enough that I understand it.\" Gradually, the buzzers would train the professor to give an appropriately simple lecture, even if the simpler lecture isn't as sufficiently precise.\n\n### Loss and complexity\n\nSo far, this course has suggested that the only goal when training was to\nminimize loss; that is: \n$$\\\\text{minimize(loss)}$$\n\nAs you've seen, models focused solely on minimizing loss tend to overfit.\nA better training optimization algorithm minimizes some combination of\nloss and complexity: \n$$\\\\text{minimize(loss + complexity)}$$\n\nUnfortunately, loss and complexity are typically inversely related. As\ncomplexity increases, loss decreases. As complexity decreases, loss increases.\nYou should find a reasonable middle ground where the model makes good\npredictions on both the training data and real-world data.\nThat is, your model should find a reasonable compromise\nbetween loss and complexity.\n\nWhat is complexity?\n-------------------\n\nYou've already seen a few different ways of quantifying loss. How would\nyou quantify complexity? Start your exploration through the following exercise:\n\n### Exercise: Check your intuition\n\nSo far, we've been pretty vague about what *complexity* actually is. Which of the following ideas do you think would be reasonable complexity metrics? \nComplexity is a function of the model's weights. \nYes, this is one way to measure some models' complexity. This metric is called [**L~1~ regularization.**](/machine-learning/glossary#L1_regularization) \nComplexity is a function of the square of the model's weights. \nYes, you can measure some models' complexity this way. This metric is called [**L~2~ regularization**](/machine-learning/glossary#L2_regularization). \nComplexity is a function of the biases of all the features in the model. \nBias doesn't measure complexity.\n| **Key terms:**\n|\n| - [L~1~ regularization](/machine-learning/glossary#L1_regularization)\n| - [L~2~ regularization](/machine-learning/glossary#L2_regularization)\n- [Regularization](/machine-learning/glossary#regularization) \n[Help Center](https://support.google.com/machinelearningeducation)"]]