¿Qué tan malo es el ajuste de hiperparámetros fuera de la validación cruzada?

20

Sé que realizar el ajuste de hiperparámetros fuera de la validación cruzada puede conducir a estimaciones sesgadas de validez externa, porque el conjunto de datos que usa para medir el rendimiento es el mismo que usó para ajustar las características.

Lo que me pregunto es qué tan grave es este problema . Puedo entender cómo sería realmente malo para la selección de funciones, ya que esto le brinda una gran cantidad de parámetros para ajustar. Pero, ¿qué sucede si está usando algo como LASSO (que tiene un solo parámetro, la intensidad de la regularización) o un bosque aleatorio sin selección de características (que puede tener algunos parámetros pero nada tan dramático como agregar / quitar características de ruido)?

En estos escenarios, ¿qué tan optimista podría esperar que sea su estimación del error de entrenamiento?

Agradecería cualquier información sobre esto: estudios de casos, documentos, anecdatos, etc. ¡Gracias!

EDIT: Para aclarar, estoy no hablar de estimar el rendimiento del modelo de datos de entrenamiento (es decir, no utilizando la validación cruzada en todos). Por "ajuste de hiperparámetro fuera de la validación cruzada" me refiero a usar la validación cruzada solo para estimar el rendimiento de cada modelo individual, pero sin incluir un segundo bucle de validación cruzada externo para corregir el sobreajuste dentro del procedimiento de ajuste de hiperparámetro (a diferencia de sobreajuste durante el procedimiento de entrenamiento). Ver, por ejemplo, la respuesta aquí .

Ben Kuhn
fuente

Respuestas:

17

Los efectos de este sesgo pueden ser muy grandes. Los concursos abiertos de aprendizaje automático que se presentan en algunas conferencias de aprendizaje automático dan una buena demostración de esto. Estos generalmente tienen un conjunto de entrenamiento, un conjunto de validación y un conjunto de prueba. Los competidores no pueden ver las etiquetas ni del conjunto de validación ni del conjunto de prueba (obviamente). El conjunto de validación se usa para determinar la clasificación de competidores en una tabla de clasificación que todos pueden ver mientras la competencia está en progreso. Es muy común que aquellos que encabezan la tabla de clasificación al final de la competencia estén muy bajos en la clasificación final según los datos de la prueba. Esto se debe a que han ajustado los hiperparámetros para sus sistemas de aprendizaje para maximizar su rendimiento en la tabla de clasificación y, al hacerlo, han sobreajustado los datos de validaciónajustando su modelo. Los usuarios más experimentados prestan poca o ninguna atención a la tabla de clasificación y adoptan estimaciones de rendimiento imparciales más rigurosas para guiar su metodología.

El ejemplo en mi artículo (mencionado por Jacques) muestra que los efectos de este tipo de sesgo pueden ser del mismo tipo que la diferencia entre los algoritmos de aprendizaje, por lo que la respuesta corta es no usar protocolos de evaluación de rendimiento sesgados si usted es genuinamente interesado en descubrir qué funciona y qué no. La regla básica es "tratar la selección del modelo (por ejemplo, el ajuste de hiperparámetros) como una parte integral del procedimiento de ajuste del modelo, e incluir eso en cada pliegue de la validación cruzada utilizada para la evaluación del desempeño).

El hecho de que la regularización sea menos propensa a un ajuste excesivo que la selección de características es precisamente la razón por la cual LASSO, etc., son buenas formas de realizar la selección de características. Sin embargo, el tamaño del sesgo depende del número de características, el tamaño del conjunto de datos y la naturaleza de la tarea de aprendizaje (es decir, hay un elemento que depende del conjunto de datos en particular y variará de una aplicación a otra). La naturaleza dependiente de los datos de esto significa que es mejor estimar el tamaño del sesgo mediante el uso de un protocolo imparcial y comparar la diferencia (informar que el método es robusto para sobreajustar en la selección del modelo en este caso particular puede ser de interés en si mismo).

GC Cawley y NLC Talbot (2010), "Ajuste excesivo en la selección del modelo y posterior sesgo de selección en la evaluación del desempeño", Journal of Machine Learning Research, 11, p.2079, sección 5.2.)

