¿Puedes sobreajustar entrenando algoritmos de aprendizaje automático usando CV / Bootstrap?

34

Esta pregunta puede ser demasiado abierta para obtener una respuesta definitiva, pero espero que no.

Los algoritmos de aprendizaje automático, como SVM, GBM, Random Forest, etc., generalmente tienen algunos parámetros libres que, más allá de alguna guía práctica, deben ajustarse a cada conjunto de datos. Esto generalmente se hace con algún tipo de técnica de muestreo (bootstrap, CV, etc.) para ajustar el conjunto de parámetros que dan el mejor error de generalización.

Mi pregunta es, ¿puedes ir demasiado lejos aquí? La gente habla de hacer búsquedas en la cuadrícula, etc., pero ¿por qué no tratar esto simplemente como un problema de optimización y profundizar en el mejor conjunto de parámetros posible? Pregunté sobre algunos mecanismos de esto en esta pregunta, pero no ha recibido mucha atención. Tal vez la pregunta se hizo mal, pero tal vez la pregunta en sí representa un mal enfoque que la gente generalmente no hace.

Lo que me molesta es la falta de regularización. Al volver a muestrear, podría encontrar que el mejor número de árboles para crecer en un GBM para este conjunto de datos es 647 con una profundidad de interacción de 4, pero ¿qué tan seguro puedo estar de que esto sea cierto para los nuevos datos (suponiendo que la nueva población es idéntico al conjunto de entrenamiento)? Sin un valor razonable para 'reducir' (o si lo desea, sin información previa informativa) el re-muestreo parece ser lo mejor que podemos hacer. Simplemente no escucho hablar de esto, así que me pregunto si hay algo que me falta.

Obviamente, hay un gran costo computacional asociado con hacer muchas iteraciones para exprimir hasta el último bit de potencia predictiva de un modelo, por lo que claramente esto es algo que haría si tuviera el tiempo / gruñido para hacer la optimización y cada bit La mejora del rendimiento es valiosa.

Bogdanovist
fuente
El CV se puede usar para diferentes cosas. Para ser claros, cuando dices 'búsqueda de cuadrícula' o 'ajuste de hiperparámetro', estás hablando de selección de modelo , no de selección de características , o incluso solo de estimación de error de clasificación.
smci

Respuestas:

30

Hay una respuesta definitiva a esta pregunta que es "sí, ciertamente es posible sobreajustar un criterio de selección de modelo basado en validación cruzada y terminar con un modelo que se generalice mal ". En mi opinión, esto parece no ser muy apreciado, pero es un obstáculo sustancial en la aplicación de métodos de aprendizaje automático, y es el foco principal de mi investigación actual; He escrito dos trabajos sobre el tema hasta ahora.

GC Cawley y NLC Talbot, Ajuste excesivo en la selección del modelo y posterior sesgo de selección en la evaluación del rendimiento, Journal of Machine Learning Research, 2010. Research, vol. 11, págs. 2079-2107, julio de 2010. ( www )

lo que demuestra que el ajuste excesivo en la selección del modelo es un problema sustancial en el aprendizaje automático (y puede obtener estimaciones de rendimiento severamente sesgadas si corta las esquinas en la selección del modelo durante la evaluación del rendimiento) y

GC Cawley y NLC Talbot, Prevención del sobreajuste en la selección de modelos mediante la regularización bayesiana de los hiperparámetros, Journal of Machine Learning Research, volumen 8, páginas 841-861, abril de 2007. ( www )

donde el criterio de selección de modelo basado en validación cruzada se regulariza para intentar mejorar el ajuste excesivo en la selección de modelo (que es un problema clave si utiliza un núcleo con muchos hiperparámetros).

En este momento estoy escribiendo un artículo sobre la selección de modelos basados ​​en la búsqueda de cuadrícula, que muestra que ciertamente es posible usar una cuadrícula que es demasiado fina cuando terminas con un modelo que es estadísticamente inferior a un modelo seleccionado por muchos cuadrícula más gruesa (fue una pregunta en StackExchange que me inspiró a buscar en la cuadrícula de búsqueda).

Espero que esto ayude.

PD La evaluación imparcial del rendimiento y la selección confiable de modelos pueden ser computacionalmente costosas, pero en mi experiencia bien vale la pena. La validación cruzada anidada, donde la validación cruzada externa se utiliza para la estimación del rendimiento y la validación cruzada interna para la selección del modelo es un buen enfoque básico.

Dikran Marsupial
fuente
¡Perfecto! Parece que esos papeles son exactamente lo que buscaba. Gracias por eso.
Bogdanovist
Avíseme si tiene alguna pregunta sobre los documentos (por correo electrónico: soy el primer autor y mi dirección de correo electrónico aparece en el documento).
Dikran Marsupial
@DikranMarsupial ¿Cómo distingue el sobreajuste debido a la selección del modelo y el debido al desajuste de muestreo entre el tren y los conjuntos de prueba?
image_doctor
1
En principio, el uso de un conjunto de datos sintéticos donde la verdad básica está disponible, entonces es sencillo, ya que no hay desajuste de muestreo; el conjunto de entrenamiento es solo una muestra aleatoria de la distribución subyacente y puede estimar el error de la distribución misma, en lugar de una muestra finita. Para los conjuntos de datos de palabras reales, sin embargo, AFAICS lo mejor que puede manejar es usar remuestreo y determinar los efectos de sobreajustar el criterio de selección del modelo en muchas divisiones aleatorias de prueba / entrenamiento.
Dikran Marsupial
2
Lamentablemente fue rechazado, pero lo revisaré para tener en cuenta los comentarios de los revisores (muy útiles) y volver a enviarlo a otra revista.
Dikran Marsupial
7

