Selección de características para el modelo "final" cuando se realiza la validación cruzada en el aprendizaje automático


76

Estoy un poco confundido acerca de la selección de funciones y el aprendizaje automático y me preguntaba si podrían ayudarme. Tengo un conjunto de datos de microarrays que se clasifica en dos grupos y tiene miles de características. Mi objetivo es obtener una pequeña cantidad de genes (mis características) (10-20) en una firma que, en teoría, podré aplicar a otros conjuntos de datos para clasificar de manera óptima esas muestras. Como no tengo tantas muestras (<100), no estoy usando un conjunto de prueba y entrenamiento, sino una validación cruzada Leave-one-out para ayudar a determinar la robustez. He leído que uno debe realizar la selección de características para cada división de las muestras, es decir

  1. Seleccione una muestra como conjunto de prueba
  2. En las muestras restantes, realice la selección de funciones
  3. Aplique el algoritmo de aprendizaje automático a las muestras restantes utilizando las funciones seleccionadas
  4. Pruebe si el conjunto de prueba está clasificado correctamente
  5. Ir a 1.

Si hace esto, puede obtener diferentes genes cada vez, entonces, ¿cómo obtiene su clasificador genético "final"? es decir, qué es el paso 6.

Lo que quiero decir con óptimo es la colección de genes que cualquier estudio adicional debería usar. Por ejemplo, supongamos que tengo un conjunto de datos de cáncer / normal y quiero encontrar los 10 mejores genes que clasificarán el tipo de tumor de acuerdo con una SVM. Me gustaría conocer el conjunto de genes más los parámetros de SVM que podrían usarse en más experimentos para ver si podrían usarse como prueba de diagnóstico.


Debo revelar que ya he publicado esto en la lista de
bioconductores

¿Resume los resultados de los bioconductores aquí?
Shane

Respuestas:


39

Esta es una muy buena pregunta que me enfrenté al trabajar con datos de SNP ... Y no encontré ninguna respuesta obvia a través de la literatura.

Ya sea que use LOO o K-fold CV, terminará con diferentes características ya que la iteración de validación cruzada debe ser el bucle más externo, como usted dijo. Puede pensar en algún tipo de esquema de votación que califique los n-vectores de las características que obtuvo de su LOO-CV (no recuerdo el documento, pero vale la pena verificar el trabajo de Harald Binder o Antoine Cornuéjols ). En ausencia de una nueva muestra de prueba, lo que generalmente se hace es volver a aplicar el algoritmo ML a toda la muestra una vez que haya encontrado sus parámetros óptimos de validación cruzada. Pero de esta manera, no puede asegurarse de que no haya sobreajuste (ya que la muestra ya se usó para la optimización del modelo).

np

  1. Cutler, A., Cutler, DR, y Stevens, JR (2009). Métodos basados ​​en árboles, en Análisis de datos de alta dimensión en la investigación del cáncer , Li, X. y Xu, R. (eds.), Pp. 83-101, Springer.
  2. Saeys, Y., Inza, I. y Larrañaga, P. (2007). Una revisión de las técnicas de selección de características en bioinformática. Bioinformática , 23 (19) : 2507-2517.
  3. Díaz-Uriarte, R., Álvarez de Andrés, S. (2006). Selección de genes y clasificación de datos de microarrays utilizando bosque aleatorio. BMC Bioinformática , 7 : 3.
  4. Díaz-Uriarte, R. (2007). GeneSrF y varSelRF: una herramienta basada en la web y un paquete R para la selección y clasificación de genes utilizando bosque aleatorio. BMC Bioinformática , 8 : 328

Como estás hablando de SVM, puedes buscar SVM penalizado .


Gracias por eso. No estoy particularmente vendido en SVM, solo lo uso como ejemplo. Entonces, si usaste árboles al azar, ¿no tienes que hacer una validación cruzada? Está bien.
danielsbrewer

77
p

3
Es importante que se llame Bosque aleatorio, no árboles aleatorios; Es posible que tengas problemas con Google.

1
+1, buena respuesta y casualidad para mí, muchas gracias por las referencias en papel, especialmente la revisión.
ars