Dikran Marsupial
fuente
7
  • El sesgo del que estás hablando todavía está relacionado principalmente con el sobreajuste.
  • Puede mantener el riesgo bajo evaluando solo unos pocos modelos para corregir el hiperparámetro de regularización, además de buscar una baja complejidad dentro de la opción plausible.

  • Como señala @MarcClaesen, tiene la curva de aprendizaje trabajando para usted, lo que mitigará un poco el sesgo. Pero la curva de aprendizaje generalmente es empinada solo en muy pocos casos, y luego también el sobreajuste es un problema mucho mayor.

Al final, esperaría que el sesgo dependa mucho de

  • los datos (es difícil sobreajustar un problema univariante ...) y
  • su experiencia y comportamiento de modelado: creo que es posible que decida sobre una complejidad más o menos apropiada para su modelo si tiene suficiente experiencia con el tipo de modelo y la aplicación y si se comporta extremadamente bien y no cede ante La tentación de modelos más complejos. Pero, por supuesto, no lo conocemos y, por lo tanto, no podemos juzgar cuán conservador es su modelado.
    Además, admitir que su elegante modelo estadístico es altamente subjetivo y que no le quedan casos para hacer una validación, generalmente no es lo que desea. (Ni siquiera en situaciones donde se espera que el resultado general sea mejor).

No uso LASSO (ya que la selección de variables no tiene mucho sentido para mis datos por razones físicas), pero PCA o PLS generalmente funcionan bien. Una cresta sería una alternativa cercana a LASSO y más apropiada para el tipo de datos. Con estos datos he visto un orden de magnitud más clasificaciones erróneas en la "validación de acceso directo" frente a la validación cruzada independiente (externa) adecuada. Sin embargo, en estas situaciones extremas, mi experiencia dice que la validación de acceso directo parecía sospechosamente buena, por ejemplo, 2% de clasificaciones erróneas => 20% con la validación cruzada adecuada.

