¿Cuáles son las mejores medidas al validar de forma cruzada un modelo para determinar qué tan bueno es el modelo y cómo funcionará en situaciones reales?

La selección de su modelo final de aprendizaje automático es una parte vital de su proyecto.
El uso de la métrica precisa y el paradigma de selección puede dar muy buenos resultados, incluso si utiliza un algoritmo de aprendizaje muy simple o incluso incorrecto. Aquí, explico una manera muy parsimoniosa y plana.

La métrica que elija depende de sus expectativas de fin de problema. Algunas alternativas comunes son la puntuación F1 (combinación de precisión y recuperación), precisión (proporción de instancias clasificadas correctamente para todas las instancias), curva ROC o tasa de error (precisión 1).

Por ser un ejemplo, uso la tasa de error (en la siguiente figura). Primero divida los datos en 3 como conjunto de trenes, conjunto extendido, conjunto de prueba. Utilizaremos el conjunto extendido como una guía objetiva de los hiperparámetros de su algoritmo. También es posible que prefiera usar la validación X de K-fold, pero mi elección es mantener un conjunto extendido, si tengo suficiente número de instancias.

El siguiente procedimiento se puede utilizar para la selección de parámetros y la selección del modelo final. La idea es trazar el rendimiento del modelo con las líneas de precisión de plegado de prueba (conjunto extendido) y la precisión de plegado del tren. Esta gráfica debe cumplirse en un cierto punto donde ambas curvas sean consistentes en algún sentido (los puntajes del pliegue de entrenamiento y del pliegue de prueba están en niveles razonables) y después de un ligero paso comienzan a alejarse el uno del otro (el puntaje del pliegue del tren aún aumenta y el puntaje del pliegue de prueba comienza a reducirse). Este efecto desviador puede ser insuficiente o después de numerosas iteraciones de aprendizaje que probablemente sean demasiado adecuadas. Elija el mejor punto de compensación en la trama como el modelo correcto.

Ejemplo con una tasa de error que no se confunde con los valores decrecientes, por lo tanto, más bajo es mejor en ese sentido. El punto firmado es el punto de saturación donde los datos comienzan a sobre ajustarse.

