This is an old revision of the document!
Anomaly Detection
Wenn $p(x) < \epsilon$, dann liegt Anomalie vor.
$p(x) = p(x_1;\mu_1;\sigma^2_1)p(x_2;\mu_2;\sigma^2_2)\dots p(x_n;\mu_n;\sigma^2_n) = \prod_{j=i}^n p(x_j;\mu_j;\sigma^2_j)$
Unabhängigkeitsannahme
Schätzung von $\mu, \sigma$ (Normalverteilung)
$\mu_j = 1/m \sum_{i=1}^m x_j^{(i)}$
Vektorisierbar als $\mu = 1/m \sum_{i=1}^m x^{(i)}$
$\sigma^2_j = 1/m \sum^m_{i=1} (x_j^{(i)}-\mu_j)^2$
Evaluierung durch Kennzahl
Einige gelabelte Daten vorhanden.
y=0: normal (10000) y=1: anormal (20)
Split:
- Training set: 6000 (y=0)
- CV: 2000 good (y=0); 10 anom (y=1)
- Test: 2000 good (y=0); 10 anom (y=1)
Evaluation
- Model $p(x)$ auf Trainingsset fitten
- Auf CV/Testset $x, y$ vorhersagen
- Metriken:
- TP, FP, FN, TN
- Precision/Recall
- $F_1$-score
- $\epsilon$ auf CV-Set wählen
Anomaly detection vs. supervised learning
Anomaly detection:
- Kleine Zahl positiver Beispiele
- Viele verschiedene Typen von Anomalien, für Algorithmen schwer vorhersehbar, wie die Anomalien aussehen (zukünftige Anomalien können in der Zukunft völlig anders aussehen).