Con suficientes datos, ¿no sería mejor mantener un conjunto de prueba, realizar una ubicación en el conjunto de entrenamiento para optimizar los parámetros del modelo, ajustar todo el conjunto del tren (y llamarlo clasificador "final") y luego evaluar el modelo final en el set de prueba?
usuario0

40

En principio:

Realice sus predicciones utilizando un solo modelo entrenado en todo el conjunto de datos (por lo que solo hay un conjunto de características). La validación cruzada solo se utiliza para estimar el rendimiento predictivo del modelo único entrenado en todo el conjunto de datos. Al utilizar la validación cruzada, es VITAL que en cada pliegue repita todo el procedimiento utilizado para ajustar el modelo primario, ya que de lo contrario puede terminar con un sesgo optimista sustancial en el rendimiento.

Para ver por qué sucede esto, considere un problema de clasificación binaria con 1000 características binarias pero solo 100 casos, donde los casos y las características son puramente aleatorios, por lo que no existe una relación estadística entre las características y los casos. Si entrenamos un modelo primario en el conjunto de datos completo, siempre podemos lograr un error cero en el conjunto de entrenamiento ya que hay más características que casos. Incluso podemos encontrar un subconjunto de características "informativas" (que están correlacionadas por casualidad). Si luego realizamos la validación cruzada utilizando solo esas características, obtendremos una estimación del rendimiento que es mejor que adivinar al azar. La razón es que en cada pliegue del procedimiento de validación cruzada hay alguna información sobre los casos retenidos utilizados para las pruebas, ya que las características se eligieron porque eran buenas para predecir, todas ellas, incluidos los que se presentaron. Por supuesto, la verdadera tasa de error será 0.5.

Si adoptamos el procedimiento adecuado y realizamos la selección de funciones en cada pliegue, ya no hay información sobre los casos retenidos en la elección de las funciones utilizadas en ese pliegue. Si utiliza el procedimiento adecuado, en este caso, obtendrá una tasa de error de aproximadamente 0,5 (aunque variará un poco para diferentes realizaciones del conjunto de datos).

Los buenos papeles para leer son:

Christophe Ambroise, Geoffrey J. McLachlan, "Sesgo de selección en la extracción de genes sobre la base de datos de expresión de genes de microarrays", PNAS http://www.pnas.org/content/99/10/6562.abstract

que es muy relevante para el OP y

Gavin C. Cawley, Nicola LC Talbot, "Sobre el ajuste excesivo en la selección del modelo y el sesgo de selección posterior en la evaluación del rendimiento", JMLR 11 (julio): 2079-2107, 2010 http://jmlr.csail.mit.edu/papers /v11/cawley10a.html

lo que demuestra que lo mismo puede ocurrir fácilmente en la selección del modelo (por ejemplo, sintonizar los hiperparámetros de un SVM, que también debe repetirse en cada iteración del procedimiento CV).

En la práctica:

Recomendaría usar Bagging y el error de fuera de bolsa para estimar el rendimiento. Obtendrá un modelo de comité con muchas características, pero eso es realmente algo bueno. Si solo usa un solo modelo, es probable que sobrepase el criterio de selección de características y termine con un modelo que ofrezca predicciones más pobres que un modelo que usa una mayor cantidad de características.

El libro de Alan Millers sobre selección de subconjuntos en regresión (monografías de Chapman y Hall sobre estadísticas y probabilidad aplicada, volumen 95) da el buen consejo (página 221) de que si el rendimiento predictivo es lo más importante, entonces no haga ninguna selección de características , solo use la regresión de cresta en su lugar. ¡Y eso está en un libro sobre selección de subconjuntos! ; o)


17

Para agregar a chl: Al usar máquinas de vectores de soporte, un método de penalización altamente recomendado es la red elástica. Este método reducirá los coeficientes hacia cero y, en teoría, conserva los coeficientes más estables en el modelo. Inicialmente se usó en un marco de regresión, pero se extiende fácilmente para su uso con máquinas de vectores de soporte.

La publicación original : Zou y Hastie (2005): Regularización y selección de variables a través de la red elástica. JRStatist. Soc. B, 67-2, págs. 301-320