Sin embargo, no puedo darte números reales que se apliquen directamente a tu pregunta:

  • Hasta ahora, me importaban más otros tipos de "atajos" que ocurren en mi campo y conducen a fugas de datos, por ejemplo, espectros de validación cruzada en lugar de pacientes (¡sesgo enorme! Puedo mostrarles una clasificación errónea del 10% -> 70% = adivinar entre 3 clases), o sin incluir el PCA en la validación cruzada (2 - 5% -> 20 - 30%).
  • En situaciones en las que tengo que decidir si la validación cruzada que puedo permitirme debería gastarse en la optimización del modelo o en la validación, siempre decido la validación y corrijo el parámetro de complejidad por experiencia. PCA y PLS funcionan bien, ya que las técnicas de regularización son respetuosas porque el parámetro de complejidad (# componentes) está directamente relacionado con las propiedades físicas / químicas del problema (por ejemplo, puedo adivinar cuántos grupos de sustancias químicamente diferentes espero importar). Además, por razones fisicoquímicas, sé que los componentes deberían parecerse a los espectros y, si son ruidosos, estoy sobreajustando. Pero la experiencia también puede estar optimizando la complejidad del modelo en un antiguo conjunto de datos de un experimento anterior que es lo suficientemente similar en general como para justificar la transferencia de hiperparámetros y luego simplemente usarEl parámetro de regularización para los nuevos datos.
    De esa manera, no puedo afirmar que tengo el modelo óptimo, pero puedo afirmar que tengo una estimación razonable del rendimiento que puedo obtener.
    Y con el número de pacientes que tengo, de todos modos es imposible hacer comparaciones de modelos estadísticamente significativos (recuerde, mi número total de pacientes está por debajo del tamaño de muestra recomendado para estimar una sola proporción [de acuerdo con la regla general que aquí da @FrankHarrell]).

¿Por qué no ejecuta algunas simulaciones lo más cercanas posible a sus datos y nos informa qué sucede?


Acerca de mis datos: trabajo con datos espectroscópicos. Los conjuntos de datos suelen ser amplios: unas pocas decenas de casos independientes (pacientes; aunque generalmente muchas mediciones por caso. Ca. 10³ varía en los datos sin procesar, que puedo reducir a 250 por aplicar el conocimiento del dominio para cortar áreas no informativas fuera de mis espectros y para reducir la resolución espectral.

cbeleites apoya a Monica
fuente
5

Si solo selecciona el hiperparámetro para LASSO, no es necesario un CV anidado. La selección de hiperparámetros se realiza en una interacción CV simple / plana.

λ

LiTiλTiLi

λ

(Este no es el único método para seleccionar hiperparámetros, pero es el más común: también existe el procedimiento "mediano" discutido y criticado por GC Cawley y NLC Talbot (2010), "Ajuste excesivo en la selección del modelo y el sesgo de selección posterior en evaluación de desempeño ", Journal of Machine Learning Research, 11 , p.2079 , sección 5.2.)

λλ

Sé de dos resultados experimentales en la medición del sesgo de esta estimación (en comparación con un verdadero error de generalización para conjuntos de datos sintéticos)

Ambos de acceso abierto.

Necesita un CV anidado si:

a) desea elegir entre un LASSO y algunos otros algoritmos, especialmente si también tienen hiperparámetros

λ

λ

Finalmente, el CV anidado no es la única forma de calcular una estimación imparcial razonable del error de generalización esperado. Ha habido al menos otras tres propuestas

Jacques Wainer
fuente
2
¿Puede explicar qué quiere decir con "no hay CV para la selección de hiperparámetros"? Por lo que escribes, no puedo entender si quieres advertir al OP que no hicieron el anidamiento, o si declaras que en general no existe tal cosa.
cbeleites apoya a Monica
(+1) para una explicación concisa del problema y buenas referencias. Pero, como señala @cbeleites, la primera oración es bastante confusa: parece estar destinada a corregir un malentendido que el OP no tiene.
Scortchi - Restablece a Monica
@cbeleites (y Scortchi) - Estoy respondiendo al OP "EDIT:" donde (creo) afirma que está usando CV para seleccionar parámetros ("validación cruzada solo para estimar el rendimiento de cada modelo individual") y le preocupa no haber usado un CV anidado ("pero sin incluir un segundo bucle externo de validación cruzada para corregir el sobreajuste dentro del procedimiento de ajuste de hiperparámetros"). Estaba tratando de decirle que no hay CV externo en la selección de parámetros.
Jacques Wainer
@JacquesWainer: Creo que quiere "corregir el sobreajuste dentro del procedimiento de ajuste del hiperparámetro" al estimar el rendimiento del procedimiento fuera de la muestra (su situación b ), en lugar de corregir de alguna manera el valor seleccionado del hiperparámetro utilizando un CV anidado. En cualquier caso, su edición aclara el comienzo de su respuesta.
Scortchi - Restablece a Monica
Sí, quise decir "corregir [la estimación ingenua del rendimiento] para el sobreajuste dentro del procedimiento de ajuste de hiperparámetros", no "corregir [los hiperparámetros ajustados] para el sobreajuste" ni nada de eso. Siento la confusión; Debería haber declarado más explícitamente que me preocupaba la estimación de errores, no la selección de parámetros.
Ben Kuhn
2

Cualquier algoritmo de aprendizaje complejo, como SVM, redes neuronales, bosque aleatorio, ... puede alcanzar el 100% de precisión de entrenamiento si lo permite (por ejemplo, a través de una regularización débil / nula), con un rendimiento de generalización absolutamente horrible como resultado.

κ(xi,xj)=exp(γxixj2)γ=100%

En resumen, puede terminar fácilmente con un clasificador perfecto en su conjunto de entrenamiento que no aprendió absolutamente nada útil en un conjunto de prueba independiente. Eso es lo malo que es.

Marc Claesen
fuente
No estoy hablando de entrenar el modelo fuera de la validación cruzada. Estoy hablando de ajustar los hiperparámetros (y seguir usando la validación cruzada para estimar el rendimiento de cada conjunto de hiperparámetros). Editaré la publicación para aclarar esto.
Ben Kuhn
100%
¿Por qué crees que estoy considerando no usar la validación cruzada? Dije específicamente: "... y sigo usando la validación cruzada para estimar el rendimiento de cada conjunto de hiperparámetros".
Ben Kuhn
1
γ=γγ
2
Entendí completamente tu pregunta. Antes de la edición, era muy confuso. El sesgo en el que parece estar interesado no es necesariamente positivo, por cierto; dado que muchos enfoques producen modelos drásticamente mejores cuando se les dan más datos de entrenamiento, lo cual es particularmente relevante para pequeños conjuntos de entrenamiento + validación cruzada.
Marc Claesen