Bias-Variance Tradeoff
La compensación entre sesgo y varianza descompone el error de predicción esperado en sesgo, varianza y ruido, y explica por qué fallan tanto los modelos demasiado simples como los demasiado complejos.
El equilibrio entre sesgo y varianza describe cómo el error esperado de un modelo con datos nuevos se divide en dos partes que responden en direcciones opuestas a la complejidad del modelo. El sesgo es el error provocado por suposiciones demasiado simples para captar el patrón real, lo que causa infraajuste. La varianza es el error provocado por la sensibilidad a los datos de entrenamiento concretos, lo que causa sobreajuste. Aumentar la flexibilidad de un modelo suele reducir el sesgo y aumentar la varianza, por lo que el menor error total se alcanza con una complejidad intermedia. Stuart Geman, Elie Bienenstock y René Doursat introdujeron esta idea en el aprendizaje automático en su artículo de 1992 «Redes neuronales y el dilema sesgo-varianza».
La descomposición del error#
La descomposición considera el mismo tipo de modelo entrenado muchas veces, cada una con un conjunto de entrenamiento nuevo extraído de la misma fuente. Para el error cuadrático, el error esperado en una entrada se divide exactamente en tres términos. El sesgo al cuadrado es la diferencia al cuadrado entre la predicción media de todos esos conjuntos de entrenamiento y el valor real; un ajuste de regresión lineal a una relación curva mantiene un sesgo alto por muchos datos que reciba. La varianza mide cuánto se dispersan las predicciones alrededor de su propia media de un conjunto de entrenamiento a otro, y es alta en los árboles de decisión profundos y las redes neuronales grandes sin regularización. El tercer término, el ruido irreducible, es la aleatoriedad de las propias etiquetas, que ningún modelo puede eliminar.
Repetir el ajuste permite medir directamente ambos términos. Este ejemplo de NumPy ajusta polinomios de grados 1, 3 y 12 a 1.000 conjuntos de entrenamiento de 20 puntos ruidosos de una onda sinusoidal:
import numpy as np
rng = np.random.default_rng(0)
x = np.linspace(0, 1, 20) # 20 training inputs, evenly spaced
x_test = np.linspace(0, 1, 200)
true_curve = np.sin(2 * np.pi * x_test)
for degree in [1, 3, 12]:
# Fit the same polynomial degree to 1,000 training sets that differ only in their label noise
predictions = []
for _ in range(1000):
y = np.sin(2 * np.pi * x) + rng.normal(0, 0.3, x.size)
predictions.append(np.polyval(np.polyfit(x, y, degree), x_test))
predictions = np.array(predictions)
# Bias^2: squared gap between the average fit and the truth; variance: spread of fits around their average
bias_sq = np.mean((predictions.mean(axis=0) - true_curve) ** 2)
variance = np.mean(predictions.var(axis=0))
print(f"Degree {degree:2d}: bias^2 = {bias_sq:.3f}, variance = {variance:.3f}")Una línea recta tiene un sesgo al cuadrado de 0,205 y una varianza de solo 0,008. Un polinomio cúbico reproduce casi a la perfección la onda sinusoidal en promedio, reduce el sesgo al cuadrado a 0,005 y duplica la varianza hasta 0,016. Un polinomio de grado 12 no tiene un sesgo apreciable, pero su varianza es de 0,074, porque se curva para seguir el ruido de cada muestra. El polinomio cúbico tiene el menor error total, y todos los modelos también soportan la varianza irreducible del ruido, que es de 0,09.
Diagnóstico del sesgo y la varianza#
Los errores de entrenamiento y validación revelan qué término predomina. Un error alto en ambos indica sesgo. Un error de entrenamiento bajo y un error de validación mucho mayor indican varianza. Las curvas de aprendizaje, que representan ambos errores en función de la cantidad de datos de entrenamiento, permiten distinguir los dos casos: la diferencia de un modelo con varianza alta se reduce al aumentar los datos, mientras que las dos curvas de un modelo con sesgo alto convergen pronto en un error alto y se mantienen ahí. En el entrenamiento de Ultralytics YOLO, el argumento fraction entrena con parte de la división de entrenamiento, por ejemplo fraction=0.25 para el primer cuarto de sus imágenes, mientras que la validación sigue usando toda la división de validación; así, unas cuantas ejecuciones de YOLO26 con fracciones crecientes trazan una curva de aprendizaje para un conjunto de datos personalizado.
Control del equilibrio#
La varianza disminuye con más datos, la ampliación de datos, la regularización, como la penalización de pesos y el dropout, la parada temprana y el promedio de muchos modelos, como hacen el bagging y los bosques aleatorios. El sesgo disminuye con un modelo más grande, una ingeniería de características más rica, una regularización más débil, un entrenamiento más largo y el boosting, que añade modelos para corregir los errores acumulados del conjunto de modelos. El ajuste de hiperparámetros y la validación cruzada permiten elegir el ajuste en el que ambos términos están equilibrados con datos reservados.
La clásica curva en forma de U del error de prueba frente a la complejidad se cumple en una familia fija de modelos, como los polinomios de grado creciente. Las redes neuronales muy sobredimensionadas pueden superar ese punto: el error de prueba aumenta cuando el modelo se acerca al tamaño que permite ajustar perfectamente cada punto de entrenamiento y, después, vuelve a disminuir al seguir creciendo; este patrón se denomina doble descenso. El sesgo y la varianza siguen sumándose para formar el error, pero la varianza ya no aumenta de forma constante con el número de parámetros.
Sesgo estadístico y otros tipos de sesgo#
El sesgo de este equilibrio es una propiedad de un algoritmo de aprendizaje aplicado a una tarea. El sesgo en la IA se refiere a la falta de equidad sistemática hacia grupos de personas, mientras que el sesgo de los conjuntos de datos se refiere a datos de entrenamiento que representan mal el entorno de despliegue, como ocurre cuando escasean las imágenes de tráfico nocturno. Un modelo puede tener poco sesgo estadístico y seguir siendo injusto, porque puede ajustar con precisión un conjunto de datos sesgado, incluido ese sesgo.










