¿Cuál es la mejor manera de seleccionar automáticamente las características para la detección de anomalías?
Normalmente trato la detección de anomalías como un algoritmo en el que las características son seleccionadas por expertos humanos: lo que importa es el rango de salida (como en "entrada anormal - salida anormal"), por lo que incluso con muchas características puede obtener un subconjunto mucho más pequeño combinando Las características.
Sin embargo, suponiendo que, en general, una lista de características puede ser enorme, quizás a veces sea preferible un aprendizaje automatizado. Hasta donde puedo ver, hay algunos intentos:
- "Selección automática de funciones para la detección de anomalías" ( pdf ) que generaliza la descripción de datos de vectores de soporte
- "Un sistema rápido de detección de intrusiones basado en el host que utiliza la teoría de conjuntos toscos" (¿no hay pdf disponible?) Que, supongo, utiliza la teoría de conjuntos toscos
- "Reglas de aprendizaje para la detección de anomalías del tráfico de red hostil" ( pdf , video ) que utiliza un enfoque estadístico
Así que ahora me pregunto si alguien puede decirlo, suponiendo una detección de anomalías y un conjunto de características realmente grande (¿cientos?):
- ¿Tienen sentido esos enormes conjuntos de características? ¿No deberíamos simplemente reducir la configuración de funciones a, por ejemplo, unas pocas docenas y eso es todo?
- Si los conjuntos de características enormes tienen sentido, ¿cuál de los enfoques anteriores daría mejores predicciones y por qué? ¿Hay algo que no esté en la lista que sea mucho mejor?
- ¿Por qué deberían dar mejores resultados en comparación con, por ejemplo, la reducción de dimensionalidad o la construcción de características a través de la agrupación / clasificación / etc.?
fuente
Respuestas:
Un enfoque práctico (al menos en el caso del aprendizaje supervisado) es incluir todas las características posiblemente relevantes y utilizar un modelo lineal (generalizado) (regresión logística, svm lineal, etc.) con regularización (L1 y / o L2). Existen herramientas de código abierto (por ejemplo, Vowpal Wabbit) que pueden manejar billones de combinaciones de ejemplos / características para este tipo de modelos, por lo que la escalabilidad no es un problema (además, siempre se puede usar submuestreo). La regularización ayuda a lidiar con la selección de características.
fuente