Existen numerosos hilos en CrossValidated sobre el tema de selección de modelos y validación cruzada. Aquí hay algunos:
- Validación cruzada interna y externa y selección de modelo
- @ DikranMarsupial de la parte superior respuesta a la selección de funciones y la validación cruzada
Sin embargo, las respuestas a esos hilos son bastante genéricas y en su mayoría resaltan los problemas con enfoques particulares para la validación cruzada y la selección de modelos.
Para hacer las cosas lo más concretas posible , digamos, por ejemplo, que estamos trabajando con un SVM con un núcleo RBF: , y que Tengo un conjunto de datos de características X y etiquetas y , y quiero
- Encuentra los mejores valores posibles de mi modelo ( y )
- Entrenar el SVM con mi conjunto de datos (para la implementación final)
- Estime el error de generalización y la incertidumbre (varianza) en torno a este error.
Para hacerlo, personalmente haría una búsqueda en la cuadrícula, por ejemplo, intento todas las combinaciones posibles de y . Por simplicidad, podemos asumir los siguientes rangos:
Más específicamente, usando mi conjunto de datos completo, hago lo siguiente:
- Para cada par ( , γ ), hago iteraciones repetidas (por ejemplo, 100 repeticiones aleatorias) de validación cruzada K- fold (por ejemplo, K = 10 ), en mi conjunto de datos, es decir, entreno mi SVM en K - 1 pliegues y evalúo el error en el pliegue a la izquierda, iterando a través de todos los pliegues K. En general, recopilo 100 x 10 = 1000 errores de prueba.
- Para cada uno de tales ( , γ par), I calcular la media y la varianza de esos 1000 errores de prueba mu M , σ M .
PERO, después de leer las respuestas en los hilos anteriores, tengo la impresión de que este método para elegir el mejor SVM para la implementación y / o para estimar su error (rendimiento de generalización) es defectuoso, y que hay mejores formas de elegir el mejor SVM y reportando su error. Si es así, ¿Que son? Estoy buscando una respuesta concreta por favor.
Manteniéndome en este problema, ¿cómo puedo elegir específicamente el mejor modelo y estimar adecuadamente su error de generalización ?