Red elástica para SVM : Zhu y Zou (2007): Selección de variables para la máquina de vectores de soporte: Tendencias en la computación neuronal, capítulo 2 (Editores: Chen y Wang)

mejoras en la red elástica Jun-Tao y Ying-Min (2010): una red elástica mejorada para la clasificación del cáncer y la selección de genes: Acta Automatica Sinica, 36-7, pp.976-981


9

Como paso 6 (o 0), ejecuta el algoritmo de detección de características en todo el conjunto de datos.

n1n


Creo que todavía hay un problema de generalización cuando se usa la misma muestra (1) para evaluar el rendimiento de clasificación / predicción del clasificador al ajustar sus parámetros (eventualmente, con selección de características) y (2) usar a su vez sus predicciones en todo el conjunto de datos. De hecho, está rompiendo el control ejercido sobre el sobreajuste que se elaboró ​​mediante validación cruzada. Hastie y col. Proporcionar una buena ilustración de las trampas de CV, especialmente. wrt. selección de características, en su libro de ESL, § 7.10.2 en la 2da edición.
chl

@chl: ¿quién dijo algo sobre los parámetros de ajuste? Si se realizan cosas adicionales, también deben repetirse durante la validación cruzada. Modificar claramente su algoritmo hasta obtener buenas tasas de error con validación cruzada es "trampa". Por cierto, estoy de acuerdo en que la validación cruzada, especialmente la exclusión, no es tan buena.
Aniko

no, no es trampa, ya que CV le muestra la aproximación del rendimiento del algoritmo en los nuevos datos. Solo necesita asegurarse de que no se ha decidido por algo basado en todo el conjunto (esta es una filtración de información sobre la estructura del conjunto completo, por lo que puede sesgar de inmediato todas las partes del tren).

@mbq: Ankino es correcto, ajustar su modelo para minimizar una estadística CV es "trampa" y la estadística CV del modelo final tendrá un sesgo optimista sustancial. La razón de esto es que el estadístico CV tiene una variación no despreciable (ya que se evalúa en un conjunto finito de datos) y, por lo tanto, si optimiza directamente el estadístico CV, puede ajustarlo en exceso y puede terminar con un modelo que generaliza menos que el que comenzaste. Para una demostración de esto, en un contexto de aprendizaje automático, consulte jmlr.csail.mit.edu/papers/v11/cawley10a.html Solución: use XVAL anidado
Dikran Marsupial el

1

Así es como selecciono las características. Supongamos que, en base a ciertos conocimientos, hay 2 modelos para comparar. El modelo A usa las características no.1 a no. 10. El modelo B usa no.11 a no. 20. Aplicaré LOO CV al modelo A para obtener su rendimiento fuera de la muestra. Haga lo mismo con el modelo B y luego compárelos.


-1

No estoy seguro de los problemas de clasificación, pero en el caso de la selección de características para problemas de regresión, Jun Shao demostró que el CV Leave-One-Out es asintóticamente inconsistente , es decir, la probabilidad de seleccionar el subconjunto adecuado de características no converge a 1 como El número de muestras aumenta. Desde un punto de vista práctico, Shao recomienda una validación cruzada de Montecarlo o un procedimiento para dejar a muchos fuera.


Oh mi, una vez más; ¿Has leído el título de este artículo?

2
Ok, para ser claros, no digo que LOOCV sea una buena idea para una gran cantidad de objetos; obviamente no lo es, pero Shao no es aplicable aquí. De hecho, en la mayoría de los casos, las reglas para LM no son válidas para ML.

1
También es cuestionable si los resultados asintóticos son de uso práctico cuando se observan conjuntos de datos con una gran cantidad de características y comparativamente pocos patrones. En ese caso, es probable que la variación del procedimiento sea de mayor importancia práctica que el sesgo o la consistencia. El valor principal de LOOCV es que, para muchos modelos, se puede implementar a un costo computacional insignificante, por lo que si bien tiene una variación mayor que la de arranque, puede ser el único enfoque factible dentro del presupuesto computacional disponible. Por eso lo uso, ¡pero uso otra cosa para la evaluación del rendimiento!
Dikran Marsupial
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.