Después de hacer la búsqueda de cuadrícula para cada modelo sustituto, puede y debe verificar algunas cosas:
- variación de los parámetros optimizados (aquí y C ).
¿Son estables los parámetros óptimos? Si no, es muy probable que tengas problemas.γC
- Compare el rendimiento informado de la validación cruzada interna y externa.
Si la validación cruzada interna (es decir, el ajuste) se ve mucho mejor que la externa (validación del modelo final), entonces también está en problemas: está sobreajustando. Existe un riesgo sustancial de que los parámetros ajustados no sean óptimos en absoluto. Sin embargo, si la validación cruzada externa se realiza correctamente (todos los conjuntos de prueba son verdaderamente independientes de los respectivos modelos sustitutos), entonces al menos todavía tiene una estimación imparcial (!) Del rendimiento del modelo. Pero no puede estar seguro de que sea óptimo.
- ¿Qué tan pronunciado es el óptimo? ¿El rendimiento se degrada rápidamente para parámetros subóptimos? ¿Qué tan bueno es el rendimiento óptimo?
Hay mucho que decir sobre el sobreajuste por selección de modelo. Sin embargo, es bueno tener en cuenta que tanto la varianza como el sesgo optimista realmente pueden doler
- La variación significa que puede terminar accidentalmente bastante lejos de los hiperparámetros verdaderamente óptimos.
- pero también el sesgo puede doler: si está sobreajustando, puede encontrarse con situaciones en las que muchos modelos se ven perfectos para la validación cruzada interna (pero en realidad no lo son). En ese caso, el ajuste puede perderse porque no reconoce las diferencias entre los modelos.
- Si el sesgo depende de los hiperparámetros, estás en un gran problema.
Si está interesado en un ejemplo y puede leer alemán, podría poner mi tesis de Diploma en línea.
En mi experiencia, ajustar hiperparámetros es una idea extremadamente efectiva para sobreajustar ...
Ahora, si te das cuenta de que estás sobreajustando, tienes principalmente dos opciones:
- informe que la optimización tuvo un problema con el sobreajuste pero que realizó una validación externa adecuada que resultó en ... (resultados de validación cruzada externa).
- restringir la complejidad del modelo. Una forma de hacerlo es arreglar hiperparámetros:
Como alternativa a ajustar los hiperparámetros a cada conjunto de entrenamiento, puede preespecificar (hiper) parámetros (es decir, corregirlos de antemano). Hago eso lo más posible para mis modelos, ya que generalmente tengo incluso menos casos que usted, vea a continuación.
Sin embargo, esta fijación debe hacerse de manera real y honesta de antemano: por ejemplo, le pregunté a un colega por sus parámetros optimizados en un conjunto de datos similar (experimento independiente) o realicé un preexperimento, incluida la búsqueda de cuadrícula en los parámetros. Ese primer experimento se usa para corregir algunos parámetros experimentales, así como los parámetros del modelo para el experimento real y el análisis de datos. Ver abajo para más explicaciones.
Por supuesto, es posible realizar pruebas adecuadas en modelos optimizados automáticamente (validación doble o anidada), pero el tamaño de la muestra puede no permitir dividir los datos dos veces .
En esa situación, en mi humilde opinión, es mucho mejor informar una estimación honesta para un modelo que se construyó utilizando la experiencia profesional sobre cómo elegir los parámetros de modelado que informar una estimación demasiado optimista en algún tipo de modelo optimizado automáticamente.
Otro punto de vista sobre la situación es que debes intercambiar
- peor rendimiento debido a dejar de lado otro grupo de casos para la optimización de parámetros (tamaño de muestra de entrenamiento más pequeño => peor modelo, pero parámetros "óptimos")
- peor rendimiento debido a la fijación de parámetros subóptimos por parte del experto (pero en datos de entrenamiento más grandes).
Algunas ideas similares sobre una pregunta similar: /stats//a/27761/4598
Sobre la fijación de parámetros y los comentarios de Dikran Marsupial
Estoy usando el término hiperparámetros como Dikran Marsupial lo usa en su artículo (enlace en su respuesta)
Trabajo con datos espectroscópicos. Este es un tipo de medición en la que el análisis y el modelado de datos a menudo incluyen bastante preprocesamiento. Esto puede verse como hiperparámetros (p. Ej., ¿Qué orden de polinomio debe usarse para la línea de base? ¿Qué canales de medición deben incluirse?). Hay otras decisiones que están más cerca de sus parámetros svm, por ejemplo, ¿cuántos componentes principales usar si se realiza un PCA para la reducción de la dimensionalidad antes de entrenar el modelo "real"? Y a veces también uso la clasificación SVM, así que tengo que decidir sobre los parámetros SVM.
Ahora, en mi humilde opinión, la mejor manera de corregir los hiperparámetros es si tiene razones que provienen de la aplicación. Por ejemplo, generalmente decido qué tipo de línea de base usar por razones físicas / químicas / biológicas (es decir, conocimiento sobre la muestra y el comportamiento espectroscópico que se deriva de eso). Sin embargo, no estoy al tanto de tal argumentación que ayude con los parámetros SVM ...
El caso de los preexperimentos que mencioné anteriormente es el siguiente:
- tomamos datos de un montón de celdas (queremos distinguir diferentes líneas celulares).
Se analizan los espectros, se ejecuta SVM de validación cruzada doble iterada (se pasa una o dos noches en el servidor de cómputo).
- γC
- También observo un cierto sobreajuste: la validación cruzada externa no es tan buena como los resultados de ajuste. Eso es como se esperaba.
- Aún así, hay diferencias en el rendimiento en el rango de ajuste de los hiperparámetros, y el rendimiento en la cuadrícula de ajuste se ve razonablemente suave. Bueno.
Mi conclusión es: aunque no puedo estar seguro de que los hiperparámetros finales sean óptimos, la validación cruzada externa me da una estimación adecuada del rendimiento de los modelos sustitutos.
Durante la parte experimental, decidimos algunos cambios en la configuración experimental (cosas que no afectan la señal al ruido de los datos, pero que van un paso más allá en la automatización del instrumento)
Mejoramos la configuración experimental y adquirimos nuevos espectros. Como son las células, necesitan crecer recientemente. Es decir, el nuevo conjunto de datos son incluso lotes de cultura independientes.
Ahora me enfrento a la decisión: ¿Debería "omitir" la validación cruzada interna y seguir los hiperparámetros que determiné con los datos antiguos?
- Como se mencionó anteriormente, corro el riesgo de que estos hiperparámetros predeterminados no sean óptimos.
- Pero tampoco puedo estar seguro de obtener hiperparámetros realmente óptimos haciendo la validación cruzada interna (ajuste).
- Sin embargo, la sintonización de los datos antiguos era estable.
- Haciendo la optimización, entrenaré con menos muestras: como de todos modos tengo muy pocas muestras (TM), tengo que esperar obtener modelos peores si dejo a un lado más muestras para una segunda ronda de validación cruzada.
Entonces, en ese caso, decidí ir con parámetros fijos (por experiencia en datos similares y sabiendo que en el futuro tendremos que hacer nuestra "tarea" incluyendo, entre otras cosas, volver a verificar estas decisiones con datos grandes).
Tenga en cuenta que lo importante es que omito el interno ( validación cruzada de ajuste ), no el externo. Con hiperparámetros fijos obtengo una estimación imparcial del rendimiento de un modelo posiblemente subóptimo. Es cierto que esta estimación está sujeta a una gran varianza, pero esta varianza es básicamente la misma tanto si realizo la afinación interna como si no.
Omitiendo la validación cruzada externa, obtendría una estimación sesgada optimista de un modelo ajustado, que dependiendo de la aplicación y los datos puede ser inútil (si es demasiado optimista) y el sesgo optimista puede ser simplemente inaceptable.