¿Podrían algunas características ser más importantes / significativas en algunos algoritmos de aprendizaje automático que en otros?

Nota: Probablemente debería dejar en claro que existen o pueden haber múltiples métodos de selección de características (es decir, AIC, BIC, cresta, lazo para OLS de más antiguo a más nuevo) para cualquier algoritmo dado, y estos tendrán diferentes efectos sobre la importancia de las características estará en el ajuste final resultante. (Para OLS, la importancia relativa de la característica generalmente se infiere de la magnitud de los coeficientes de las características normalizadas ). También existen métodos independientes del algoritmo para medir la importancia de la característica . Estos incluyen (pero no se limitan a) métodos que se basan en correlación e información mutua.


Fácilmente. Muy, muy fácilmente. ¿La razón? Diferentes algoritmos hacen diferentes suposiciones. No solo eso, calculan las importancias de diferentes maneras.

TL; DR Resumen: toma, por ejemplo, regresión de Y en múltiples X’s. Digamos que usamos un algoritmo basado en OLS (por ejemplo, lazo) y un algoritmo basado en un árbol de decisión (por ejemplo, bosques aleatorios). Surgen dos problemas: 1. el primero es determinista y el segundo tiene elementos aleatorios (por lo que la importancia variable puede ser ligeramente diferente para RF cada vez que se ejecuta uno con los mismos datos, a menos que se establezca una semilla). 2. Asumen que Y es una función diferente de las X: el lazo tiene Y como una función lineal de las X, mientras que RF tiene Y aproximadamente constante en hiper-rectángulos definidos por las X’s. Esto puede llevar a que diferentes variables sean importantes.


Considere dos algoritmos de ML que tienen raíces estadísticas: regresión con lazo y regresión a través de bosque aleatorio.

El lazo es un problema de optimización restringido: minimice los residuos de una regresión lineal, sujeto a que la norma L1 de los parámetros de regresión sea menor que un valor específico. Con el valor específico establecido y el mismo optimizador, el resultado será el mismo cada vez. También lo harán las variables de importancia, que se definen por la magnitud del coeficiente de cada variable.

La regresión forestal aleatoria, por otro lado, utiliza dos operadores estocásticos, la selección de características aleatorias en cada punto de división para cada árbol y el arranque, muestreando los datos con reemplazo de manera diferente para cada árbol cultivado. Solo si configura la semilla antes de ejecutar el regresor obtendrá los mismos resultados exactos cada vez, incluidas las importancias variables. Estas importancias variables se calculan utilizando datos fuera de bolsa (bolsa de ensacado = agregación de bootstrap) para ver cómo la permutación de cada variable afecta la reducción en MSE, y luego promedia el árbol y el bosque.

Incluso si ambas funciones de regresión fueran deterministas, diferentes variables serían importantes. Retrocedamos de un bosque de regresión a un árbol de regresión, tanto para ver un algoritmo determinista (bueno, más o menos) y dado que de eso se construyen los bosques.

Un árbol de regresión es un algoritmo codicioso que se divide en cada variable para maximizar la reducción del MSE en cada nodo. Particiona recursivamente el espacio de datos en una serie de hiper-rectángulos y predice una constante para cualquier nodo hoja dado. (El no determinismo proviene del hecho de que la mayoría de los algoritmos podan el árbol mediante validación cruzada, por lo que una semilla diferente podría de hecho conducir a un árbol diferente).

Esto implica suposiciones inherentemente diferentes: el lazo implica que hay una función lineal de las variables independientes que sigue la variable dependiente, y los modelos basados ​​en árboles suponen que la variable dependiente se describe mejor dividiendo el espacio de las variables independientes. Naturalmente, las variables que son importantes en general serán diferentes.

Sí. La ingeniería de características es el proceso de tomar datos y transformarlos para permitir que un algoritmo de aprendizaje automático aproveche al máximo. Cada algoritmo se beneficiará de diferentes procesos de ingeniería.

En general, aunque una buena característica debería ser una buena característica. Es posible que necesite usar transformaciones en esa característica para permitir que diferentes modelos la consuman, pero, aparte de las transformaciones, no debería ver que la característica X es súper importante para un modelo y no aporta valor a otro.

Un ejemplo, solo para aclarar la diferencia entre una buena característica conceptual y transformaciones para maximizar el valor de modelos específicos: digamos que ha identificado la “versión del navegador” como una característica importante para predecir el clic. Puede usar esa característica categórica como está en un modelo basado en un árbol, como un bosque aleatorio, pero es posible que necesite transformar la característica categórica en una serie de dummies si desea usar una regresión logística de una red neuronal.