1 votos

¿Cómo manejar el ajuste de los hiperparámetros, la validación cruzada y la división de entrenamiento/valor/prueba?

Actualmente estoy construyendo un modelo basado en el aprendizaje profundo.

Para ajustar mis hiperparámetros estoy utilizando la validación cruzada en los conjuntos de datos de entrenamiento/validación. De este modo, debería obtener una mejor estimación de la capacidad de generalización de mi modelo.

Ahora, me queda la elección de cómo entrenar el modelo final que se puede desplegar. He pensado en las siguientes posibilidades:

  • Entrenar en el conjunto de datos de entrenamiento/validación completo y utilizar el conjunto de prueba como "nueva" validación
  • Entrenamiento sin validación del conjunto de pruebas: ¿cómo puedo saber que no estoy sobreajustando después de un número n de épocas?
  • Utilizar el mejor modelo de la validación cruzada inicial (búsqueda de hiperparámetros) y entrenar durante más tiempo
  • Validación cruzada en el conjunto de datos completo de entrenamiento/validación/prueba y seleccionar un modelo de allí
  • ¿Otras opciones?

En el aprendizaje automático normal seleccionaría la opción 2. - pero en comparación con el aprendizaje profundo la mayoría de los modelos no tienen el problema de sobreajuste tanto.

Estoy un poco confundido sobre cómo manejar este problema y me encantaría recibir algunos de sus comentarios. Gracias de antemano.

2voto

Ladylinux Puntos 8

Bien, la validación cruzada es un gran punto de partida para el ajuste de los hiperparámetros. No hay una respuesta correcta sobre esto, pero aquí hay algunas ideas generales sobre sus métodos:

1. Entrene en el conjunto de datos de entrenamiento/validación completo y utilice el conjunto de prueba como "nueva" validación.

Supongo que esto significa que se entrena con los mejores hiperparámetros y se prueba el modelo resultante en el conjunto de pruebas. Después, no hay más cambios de hiperparámetros. Por lo general, así es como se informan las puntuaciones finales del modelo, o al menos, como deberían ser.

2. Entrenamiento sin validación del conjunto de pruebas: ¿cómo puedo saber que no estoy sobreajustando después de n número de épocas?

Esta es también una buena comprobación de cordura que debería hacer en la validación cruzada de todos modos.

3. Utilice el mejor modelo de la validación cruzada inicial (búsqueda de hiperparámetros) y entrene durante más tiempo.

Esto podría ser potencialmente un buen paso para su modelo final, siempre que tenga razones para creer que el entrenamiento adicional mejorará el sesgo y la varianza. También podría hacer una validación con un único conjunto de desvíos y hacer un gráfico de la pérdida/precisión del entrenamiento frente al desvío en función del número de épocas.

4. Validación cruzada en el conjunto de datos completo de entrenamiento/validación/prueba y seleccionar un modelo de allí.

Ah, ese es uno de los pecados capitales del aprendizaje automático. NO TOQUE SU EQUIPO DE PRUEBAS HASTA QUE HAYA TERMINADO AL 100% CON SU MODELO. NO LO MIRE. NI SIQUIERA LO HUELA. Esto se debe a que cualquier influencia del conjunto de pruebas en el modelo anula el propósito de la generalización, porque entonces no se está generalizando realmente. Utilizar el conjunto de pruebas en cualquier momento del desarrollo, excepto cuando se ha terminado al 100%, no es bueno.

5. ¿Otras opciones?

Te animo a que hagas una búsqueda en Google o busques en los apuntes de alguna asignatura universitaria sobre esto.

También, NO TODOS LOS HIPERPARÁMETROS SON IGUALES. Cambiar el número de épocas o el parámetro de regularización o la tasa de aprendizaje puede tener efectos drásticamente diferentes en el error de generalización, algunos de los cuales se pueden aplicar reglas generales y otros no. Otra cosa que hay que tener en cuenta :)

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