Creo que estás confundiendo la distribución subyacente de la cual se extraen tanto las distribuciones de entrenamiento como las de prueba, con las distribuciones de las muestras específicas de entrenamiento y prueba.
A menos que la distribución subyacente sea, por ejemplo, sensible al tiempo, cambie durante el tiempo entre, por ejemplo, la extracción de las muestras de entrenamiento y prueba, la distribución subyacente es idéntica cada vez.
El objetivo al aprender un modelo de aprendizaje automático generalmente no es aprender la distribución de entrenamiento, sino aprender la distribución subyacente latente, de la cual la distribución de entrenamiento es solo una muestra. Por supuesto, no se puede ver la distribución subyacente en realidad, pero por ejemplo, si realmente solo te importara aprender las muestras de entrenamiento, podrías simplemente memorizar las muestras de entrenamiento en una tabla de búsqueda, fin de la historia. En realidad, estás utilizando la muestra de entrenamiento como un proxy en la distribución subyacente. "Generalización" es más o menos sinónimo de "tratar de aprender la distribución subyacente, en lugar de simplemente sobreajustarse a las muestras de entrenamiento".
Para estimar qué tan bien los datos de entrenamiento, y tu modelo ajustado, coinciden con la distribución subyacente, un enfoque es extraer un conjunto de entrenamiento, un conjunto de prueba. Entrenar en el conjunto de entrenamiento, probar en el conjunto de prueba. En realidad, como es probable que estés ajustando un montón de hiperparámetros, sobreajustará estos contra el conjunto de prueba, pensará que estás obteniendo una precisión súper increíble, luego fallará horriblemente cuando pongas el modelo en producción.
Un enfoque mejor es usar la validación cruzada:
- extraer un montón de datos de entrenamiento
- dividirlos aleatoriamente en 80% de datos de entrenamiento, 20% de datos de validación/desarrollo
- ejecutar entrenamiento/prueba en esto, tomar nota de la precisión, etc.
- volver a dividir, por ejemplo, usando una semilla aleatoria diferente
- volver a ejecutar entrenamiento/evaluación
- volver a hacer esto, por ejemplo, 5, 10, 20 veces, dependiendo de la cantidad de varianza que estés viendo
- esto te dará una visión bastante realista de qué tan bien tus conjuntos de entrenamiento y modelo se están ajustando a la distribución subyacente
- es bastante general. puedes usar este enfoque para cualquier conjunto de datos i.i.d.