Aquí hay una idea básica.
Construimos un modelo a partir de los datos que preguntan: “¿Cuál es la probabilidad de que la muestra no sea una anomalía? ”
Usando este modelo que construimos usando nuestros datos, podemos especular si otros ejemplos son anómalos o no.
- Actualmente estoy leyendo un libro sobre estructuras de datos y algoritmos. ¿Cuáles son algunos recursos que puedo usar para practicar la implementación?
- ¿Qué te dirías a ti mismo cuando recién comenzaste a programar, aprender algoritmos?
- ¿Cuál es el mejor enfoque para resolver estructuras de datos y problemas de algoritmos?
- ¿Cuáles son algunas aplicaciones prácticas de los árboles AVL y los árboles de separación?
- ¿Cuál es el curso / certificación mejor pagado disponible para estructuras de datos y algoritmo?
Habiendo construido un modelo,
Si [math] p (x_ {test}) <\ varepsilon [/ math], marque esto como una anomalía.
Si [math] p (x_ {test}) \ geq \ varepsilon [/ math], entonces está bien.
donde [math] \ varepsilon [/ math] es un valor de probabilidad de umbral que definimos según nuestras necesidades.
Modelamos cada una de las características asumiendo que cada característica se distribuye de acuerdo con una distribución gaussiana
[matemáticas] P (x: \ mu, \ sigma ^ {2}) = \ frac {1} {\ sqrt {2 \ pi \ sigma}} e ^ {- \ frac {(x- \ mu) ^ {2 }} {2 \ sigma ^ {2}}} [/ matemáticas]
Suponiendo que se asumen n características para cada dato de entrenamiento, [matemática] p (x) [/ matemática] es
[matemáticas] p (x) = \ prod_ {j = 1} ^ {n} P (x_ {j}: \ mu_ {j}, \ sigma ^ {2} _ {j}) [/ matemáticas]
El algoritmo es este.
¿Qué pasa si las características no se distribuyen normalmente? Luego, transforme los datos para que se vean aproximadamente gaussianos.
Editar 1:
Después de leer los comentarios del Usuario de Quora, creo que un clasificador / agrupamiento (binario) sin supervisión hará el trabajo.
Un algoritmo de agrupamiento muy utilizado es el agrupamiento k-means.
[0] y [1] son los enlaces para k-means ..
[0] 13_Clustering // notas
[1] // video