95 votos

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

Me estoy confundiendo un poco con la selección de características y el aprendizaje de la máquina y me preguntaba si podrías ayudarme. Tengo un conjunto de datos de microarray que es clasificado en dos grupos y tiene miles de características. Mi objetivo es conseguir un pequeño número de genes (mis características) (10-20) en una firma que en teoría podré aplicar a otros conjuntos de datos para clasificar óptimamente esas muestras. Como no tengo tantas muestras (<100), no estoy usando un conjunto de pruebas y entrenamiento, sino que estoy usando la validación cruzada de Leave-one-out para ayudar determinar la robustez. He leído que se debe realizar una selección de características para cada división de las muestras, es decir.

  1. Seleccione una muestra como el conjunto de pruebas
  2. En el resto de las muestras realice la selección de características
  3. Aplicar el algoritmo de aprendizaje de la máquina a las muestras restantes utilizando las características seleccionadas
  4. Comprobar si el conjunto de pruebas está correctamente clasificado
  5. Ve a la 1.

Si haces esto, podrías obtener genes diferentes cada vez, así que ¿cómo obtener su clasificador de genes óptimo "final"? es decir, lo que 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, digamos que tengo un conjunto de datos de cáncer/normal y quiero para encontrar los 10 principales genes que clasificarán el tipo de tumor según una SVM. Me gustaría saber el conjunto de genes más los parámetros de SVM que podría ser utilizado en más experimentos para ver si puede ser usado como prueba de diagnóstico.

45voto

John Richardson Puntos 1197

En principio:

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

Para ver por qué sucede esto, consideremos un problema de clasificación binaria con 1000 características binarias pero sólo 100 casos, donde los casos y las características son todos puramente aleatorios, por lo que no hay relación estadística entre las características y los casos en absoluto. 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 resultan estar correlacionadas por casualidad). Si entonces realizamos una validación cruzada utilizando sólo esas características, obtendremos una estimación del rendimiento que es mejor que las suposiciones aleatorias. 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, incluidas las retenidas. Por supuesto, la verdadera tasa de error será de 0,5.

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

Los buenos papeles para leer son:

Christophe Ambroise, Geoffrey J. McLachlan, "Selection bias in gene extraction on the basis of microarray gene-expression data", PNAS http://www.pnas.org/content/99/10/6562.abstract

que es muy relevante para el OP y

Gavin C. Cawley, Nicola L. C. Talbot, "On Over-fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation", JMLR 11(Jul):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 de modelos (por ejemplo, el ajuste de los hiperparámetros de un SVM, que también deben repetirse en cada iteración del procedimiento de CV).

En la práctica:

Yo recomendaría usar "Bagging", y usar el error de "fuera de la bolsa" para estimar el rendimiento. Obtendrá un modelo de comité usando muchas características, pero eso es realmente algo bueno. Si sólo utiliza un modelo único, es probable que se sobreponga al criterio de selección de características, y termine con un modelo que da predicciones más pobres que un modelo que utiliza un mayor número de características.

El libro de Alan Millers sobre la selección de subconjuntos en la regresión (monografías de Chapman y Hall sobre estadística 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 hagas ninguna selección de características, sólo usa la regresión de cresta en su lugar. Y eso está en un libro sobre la selección de subconjuntos!!! ;o)

42voto

DavLink Puntos 101

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

Ya sea que uses LOO o CV plegable K, terminarás con características diferentes ya que la iteración de validación cruzada debe ser el lazo más externo, como dijiste. Puedes pensar en algún tipo de esquema de votación que califique los n-vectores de características que obtuviste de tu LOO-CV (no puedo recordar el papel pero vale la pena revisar el trabajo de Harald Binder o Antoine Cornuéjols ). En ausencia de una nueva muestra de prueba, lo que se suele hacer es volver a aplicar el algoritmo de ML a toda la muestra una vez que se han encontrado sus parámetros validados cruzados óptimos. Pero procediendo de esta manera, no se puede asegurar que no haya sobreajuste (ya que la muestra ya fue utilizada para la optimización del modelo).

O, alternativamente, puede utilizar métodos incrustados que le proporcionen características clasificadas a través de una medida de importancia variable, por ejemplo, como en Bosques al azar (RF). Como la validación cruzada se incluye en las RF, no tienes que preocuparte por la $n \ll p$ caso o maldición de la dimensionalidad. Aquí hay bonitos artículos sobre sus aplicaciones en los estudios de expresión genética:

  1. Cutler, A., Cutler, D.R., y Stevens, J.R. (2009). Tree-Based Methods, 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). A review of feature selection techniques in bioinformatics. 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 microarreglos utilizando el bosque aleatorio. BMC Bioinformática , 7 :3.
  4. Diaz-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 el bosque aleatorio. BMC Bioinformática , 8 : 328

Ya que estás hablando de SVM, puedes buscar penalizado SVM .

17voto

J Wynia Puntos 4679

Para añadir a la Chl: Cuando se utilizan máquinas de vector de apoyo, un método de penalización muy recomendado es la red elástica. Este método reducirá los coeficientes hacia cero, y en teoría conserva los coeficientes más estables del modelo. Inicialmente se usó en un marco de regresión, pero se extiende fácilmente para su uso con máquinas de vector de apoyo.

La publicación original : Zou y Hastie (2005) : Regularización y selección variable a través de la red elástica. J.R.Statist.Soc. B, 67-2,pp.301-320

Red elástica para SVM : Zhu & Zou (2007): Selección de Variables para la Máquina Vectorial de Soporte : Tendencias en la Computación Neural, 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

10voto

John with waffle Puntos 3472

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

La lógica es la siguiente: hay que pensar en la validación cruzada como un método para averiguar las propiedades del procedimiento que se está utilizando para seleccionar las características. Responde a la pregunta: "si tengo algunos datos y realizo este procedimiento, entonces ¿cuál es la tasa de error para clasificar una nueva muestra?". Una vez que se conoce la respuesta, se puede utilizar el procedimiento (selección de características + desarrollo de reglas de clasificación) en todo el conjunto de datos. A la gente le gusta dejar de lado porque las propiedades predictivas suelen depender del tamaño de la muestra, y $n-1$ suele estar lo suficientemente cerca de $n$ no importa mucho.

-1voto

Akira Puntos 1061

dejemos que f(x) sea la función de densidad de probabilidad de X. Podemos definir los momentos de X con respecto a m de la siguiente manera:

Mano izquierda un lado k-ésimo momento de x con respecto a m = int_[-inf m] (m-x)^k f(x) dx

Mano derecha un lado k-ésimo momento de x con respecto a m = int[m inf] (x-m)^k = f(x) dx

Se observan las siguientes analogías

  1. La mediana es la estadística para la cual los momentos cero de la mano izquierda y derecha son iguales (los momentos cero son sólo probabilidades)

  2. Para el medio, los primeros momentos de la mano izquierda y derecha de un lado son iguales.

  3. Para la estadística definida en la pregunta, los segundos momentos de un lado de la mano izquierda y derecha son iguales.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X