Selección automática de funciones para la detección de anomalías.


11

¿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?):

  1. ¿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?
  2. 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?
  3. ¿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.?

Su enlace no me trajo ninguna pregunta específica. ¿Puedes dar una breve descripción del problema? Cual es el objetivo? ¿Es un problema de aprendizaje supervisado o no supervisado?
AdamO

La pregunta era de ML.SE, que ahora está cerrada, aparentemente los administradores no se habían fusionado en todas las preguntas. ¡Edité el texto ahora para indicar explícitamente el problema!
andreister

Respuestas:


1

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.


Pero, ¿cómo seleccionar características en configuraciones no supervisadas (sin necesidad de usar modelos lineales, etc., para obtener características importantes)? Una forma en la que puedo pensar es usando PCA para retener algunas variaciones y reducir el tamaño de los datos. Pero nuevamente, reducir los datos en el problema de detección de anomalías parece peligroso, ya que podría terminar perdiendo valores atípicos reales que deseaba predecir. De ahí la confusión.
exAres
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.