Otra advertencia, no use tantos pliegues para la validación x ya que algunos de los documentos (que no pueden aparecer ahora :(), es probable que el comportamiento asintótico de la validación cruzada promocione un ajuste excesivo, por lo tanto, el uso de omisión múltiple procedimiento en lugar de dejar uno fuera si propone utilizar un número de pliegue grande.

Creo que hay dos preguntas aquí:

  • ¿Qué estadística es una buena evaluación para mi tarea?
  • cuando calculo esta estadística en los datos de mi prueba, luego la calculo en la población real, ¿estará cerca?

La primera pregunta es realmente difícil de dar una respuesta general.
¿Estás haciendo regresión?
Probablemente error cuadrático medio.
¿Clasificación?
La precisión es bastante simple, pero puede ser engañosa si tienes clases muy sesgadas. Tanto F1 como AUC son elecciones razonables. Hay libros llenos de otras opciones, y cuándo son buenos y por qué. Y ni siquiera voy a entrar en tipos de resultados más complicados.

Pero … la segunda pregunta que puedo responder!

Entonces, primero debemos hacer una suposición: que sus datos de prueba son datos reales. Que cualquier proceso aleatorio que ocurra para producir datos en el “mundo real” es el mismo que ocurrió para producir sus datos de prueba. Si no puede hacer esa suposición, entonces no puede hacer ningún reclamo general a priori sobre qué tan bien se desempeñará su modelo en la naturaleza.

Ahora se reduce a:

  • estas haciendo trampa?

y

  • ¿Qué tan grande es su conjunto de prueba?

Si está haciendo trampa, si regresa y modifica su modelo sobre la base de esta estadística, entonces la estadística generalmente estará sesgada de manera optimista (a menos que sea un tramposo terrible). Cuando está ajustando un hiperparámetro en un conjunto de desarrollo, está “haciendo trampa” en el conjunto de desarrollo. Regresará y decidirá qué valor del hiperparámetro usar en función del rendimiento que midió. Por lo tanto, el rendimiento en el conjunto de desarrollo está sesgado de manera optimista, y no puede confiar en él.

Aquí hay un pequeño experimento que voy a hacer para ilustrar esto (tengan paciencia conmigo):
Voy a buscar el torneo de golf más reciente, tomar el ganador y luego comparar su desempeño en ese torneo de golf con su desempeño promedio durante el último año. ¿Crees que será mejor o peor que el promedio? (En esta analogía, el golfista es mi hiperparámetro, el torneo es mi conjunto de desarrollo y el año hasta la fecha es mi conjunto de prueba).

Listo? ¡Ir!
Torneo más reciente: World Golf Championships-HSBC Champions
Ganador: Dustin Johnson
Puntuación: 264 en 4 rondas = 66
Promedio anual de Dustin hasta la fecha: 69

Así que tuvo un buen día cuando ganó el torneo. ¿Sorprendido? Yo tampoco. Eso no significa que el puntaje sea una forma mala o incluso sesgada de medir a los golfistas. Y Dustin Johnson sigue siendo mi mejor conjetura sobre quién fue el mejor golfista en ese torneo. (No sé nada sobre golf. ¿Es bueno?) Pero tampoco me sorprende que haya tenido un buen día para ganar (más bajo es mejor en golf. Lo sé). Debido a que elegimos nuestro valor de hiperparámetro mirando al ganador en el conjunto de desarrollo, es más probable que no hayamos detectado nuestro valor de hiperparámetro “en un buen día”.

Es por eso que tienes todo un conjunto de “prueba” prístino, que nunca miras hasta que es hora de escribir tu artículo, luego lo evalúas una vez.

Si no haces trampa, entonces la estadística será imparcial.
Su expectativa será la misma que su expectativa en la naturaleza. Ahora el único truco que queda es reducir su varianza. Puede ser afortunado o desafortunado y obtener un conjunto de pruebas muy fácil o muy difícil. Pero cuanto más grande sea el conjunto de pruebas, es menos probable que ocurra alguna de ellas. La variación disminuye con el número de instancias de prueba asintóticamente como [matemática] O (1 / n) [/ matemática]. Y existen métodos estadísticos que pueden darle intervalos de confianza en torno a su valor medido.

En otras palabras, el rendimiento en el conjunto de prueba es la mejor estimación que tiene del rendimiento en la naturaleza. Haga que el conjunto de prueba sea lo más grande posible Y no hagas trampa en el set de prueba. Sintonice el deseo de su corazón en el conjunto de desarrollo, pero solo evalúe en el conjunto de prueba una vez.

More Interesting

¿Por qué el preentrenamiento no supervisado actúa como un regularizador en arquitecturas profundas?

Cómo hacer que un estudiante de pre-varsity entienda la diferencia entre estadística paramétrica y no paramétrica

¿Podemos agregar la capa SVM como capa inferior en la arquitectura CNN para una mejor clasificación?

¿Cómo afectan los registros duplicados en el conjunto de datos de entrenamiento a un clasificador Naive Bayes?

¿Cuál es la diferencia entre lógica difusa y aprendizaje automático?

¿Cuándo las funciones coercitivas tienen un minimizador?

¿Cuáles son las características importantes para el análisis de sentimientos basado en aspectos en el enfoque de aprendizaje automático? ¿Qué algoritmos se pueden usar para extraer estas características?

¿Cómo funciona Google Deep Dream?

¿Cuáles son los mejores métodos para recopilar datos de entrenamiento para el algoritmo Naive Bayes?

¿Cuál es la diferencia entre el control óptimo adaptativo y el aprendizaje por refuerzo?

En una red neuronal, ¿cómo podemos resolver (o limitar) el problema de la saturación de las neuronas?

Karpathy mencionó durante una conferencia que es posible reemplazar la capa FC al final de una CNN con una capa de agrupación promedio. ¿Alguien lo ha intentado?

¿Cuáles son las definiciones de entrada, salida y destino en el aprendizaje automático?

¿Cuáles son los mayores desafíos en la enseñanza del aprendizaje automático?

¿Hay algún ejemplo de código de agrupación de documentos utilizando PCA o Autoencoder o algún otro algoritmo de agrupación?