Dataset Bias
El sesgo del conjunto de datos es la discrepancia entre los datos de entrenamiento y el mundo en el que se utiliza un modelo, lo que provoca una precisión desigual. Explica los principales tipos, ofrece ejemplos y muestra cómo detectarlo y corregirlo.
El sesgo del conjunto de datos es una discrepancia sistemática entre los datos usados para entrenar un modelo de aprendizaje automático y las personas, los lugares o las condiciones a los que se destina el modelo. Los modelos aprenden todas las regularidades presentes en sus datos de entrenamiento, incluidos los efectos accidentales del proceso de recopilación; por eso, un conjunto de datos sesgado produce un modelo que funciona bien en las situaciones que ha visto a menudo y mal en las demás. Como los datos de prueba suelen proceder de la misma recopilación, el problema a menudo permanece oculto hasta el despliegue. Antonio Torralba y Alexei Efros lo demostraron en 2011 con un juego llamado «Name That Dataset»: un clasificador sencillo podía determinar, con una probabilidad muy superior al azar, de cuál de los 12 conjuntos de datos de imágenes populares procedía una imagen, porque cada colección tenía un estilo reconocible propio.
Tipos de sesgo en conjuntos de datos#
- Sesgo de selección: Los datos proceden de fuentes convenientes en lugar de la población objetivo. Las fotos de internet se inclinan hacia entornos occidentales y acomodados, y los servicios comerciales de reconocimiento de objetos tenían una precisión aproximadamente un 10 % menor con artículos domésticos de hogares con ingresos inferiores a 50 dólares estadounidenses al mes que con los de hogares con ingresos superiores a 3500 dólares; además, la diferencia era de entre 15 y 20 puntos entre los artículos fotografiados en Estados Unidos y los fotografiados en Somalia o Burkina Faso.
- Sesgo de representación: Algunos grupos o clases aparecen con tan poca frecuencia que el modelo no puede aprender a reconocerlos. La auditoría Gender Shades detectó que los clasificadores comerciales de género clasificaban erróneamente a mujeres de piel más oscura hasta en el 34,7 % de los casos, frente a un máximo del 0,8 % en el caso de los hombres de piel más clara. En la detección de objetos, una larga cola de clases poco frecuentes plantea el mismo problema a nivel de clase.
- Sesgo de medición y captura: Las cámaras, los sensores, los sitios y la iluminación difieren entre los datos y el entorno de despliegue. Los modelos de aprendizaje profundo para detectar neumonía en radiografías de tórax también podían identificar de qué hospital procedía una imagen; como las tasas de neumonía variaban entre hospitales, esa señal inflaba la precisión y se generalizaba mal a nuevos centros, una forma de aprendizaje por atajos.
- Sesgo de etiquetado: El etiquetado de datos refleja los juicios de quienes anotan los datos, directrices incoherentes o decisiones históricas, y el modelo trata esos patrones como la verdad fundamental.
- Sesgo temporal: Los datos recopilados en un periodo dejan de representar el mundo a medida que cambian la moda, los productos y los vehículos.
Cómo se manifiesta el sesgo en los conjuntos de datos#
Un modelo de percepción para conducción autónoma entrenado principalmente en climas soleados y secos detecta a los peatones con menos fiabilidad cuando nieva, llueve o está oscuro; para reducir esta diferencia, los equipos que desarrollan vehículos autónomos para la IA en la automoción recopilan datos nocturnos y de mal tiempo. En el análisis de imágenes médicas, los modelos dermatológicos entrenados con colecciones dominadas por pieles claras ofrecen peores resultados con pieles oscuras, y los sistemas de reconocimiento facial muestran las diferencias demográficas medidas por Gender Shades. En cada caso, la precisión general parece alta porque la mayoría domina el promedio.
El fragmento de código siguiente ilustra este mecanismo con scikit-learn. El grupo B sigue un patrón distinto del grupo A, y se entrena el mismo bosque aleatorio dos veces con 1000 muestras: primero con el grupo B, que representa el 2 % de los datos, y luego con los grupos equilibrados:
import numpy as np
from sklearn.ensemble import RandomForestClassifier
rng = np.random.default_rng(0)
def sample(n, group):
"""Draw n points from group A (label set by feature 0) or group B (label set by feature 1)."""
center = 0.0 if group == "A" else 3.0
X = rng.normal(center, 1.0, size=(n, 2))
return X, X[:, 0 if group == "A" else 1] > center
for n_a, n_b in [(980, 20), (500, 500)]: # skewed, then balanced training sets of the same size
Xa, ya = sample(n_a, "A")
Xb, yb = sample(n_b, "B")
model = RandomForestClassifier(random_state=0).fit(np.vstack([Xa, Xb]), np.concatenate([ya, yb]))
acc = {g: model.score(*sample(2000, g)) for g in "AB"} # held-out accuracy per group
print(f"train A:B = {n_a}:{n_b} -> accuracy on A {acc['A']:.3f}, on B {acc['B']:.3f}")Entrenado con el conjunto sesgado, el modelo acierta siempre con el grupo A (1.000), pero solo acierta el 76,8 % de las veces con el grupo B. Al equilibrar las mismas 1000 muestras, la puntuación del grupo B sube al 98,3 %, mientras que la del grupo A baja ligeramente, al 97,2 %. En un conjunto de prueba con una proporción 98:2, igual que la de los datos de entrenamiento sesgados, el primer modelo obtendría una puntuación general de alrededor del 99,5 %, lo que ocultaría por completo la diferencia.
Sesgo del conjunto de datos frente a conceptos relacionados#
- Sesgo algorítmico: Sesgo introducido por el diseño, el objetivo o el despliegue de un modelo; por ejemplo, una función de pérdida que favorece a las clases mayoritarias. El sesgo del conjunto de datos es una de las causas principales del sesgo algorítmico, y ambos suelen acumularse.
- Sesgo en la IA: Término general para la injusticia sistemática en los sistemas de IA, opuesto a la equidad en la IA. El estándar del NIST para identificar y gestionar el sesgo en la IA clasifica sus fuentes en categorías sistémicas, humanas y estadísticas o computacionales; los conjuntos de datos no representativos pertenecen a la última.
- Deriva de datos: Cambio en la distribución de entrada después del despliegue. El sesgo del conjunto de datos está presente desde el momento de la recopilación, mientras que la deriva abre una brecha más adelante, incluso si los datos originales eran representativos.
Detección y reducción del sesgo en conjuntos de datos#
La detección de sesgos en conjuntos de datos de visión empieza con la documentación y la evaluación desglosada. Datasheets for Datasets propone registrar quién recopiló los datos, cómo y con qué finalidad, para que los usuarios puedan valorar a quién representan. La evaluación debe incluir métricas por grupo, ubicación, cámara o condición, junto con una matriz de confusión para cada segmento, en lugar de una sola media. Examinar los datos también ayuda: en Ultralytics Platform, la pestaña Classes de cada conjunto de datos muestra en un gráfico el recuento de anotaciones por clase e incluye una opción de escala logarítmica para los datos desequilibrados; el panel Clustering representa las incrustaciones de imágenes coloreadas por clase o partición, de modo que las lagunas de cobertura se detectan antes del entrenamiento.
Las soluciones dependen de la causa. Recopilar datos específicos para los segmentos con peores resultados aborda directamente el problema, y el aprendizaje activo ayuda a elegir qué imágenes nuevas etiquetar. El aumento de datos introduce variaciones de iluminación, orientación y escala, mientras que los datos sintéticos pueden cubrir condiciones poco frecuentes, como escenas nocturnas o defectos inusuales. Reponderar o sobremuestrear los ejemplos infrarrepresentados, u optimizar para el grupo con peores resultados mediante la optimización robusta frente a distribuciones, cambia qué aspectos recompensa el entrenamiento. Tras el despliegue, la supervisión de modelos desglosada por segmento detecta las diferencias que surgen a medida que cambian las condiciones.










