Un modelo y su error
¿Cómo se mide qué tan equivocado está un modelo?
Lección completa
Si quieres:
Ya sabes que un modelo es una regla con números ajustables. Construyamos el más sencillo con un caso inventado: diez estudiantes, las horas que estudió cada uno y la calificación que sacó.
Sin voz: la lección avanza sola con subtítulos.
La voz de esta lección está en preparación: por ahora avanza sola con subtítulos.
Modo revisiónComentar este pasoTerminé la lección
Qué lograrás
- Leer una recta por sus dos parámetros, el peso (cuánto sube por cada unidad de la entrada) y el sesgo (su altura cuando la entrada vale cero), y calcular con ellos una predicción.
- Calcular el error de un punto y explicar por qué se eleva al cuadrado antes de promediar: los signos dejan de cancelarse y los errores grandes pesan más.
- Calcular la pérdida (MSE) de unos pocos puntos y reconocer que aprender es elegir los parámetros que la dejan lo más baja posible.
Ideas clave
- Una recta sube (o baja) a ritmo constante. Su peso w, la pendiente, es cuánto sube la predicción por cada unidad de la entrada; su sesgo b es la altura cuando la entrada vale cero. La predicción es w·x + b.
- El error de un punto es lo real menos lo predicho: la distancia vertical entre el punto y la recta. Sumar los errores con su signo falla, porque los positivos y los negativos se cancelan.
- Elevar cada error al cuadrado quita el signo y hace pesar más los errores grandes: un error de 2 cuenta 4; uno de 4, 16. La pérdida MSE es el promedio de esos cuadrados.
- Aprender es elegir el peso y el sesgo que dejan la pérdida lo más baja posible. Para una recta hay fórmula (mínimos cuadrados, Legendre y Gauss), pero ni así la pérdida llega a cero.
- Elevar al cuadrado es una decisión: un punto atípico puede torcer la recta, mientras que el error absoluto casi no lo escucha.
Lo que mucha gente cree
Creencia común Un buen modelo es el que pasa por todos los puntos: su pérdida debería ser cero.
Lo correcto Con datos reales siempre hay ruido, y una recta no puede pasar por todos los puntos: incluso la mejor tiene pérdida mayor que cero. Un modelo con pérdida cero en los datos de entrenamiento suele haber memorizado el ruido, y falla con casos nuevos (lección 10).
Compruébalo
Cuatro preguntas. Sin nota ni cuenta: sirven para ver si la idea quedó.
Por dentroPara quien quiere las fórmulas y el código. No hace falta para seguir el curso.
La recta, pieza por pieza
Una recta es la gráfica de (se lee «y gorro»: la predicción). El peso es la pendiente: si la entrada aumenta en , la predicción aumenta en , así que , lo que sube entre lo que avanza. El sesgo es la ordenada al origen: . En la lección, y : con 7 horas, .
El modelo y la pérdida
Con varias características (lección 2) la entrada es un vector y la predicción es : un peso por característica y un solo sesgo. Los diez estudiantes de la lección son inventados.
El error de un punto es . Con puntos, las dos pérdidas de la lección son
El MSE se mide en puntos al cuadrado. Su raíz, , vuelve a puntos: con la mejor recta de la lección, puntos de error típico. La recta de ejemplo (, ) tiene ; la recta plana del promedio, .
Por qué el cuadrado
- Es suave. es un paraboloide: tiene un único fondo y una pendiente definida en todas partes, lo que permitirá bajar por ella (lección 4). El valor absoluto tiene un pico en cero.
- Tiene fórmula. Al igualar a cero las derivadas parciales de se obtiene un sistema lineal, las ecuaciones normales.
- Tiene una justificación probabilística. Si con ruido normal , la verosimilitud es máxima justo donde el MSE es mínimo (Goodfellow et al., 2016, sec. 5.5.1, que lo llama un criterio introducido «más o menos arbitrariamente» antes de justificarlo así). Gauss lo planteó en 1809 (Theoria motus, arts. 175–179): si los errores siguen la curva normal, el sistema de valores más probable es el de menor suma de cuadrados. Con ruido de Laplace, de colas más pesadas, el criterio equivalente es el error absoluto.
- Es sensible a los atípicos. Con un solo parámetro (predecir una constante), el MSE se minimiza con la media y el error absoluto con la mediana. En los datos de la lección, la media es 64.4 y la mediana 59.5 (con diez datos, cualquier valor entre 57 y 62 minimiza el error absoluto; se toma el punto medio).
Un poco de historia
Legendre presentó los mínimos cuadrados en 1805, en un apéndice, como el principio que, a su juicio, es el «más general, más exacto y de aplicación más fácil», y que establece entre los errores «una especie de equilibrio» que impide a los extremos prevalecer. Gauss escribió en 1809 que lo usaba desde 1795 (Theoria motus, art. 186) y que, de todas las potencias pares del error, el cuadrado era «el más simple»; la prioridad se discutió (Plackett, 1972; Stigler, 1981).
En ese mismo artículo Gauss cuenta que Laplace usaba el error absoluto, propuesto antes por Boscovich. Observa que con él la recta pasa, en general, por dos de los puntos y que otro dato cualquiera podría haberse observado sin cambiar la solución, con tal de quedar del mismo lado: es lo que viste con el atípico, cuya recta absoluta no se movió al bajarle la nota. Entre los dos extremos existen pérdidas híbridas, como la de Huber (1964): cuadrática para errores pequeños y lineal para los grandes.
La mejor recta
Con y resultan y , con pérdida mínima . La mejor recta siempre pasa por el punto promedio . En forma matricial son las ecuaciones normales, (en , una columna de unos se encarga del sesgo).
Si dejamos y movemos solo , la pérdida es exactamente una parábola:
Es el valle de la última escena. El nombre «regresión» viene de Galton. En su estudio de 1886 sobre la estatura (930 hijos adultos de 205 familias) halló que la desviación de estatura de los hijos es, en promedio, dos tercios de la de sus padres: los hijos de padres muy altos tienden a ser menos altos, y los de padres muy bajos, más altos. Lo llamó «regresión hacia la mediocridad», es decir, hacia el promedio.
En código
# diez estudiantes inventados para la lección
horas = [0.5, 1.5, 2, 3, 4, 5, 6, 6.5, 8, 9]
nota = [43, 49, 52, 57, 62, 72, 73, 56, 87, 93]
n = len(horas)
mx, my = sum(horas) / n, sum(nota) / n
# mínimos cuadrados: w = cov(x, y) / var(x), b = media(y) - w * media(x)
w = sum((x - mx) * (y - my) for x, y in zip(horas, nota)) / sum((x - mx) ** 2 for x in horas)
b = my - w * mx
def perdida(w, b): # error cuadrático medio (MSE)
return sum((y - (w * x + b)) ** 2 for x, y in zip(horas, nota)) / n
print(round(w, 2), round(b, 2)) # 5.26 40.45 (mejor peso y sesgo)
print(round(perdida(w, b), 1)) # 42.5 (pérdida mínima)
print(round(perdida(0, my), 1)) # 244.0 (recta plana: predecir el promedio)
print(round(perdida(5, 40), 1)) # 45.8 (la recta de ejemplo: peso 5, sesgo 40)
Lo que viene
La fórmula cerrada sirve para una recta. En una red con miles de millones de pesos no existe, y el fondo se busca paso a paso: es el descenso del gradiente (lección 4). Y bajar la pérdida en los datos de entrenamiento no basta: hay que medirla con datos que el modelo no vio (lección 10).
Lente de decisión
Qué significa esta idea si tu trabajo es decidir, no programar.
- La función de pérdida es una decisión de negocio, no un detalle técnico. Elevar al cuadrado dice que un error grande cuesta mucho más que varios pequeños. Pregunta si eso refleja tu costo real: no es lo mismo equivocarse mucho una vez que poco muchas veces.
- Pide siempre una línea base. Aquí, predecir el promedio daba una pérdida de 244 y la mejor recta, 42.5. Un modelo complejo solo se justifica si supera a la base por un margen que pague su costo. Y pregunta en qué unidades está la métrica: el MSE está al cuadrado.
- Los datos atípicos se deciden antes de entrenar: ¿son errores de captura, que se corrigen o se descartan, o casos reales que importan? Con pérdida cuadrática, un solo caso raro puede torcer el modelo. Pide que se reporte cuánto cambia el resultado sin él.
- Una pérdida baja no garantiza un buen modelo: se midió con los mismos datos con que se ajustó, y fuera del rango visto el modelo extrapola (con doce horas, esta recta predice más de cien). La lección 10 explica cómo evaluar con datos nuevos.
Términos de la lección
- Modelo Una forma de regla con números ajustables. Una vez entrenado, es la regla aprendida.
- Parámetro Cada uno de los números que un modelo ajusta al entrenarse y en los que guarda lo aprendido.
- Característica (feature) Una medida de un ejemplo expresada como número: el número de enlaces de un correo, el brillo de un píxel. Las características de un ejemplo forman su vector.
- Datos de entrenamiento Ejemplos, cada uno con su respuesta correcta, con los que un modelo ajusta sus parámetros.
- Peso (w) En un modelo lineal, el número que multiplica a la entrada: la pendiente de la recta. Indica cuánto sube la predicción por cada unidad que aumenta la entrada.
- Sesgo (b) El término que se suma al final del modelo: la predicción cuando la entrada vale cero, es decir, la altura a la que la recta corta el eje vertical. No es el sesgo de los datos o de un modelo injusto, que es otro concepto.
- Predicción (ŷ) El número que el modelo entrega para una entrada dada. Al compararlo con el valor real se obtiene el error.
- Función de pérdida Un único número que resume qué tan equivocado está un modelo con sus datos. Entrenar es buscar los parámetros que lo hacen lo más pequeño posible.
- Error cuadrático medio (MSE) Pérdida que promedia los errores elevados al cuadrado. Castiga mucho más los errores grandes que los pequeños y se mide en las unidades de la salida, al cuadrado.
- Regresión Tarea de predecir un número (un precio, una calificación, una temperatura) en lugar de elegir una categoría. La regresión lineal usa una recta.
Transcripción completa
Fuentes
- Legendre, A.-M. (1805). Nouvelles méthodes pour la détermination des orbites des comètes (apéndice «Sur la méthode des moindres quarrés», pp. 72–73 para la cita)
- Gauss, C. F. (1809). Theoria motus corporum coelestium in sectionibus conicis solem ambientium (libro II, sección 3, arts. 175–186; traducción inglesa de C. H. Davis, 1857)
- Plackett, R. L. (1972). Studies in the History of Probability and Statistics. XXIX: The discovery of the method of least squares
- Stigler, S. M. (1981). Gauss and the Invention of Least Squares
- Huber, P. J. (1964). Robust Estimation of a Location Parameter
- Galton, F. (1886). Regression towards mediocrity in hereditary stature
- Goodfellow, I., Bengio, Y., Courville, A. (2016). Deep Learning, cap. 5, secciones 5.1.4 (Example: Linear Regression) y 5.5.1 (Conditional Log-Likelihood and Mean Squared Error)
ComentariosConversación pública de esta lección: dudas, datos por revisar, ideas.
Los comentarios viven en GitHub Discussions, en el repositorio público del curso; para escribir se necesita una cuenta de GitHub. Se cargan desde giscus.app al abrir esta sección. Las personas que revisan el curso los leen, y si un cambio se acepta, se aplica en los dos idiomas. Abrir el hilo en GitHub