Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
En la unidad anterior, se presentó el siguiente modelo, que categorizó de forma incorrecta muchos árboles en el conjunto de prueba:
Figura 16: El modelo complejo con comportamiento incorrecto de la unidad anterior.
El modelo anterior contiene muchas formas complejas. ¿Un modelo más simple manejaría mejor los datos nuevos? Supongamos que reemplazas el modelo complejo por un modelo ridículamente simple: una línea recta.
Figura 17: Un modelo mucho más simple.
El modelo simple generaliza mejor que el modelo complejo en datos nuevos. Es decir, el modelo simple hizo mejores predicciones en el conjunto de prueba que el modelo complejo.
La simplicidad ha estado superando a la complejidad durante mucho tiempo. De hecho, la preferencia por la simplicidad se remonta a la antigua Grecia. Siglos después, un fraile del siglo XIV llamado Guillermo de Ockham formalizó la preferencia por la simplicidad en una filosofía conocida como navaja de Ockham. Esta filosofía sigue siendo un principio subyacente esencial de muchas ciencias, incluido el aprendizaje automático.
Ejercicios: Comprueba tu comprensión
Estás desarrollando una ecuación de física. ¿Cuál de las siguientes fórmulas se ajusta más a la navaja de Occam?
Una fórmula con tres variables.
Tres variables son más compatibles con la navaja de Occam que doce.
Una fórmula con doce variables.
Doce variables parecen demasiado complicadas, ¿no? Las dos fórmulas de física más famosas de todos los tiempos (F=ma y E=mc2) solo involucran tres variables.
Estás en un proyecto de aprendizaje automático nuevo y estás a punto de seleccionar tus primeras funciones. ¿Cuántas características debes elegir?
Elige entre 1 y 3 atributos que parecen tener un gran poder predictivo.
Es mejor que tu canalización de recopilación de datos comience con solo una o dos funciones. Esto te ayudará a confirmar que el modelo de AA funciona según lo previsto. Además, cuando crees un modelo de referencia a partir de un par de atributos, sentirás que estás progresando.
Elige entre 4 y 6 atributos que parecen tener un gran poder predictivo.
Es posible que, con el tiempo, uses esta cantidad de funciones, pero es mejor comenzar con menos. Menos atributos suelen significar menos complicaciones innecesarias.
Elige tantas funciones como puedas para comenzar a observar cuáles tienen el poder predictivo más fuerte.
Empieza de a poco. Cada función nueva agrega una dimensión nueva a tu conjunto de datos de entrenamiento. Cuando aumenta la dimensionalidad, el volumen del espacio aumenta tan rápido que los datos de entrenamiento disponibles se vuelven escasos. cuanto más dispersos sean tus datos, más difícil será para un modelo aprender la relación entre los atributos que realmente importan y la etiqueta. Este fenómeno se denomina “la maldición de la dimensionalidad”.
Regularización
Los modelos de aprendizaje automático deben cumplir simultáneamente con dos objetivos en conflicto:
Se ajustan bien a los datos.
Adapta los datos de la forma más sencilla posible.
Un enfoque para mantener un modelo simple es penalizar los modelos complejos, es decir, forzar al modelo a simplificarse durante el entrenamiento. Penalizar los modelos complejos es una forma de regularización.
Pérdida y complejidad
Hasta ahora, este curso sugirió que el único objetivo durante el entrenamiento era minimizar la pérdida, es decir:
$$\text{minimize(loss)}$$
Como viste, los modelos enfocados únicamente en minimizar la pérdida tienden a sobreajustarse. Un mejor algoritmo de optimización del entrenamiento minimiza alguna combinación de pérdida y complejidad:
$$\text{minimize(loss + complexity)}$$
Lamentablemente, la pérdida y la complejidad suelen tener una relación inversa. A medida que aumenta la complejidad, disminuye la pérdida. A medida que disminuye la complejidad, aumenta la pérdida. Debes encontrar un punto medio razonable en el que el modelo realice buenas predicciones en los datos de entrenamiento y en los datos del mundo real. Es decir, tu modelo debe encontrar un compromiso razonable entre la pérdida y la complejidad.
¿Qué es la complejidad?
Ya viste algunas formas diferentes de cuantificar las pérdidas. ¿Cómo cuantificarías la complejidad? Comienza tu exploración con el siguiente ejercicio:
Ejercicio: Comprueba tu intuición
Hasta ahora, hemos sido bastante vagos sobre lo que es realmente la complejidad. ¿Cuál de las siguientes ideas crees que sería una métrica de complejidad razonable?
La complejidad es una función de los pesos del modelo.
Sí, esta es una forma de medir la complejidad de algunos modelos. Esta métrica se denomina regularización L1.
La complejidad es una función del cuadrado de los pesos del modelo.
Sí, puedes medir la complejidad de algunos modelos de esta manera. Esta métrica se denomina regularización L2.
La complejidad es una función de los sesgos de todos los atributos del modelo.
[null,null,["Última actualización: 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,["The 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\nExercises: Check your understanding \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\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\nLoss 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\nYou've already seen a few different ways of quantifying loss. How would\nyou quantify complexity? Start your exploration through the following exercise:\n\nExercise: Check your intuition \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)"]]