1 votos

¿Cómo se seleccionan y entrenan los modelos?

He leído otros mensajes aquí. Pero todavía estoy confundido. Por lo que he entendido hay dos procedimientos:

1) Dividir los datos en conjunto de entrenamiento, validación y prueba. En este caso, mi preocupación es que una vez que hemos elegido el modelo, ¿combinamos el conjunto de validación y entrenamiento para entrenar el modelo seleccionado y luego informamos del error en el conjunto de prueba o no combinamos el conjunto de validación y entrenamiento?

2) Validación cruzada : En este caso, una vez que tenemos el modelo, ¿lo entrenamos en todo el conjunto de datos o reservamos algunos como conjunto de prueba? ¿Cuál es la medida de rendimiento final del modelo?

Por favor, aclare lo que se hace, he leído por internet pero no encuentro ninguna respuesta concluyente al respecto.

1voto

Vitaly Puntos 53

1) En general, sí, puedes añadir los conjuntos de entrenamiento y validación para el entrenamiento final porque, de lo contrario, estarías desechando el conjunto de validación (en realidad no del todo, ya que habrías utilizado la información de éste para seleccionar un modelo, pero más o menos).

2) Del modelo entrenado en todo el conjunto de datos, esperar un rendimiento igual al rendimiento medio en los pliegues de CV. Parece una especie de acto de fe porque no se ve realmente el rendimiento completo del modelo en casos concretos, lo sé, pero se acepta en la práctica.

0voto

Tom Pape Puntos 185

Para informar sobre la calidad de su modelo en el aprendizaje automático, siempre se dividen los datos en dos partes, el conjunto de datos de entrenamiento (normalmente 2/3 de los datos) y el conjunto de datos de prueba (normalmente 1/3 de los datos). Con el conjunto de datos de entrenamiento se ajusta el modelo y con el conjunto de datos de prueba se evalúa el modelo. Se informa de la calidad de la predicción del conjunto de datos de prueba.

Leyendo la página de Wikipedia sobre "Validación cruzada (estadística)", la validación cruzada básicamente extrae al azar una muestra de, digamos 2/3, los datos una y otra vez como conjunto de datos de entrenamiento y lo evalúa siempre con el conjunto de datos de prueba restante. Se informa de la calidad de predicción media de los conjuntos de datos de prueba en todas las iteraciones. Por lo tanto, las validaciones cruzadas de varias iteraciones hacen un uso más eficaz de los datos que una división de una sola iteración en el conjunto de datos de entrenamiento y de prueba.

Dicho esto, cuando aplique su modelo de aprendizaje automático para observaciones en las que no conozca la clasificación o la variable dependiente, por supuesto entrenará su modelo de antemano en todos los datos con clasificación o variable dependiente conocida que tenga.

0voto

jmdelvecchio Puntos 23

El objetivo de la validación de modelos es evitar que un modelo se adapte demasiado a los datos o no se adapte lo suficiente, evaluando el poder predictivo del modelo. Un modelo que se ajusta en exceso a los datos es demasiado complejo y capta tanto la señal como el ruido de los datos. Un modelo que se ajusta poco a los datos no es lo suficientemente complejo y tiene dificultades para captar la señal.

Existen varios métodos para llevar a cabo la validación:

1 : Un enfoque sería dividir su conjunto de datos en un conjunto de entrenamiento y uno de prueba (aproximadamente una división de 70/30). De este modo, se puede evaluar el grado de generalización del modelo a los datos de prueba no vistos. Por ejemplo, con un modelo lineal simple, haríamos predicciones sobre los datos de prueba y utilizaríamos el error cuadrático medio (ECM) como medida del rendimiento predictivo.

2: El segundo enfoque sería utilizar la validación cruzada (k fold cv). En este enfoque el conjunto de datos se divide en k subconjuntos disjuntos llamados pliegues. A continuación, para cada uno de los subconjuntos se lleva a cabo el siguiente proceso:

2.1 : Entrene su modelo en un conjunto de datos que excluya el pliegue actual.

2.2 : Ahora haz predicciones sobre el pliegue no visto .

2.3 : Calcule una medida de rendimiento predictivo como el MSE.

$ \mbox{MSE} = \frac{\sum_{t = 1}^{N}(\hat{y_{t}} - y_{t})^2 }{N} $

Esto nos deja con $k$ medidas de rendimiento predictivo. Ahora simplemente tomamos la media de estas medidas para obtener una medida global de rendimiento predictivo, la puntuación cv. Una puntuación cv baja indicaría un buen rendimiento predictivo. Una puntuación alta indicaría que nos hemos ajustado en exceso o en defecto, es decir, que nuestro modelo no generaliza bien a los datos no vistos.

Nota: Los pliegues deben ser de tamaño similar y tener propiedades estadísticas similares. Esto puede lograrse asignando aleatoriamente puntos de datos a un pliegue.

  1. Leave one out cv (LOOCV) es un caso especial del método anterior cuando $ k = 1 $ . Cada pliegue consiste simplemente en un único punto de datos. Esto puede ser costoso desde el punto de vista computacional, ya que tenemos que ajustar el modelo $ N $ veces, donde $ N $ es el tamaño de su conjunto de datos.

  2. La validación fuera de la bolsa (OOB) es otro enfoque. En este enfoque tomamos $B$ subconjuntos aleatorios de nuestro conjunto de datos. Estos subconjuntos forman ahora los conjuntos de datos de prueba, de forma muy parecida a los pliegues en 2. El proceso procede ahora de forma muy parecida a la de 2.

Una medida en la que no se debe confiar para la validación es $ R^{2} $ . Tener un alto $ R^{2} $ no significa que su modelo tenga un alto rendimiento predictivo. Esta medida se ha calculado con los datos que ha entrenado su modelo. Sólo los datos que el modelo no ha "visto", pueden proporcionar una medida de rendimiento predictivo.

Debo señalar que si se puede calcular el AIC para un modelo, éste también puede utilizarse como medida de rendimiento predictivo. La razón es que el AIC es asintóticamente equivalente a una puntuación calculada por LOOCV.

A veces, la validación implica conjuntos de datos de entrenamiento, validación y prueba. Estoy seguro de que esta terminología y enfoque se debe a SAS. Es algo que a mí personalmente no me preocupa y sólo utilizo conjuntos de datos de entrenamiento y de prueba.

Espero que esto ayude

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X