¿Cuál primero: evaluación comparativa de algoritmos, selección de características, ajuste de parámetros?

11

Cuando intento hacer, por ejemplo, una clasificación, mi enfoque actualmente es

  1. pruebe varios algoritmos primero y compárelos
  2. realizar una selección de características en el mejor algoritmo del 1 anterior
  3. ajustar los parámetros usando las características y el algoritmo seleccionados

Sin embargo, a menudo no puedo convencerme de que puede haber un mejor algoritmo que el seleccionado, si los otros algoritmos se han optimizado con el mejor parámetro / características más adecuadas. Al mismo tiempo, realizar una búsqueda en todos los algoritmos * parámetros * características lleva demasiado tiempo.

¿Alguna sugerencia sobre el enfoque / secuencia correcta?

Ricky
fuente

Respuestas:

8

Supongo que te refieres a la selección de características como ingeniería de características . El proceso que suelo seguir y veo que algunas personas hacen es

  1. Ingeniería de características
  2. Pruebe algunos algoritmos, generalmente de alto rendimiento, como RandomForest, Gradient Boosted Trees, Neutral Networks o SVM en las características.

    2.1 Realice ajustes sencillos de parámetros, como la búsqueda de cuadrícula en un pequeño rango de parámetros

Si el resultado del paso 2 no es satisfactorio, regrese al paso 1 para generar más funciones, o elimine las funciones redundantes y conserve las mejores, la gente generalmente llama a esta selección de funciones . Si se le acaban las ideas para nuevas funciones, pruebe con más algoritmos.

Si el resultado es correcto o cercano a lo que desea, vaya al paso 3

  1. Amplia sintonización de parámetros

La razón para hacerlo es que la clasificación tiene que ver con la ingeniería de características y, a menos que conozca algún clasificador increíblemente poderoso, como el aprendizaje profundo personalizado para un problema particular, como la visión por computadora. Generar buenas características es la clave. Elegir un clasificador es importante pero no crucial. Todos los clasificadores mencionados anteriormente son bastante comparables en términos de rendimiento, y la mayoría de las veces, el mejor clasificador resulta ser uno de ellos.

El ajuste de parámetros puede aumentar el rendimiento, en algunos casos, bastante. Pero sin buenas características, el ajuste no ayuda mucho. Tenga en cuenta que siempre tiene tiempo para ajustar los parámetros. Además, no tiene sentido ajustar los parámetros de forma exhaustiva, luego descubre una nueva característica y rehace todo el proceso.

Tu N.
fuente
2

Hola, acabo de ver tu pregunta. Es COMPLETAMENTE INCORRECTO hacer primero la selección de características y luego ajustar el modelo mediante validación cruzada. En los elementos de aprendizaje estadístico y en esta publicación de blog, se menciona claramente que: El método de CV no es imparcial solo si toda su construcción de modelos se realiza dentro del ciclo de CV. Así que haga la selección de características dentro del bucle CV para el ajuste de parámetros. Se puede hacer fácilmente usando la envoltura de filtro en el paquete MLR en R.

Dhruv Mahajan
fuente
1

Ya he respondido una pregunta similar aquí . El proceso sería:

  • Transformación y reducción: implica procesos como transformaciones, escalas medias y medias, etc.
  • Selección de funciones: esto se puede hacer de muchas maneras, como la selección de umbral, la selección de subconjuntos, etc.
  • Diseño de modelo predictivo: diseñe el modelo predictivo en los datos de entrenamiento según las características que tenga a mano.
  • Validación cruzada y ajuste de parámetros:
  • Predicción final, validación

Siempre intente y realice ingeniería de características antes de seleccionar el modelo. Luego, seleccione el modelo de acuerdo con las mejores características (o las características que tienden a influir mejor en el problema / variable dependiente).

Dawny33
fuente
0

Si está preparado para pasar tiempo aprendiendo cómo funciona una nueva herramienta, puede probar el aprendizaje automático. Hace todo lo necesario para construir una tubería ML para usted. Preprocesamiento de funciones, selección, construcción de conjuntos de modelos y ajuste mediante validación cruzada. Dependiendo de la cantidad de datos que tenga, puede ser o no una forma más rápida de hacer una buena predicción. Pero sin duda es prometedor.

Diego
fuente