¿Selección de características usando aprendizaje profundo?

9

Quiero calcular la importancia de cada característica de entrada usando el modelo profundo.

Pero solo encontré un artículo sobre la selección de características mediante el aprendizaje profundo: la selección de características profundas . Insertan una capa de nodos conectados a cada entidad directamente, antes de la primera capa oculta.

Escuché que la red de creencias profundas (DBN) también se puede usar para este tipo de trabajo. Pero creo que DBN proporciona solo abstracciones (grupos) de características como PCA, por lo que, aunque puede reducir la dimensión de manera efectiva, me pregunto si es posible calcular la importancia (peso) de cada característica.

¿Es posible calcular la importancia de la característica con DBN? ¿Y hay otros métodos conocidos para la selección de características que utilizan el aprendizaje profundo?

z991
fuente

Respuestas:

10

Un enfoque que puede adoptar para casi cualquier modelo de predicción es entrenar primero su modelo y encontrar su precisión, luego, para una entrada, agregue algo de ruido y verifique la precisión nuevamente. Repita esto para cada entrada y observe cómo el ruido empeora las predicciones. Si una entrada es importante, la incertidumbre adicional debida al ruido será perjudicial.

Recuerde configurar la varianza del ruido para que sea proporcional a la varianza de la entrada en cuestión.

Por supuesto, el ruido es aleatorio y no desea que una entrada parezca sin importancia debido a los efectos aleatorios. Si tiene pocos ejemplos de entrenamiento, considere calcular repetidamente el cambio en la precisión para cada ejemplo de entrenamiento con un nuevo ruido agregado cada vez.

En respuesta a los comentarios:

Este análisis también se puede hacer eliminando una variable por completo, pero esto tiene algunas desventajas en comparación con la adición de ruido.

  • Suponga que una de sus entradas es constante, actúa como un término de sesgo, por lo que tiene un papel que desempeñar en la predicción, pero no agrega información. Si eliminó esta entrada por completo, entonces la predicción sería menos precisa porque los perceptrones están obteniendo el sesgo incorrecto. Esto hace que la entrada parezca importante para la predicción, aunque no agrega información. Agregar ruido no causará este problema. Este primer punto no es un problema si ha estandarizado todas las entradas para que tengan una media cero.

  • Si dos entradas están correlacionadas, la información sobre una entrada proporciona información sobre la otra. Un modelo podría estar bien entrenado si usó solo una de las entradas correlacionadas, por lo que desea que el análisis descubra que una entrada no es útil. Si acaba de eliminar una de las entradas, como el primer punto hecho, la precisión de la predicción disminuiría mucho, lo que indica que es importante. Sin embargo, agregar ruido no causará este problema.

Hugh
fuente
2
Hugh, estoy familiarizado con eso al eliminar la función. ¿Cuáles son las ventajas de reemplazar la función con ruido?
DaL
@Dan, no quise decir que la función debería reemplazarse completamente con ruido, solo que se debería agregar algo de ruido. Eliminar una característica puede hacer que las características sin importancia parezcan importantes si tienen una media distinta de cero o si están correlacionadas con otras variables. He editado mi respuesta para explicar.
Hugh
Gracias por el comentario. Pero, de hecho, tengo un conjunto de características (entradas) y muchas de ellas están correlacionadas. En este caso, ¡quizás el tiempo de cálculo será cercano a n! ya que necesito considerar las combinaciones Por lo tanto, quiero aplicar un modelo basado en el aprendizaje profundo que pueda considerar combinaciones complejas de características.
z991
@ z991 en regresión lineal multivariable, el mismo problema puede ocurrir con variables que no están perfectamente correlacionadas. A menudo introducimos cada variable de una en una o utilizamos todas las variables y las eliminamos de una en una. No hay forma de calcular simplemente la mejor combinación. Si eso no se ha resuelto para la regresión lineal, no encontrará una solución para NN. Podrías adoptar el mismo enfoque y eliminar variables de una en una y evitar la n! cálculo.
Hugh
1
@Huge Gracias por el comentario. Estoy de acuerdo contigo. Pero lo que realmente quería saber era cómo calcular la importancia de cada característica con aprendizaje profundo o red neuronal. Como utilizan varias extracciones de características (capas ocultas), me resultó difícil analizar la importancia de las características. Es posible calcular el peso total de cada característica, pero parece ser bastante complejo y requiere mucho tiempo. El documento vinculado usó una sola capa lineal y creo que es una buena idea. Quería conocer otros mejores métodos para analizar la importancia de las características en la red.
z991
2

Quizás revise este documento: https://arxiv.org/pdf/1712.08645.pdf

Usan la deserción para clasificar las características.

... En este trabajo utilizamos el concepto de abandono en la capa de entidades de entrada y optimizamos la tasa de abandono correspondiente a las funciones. Dado que cada característica se elimina estocásticamente, nuestro método crea un efecto similar al embolsado de funciones (Ho, 1995) y logra clasificar las funciones correlacionadas mejor que otros métodos sin embolsado como LASSO. Comparamos nuestro método con Random Forest (RF), LASSO, ElasticNet, Marginal ranking y varias técnicas para obtener importancia en DNN, como Deep Feature Selection y varias heurísticas ...

Hombre de Florida
fuente