Se ha demostrado que la validación cruzada y el bootstrap brindan estimaciones de la tasa de error que son casi imparciales y, en algunos casos, con mayor precisión mediante el bootstrap sobre la validación cruzada. El problema con otros métodos como la resubstitución es que al estimar el error en el mismo conjunto de datos con el que se ajusta el clasificador puede subestimar enormemente la tasa de error y puede conducir a algoritmos que incluyen demasiados parámetros y no predecirán valores futuros con la misma precisión. un algoritmo que se ajusta a un pequeño conjunto de parámetros. La clave para el uso de métodos estadísticos es que los datos que tiene para clasificar al clasificador son típicos de los datos que verá en el futuro donde faltan las clases y el clasificador debe predecirlos. Si crees que los datos futuros podrían ser muy diferentes, entonces los métodos estadísticos no pueden ayudar y yo no '

Michael R. Chernick
fuente
Gracias por la respuesta. He editado la pregunta para dejar en claro que no estoy preguntando sobre los cambios en la población entre el tren y los conjuntos de prueba. Me doy cuenta de que es una pregunta completamente diferente que no me interesa para esta pregunta.
Bogdanovist
1
+1 En este caso, la unbiaseness es esencialmente irrelevante. La variación de la estimación de validación cruzada puede ser un problema mucho mayor. Para un criterio de selección de modelo, necesita que el mínimo del criterio sea confiablemente cercano al mínimo del error de generalización (en función de los hiperparámetros). No sirve de nada si, en promedio, está en el lugar correcto, pero la propagación de las diferentes muestras finitas de datos de minima fror está por todo el lugar.
Dikran Marsupial
1
Por supuesto, la precisión es una combinación de sesgo y varianza, y una estimación imparcial con una gran varianza no es tan buena como un estimador ligeramente sesgado con una pequeña varianza. La estimación niave de la tasa de error es la resubstitución y tiene un gran sesgo. Los bootstrap 632 y 632+ funcionan muy bien porque hacen un buen trabajo ajustándose al sesgo sin aumentar mucho la variación. Es por eso que para las funciones discriminantes lineales y las funciones discriminantes cuadráticas funcionan mucho mejor que la versión de validación cruzada de dejar uno fuera.
Michael R. Chernick
Con los conjuntos de árbol de clasificación, no se ha demostrado que el bootstrap funcione mejor.
Michael R. Chernick
1
Quizás una de las dificultades es que el sobreajuste a menudo significa cosas diferentes en el aprendizaje automático y las estadísticas. Me parece que los estadísticos a veces usan un ajuste excesivo para indicar que se está utilizando un modelo con más parámetros de los necesarios, en lugar de ajustarse demasiado a las observaciones (según lo medido por el criterio de entrenamiento). Normalmente usaría "sobre-parametrizado" en esa situación, y usaría "sobre-ajuste" para indicar que un modelo se ha ajustado demasiado a las observaciones a expensas del rendimiento de generalización. ¿Quizás aquí es donde podemos estar hablando con propósitos cruzados?
Dikran Marsupial
4

Sospecho que una respuesta aquí es que, en el contexto de la optimización, lo que está tratando de encontrar es un mínimo global en una noisyfunción de costo. Entonces tiene todos los desafíos de una optimización global multidimensional más un componente estocástico agregado a la función de costo.

Muchos de los enfoques para hacer frente a los desafíos de los mínimos locales y un espacio de búsqueda costoso tienen parámetros que pueden necesitar ajustes, como el recocido simulado o los métodos de Monte Carlo.

En un universo ideal, ilimitado computacionalmente, sospecho que podría intentar encontrar un mínimo global de su espacio de parámetros con límites adecuadamente ajustados en el sesgo y la varianza de su estimación de la función de error. La regularización de este escenario no sería un problema, ya que podría volver a muestrear ad infinitum.

Sospecho que en el mundo real puede encontrarse fácilmente en un mínimo local.

Como mencionas, es un problema separado, pero esto aún te deja abierto al sobreajuste debido a problemas de muestreo asociados con los datos disponibles y su relación con la distribución subyacente real del espacio muestral.

image_doctor
fuente
4

Depende en gran medida del algoritmo, pero ciertamente puede hacerlo, aunque en la mayoría de los casos será solo una pérdida benigna de esfuerzo.

f(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ

xoptXoptXoptf

f

Por lo tanto, bueno, (basado en prácticas presentes en buenas revistas), la validación externa completa de la selección de parámetros no es algo que tenga que hacer rigurosamente (a diferencia de la selección de características de validación), sino solo si la optimización es superficial y el clasificador es bastante insensible a Los parametros.


fuente
4

Sí, los parámetros se pueden "sobreajustar" en el entrenamiento y el conjunto de prueba durante la validación cruzada o el arranque. Sin embargo, hay algunos métodos para prevenir esto. El primer método simple es dividir su conjunto de datos en 3 particiones, una para probar (~ 20%), otra para probar parámetros optimizados (~ 20%) y otra para ajustar el clasificador con los parámetros establecidos. Solo es posible si tiene un conjunto de datos bastante grande. En otros casos, se sugiere una doble validación cruzada.

Romain François y Florent Langrognet, "Doble validación cruzada para la clasificación basada en modelos", 2006

spinus
fuente