Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
data_mining:anomaly_detection [2014/08/30 12:27] – phreazer | data_mining:anomaly_detection [2014/08/30 15:00] (current) – [Schätzung von $\mu, \sigma$ (Normalverteilung)] phreazer | ||
---|---|---|---|
Line 7: | Line 7: | ||
===== Schätzung von $\mu, \sigma$ (Normalverteilung) ==== | ===== Schätzung von $\mu, \sigma$ (Normalverteilung) ==== | ||
- | $\mu_j = 1/m \sum_{i=1}^m x_j^{(i)}$ | + | $\mu_j = \frac{1}{m} \sum_{i=1}^m x_j^{(i)}$ |
Vektorisierbar als $\mu = 1/m \sum_{i=1}^m x^{(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$ | + | $\sigma^2_j = \frac{1}{m} \sum^m_{i=1} (x_j^{(i)}-\mu_j)^2$ |
===== Evaluierung durch Kennzahl ===== | ===== 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/ | ||
+ | * $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, | ||
+ | |||
+ | ===== Feature selection ===== | ||
+ | Histogramm der Daten plotten, wenn es wie eine Normalverteilung aussieht, kann Feature verwendet werden. | ||
+ | Logarithmische Transformation möglich $log(x+c)$ oder $x^{(1/2)}$ | ||
+ | |||
+ | Häufigstes Problem: $p(x)$ ist ähnlich für normale und anormale Beispiele | ||
+ | |||
+ | Anomaly betrachten und Features entwickeln, bei denen die Anomaly außerhalb liegt. | ||
+ | |||
+ | ===== Multivariate Normal Distribution ===== | ||
+ | |||
+ | Nicht $p(x_n)$ modellieren, | ||
+ | |||
+ | Parameter: | ||
+ | $\mu$ | ||
+ | Crosscorrelation Matrix: $\Sigma \in \mathbb{R}^{n \times n}$ | ||
+ | |||
+ | Vorteilhaft, | ||
+ | |||
+ | ==== Schätzung ==== | ||
+ | - Fitten des Models durch Schätzung von $\mu, | ||
+ | - p(x) berechnen | ||
+ | * Anomaly flaggen wenn $p(x) < \epsilon$ | ||
+ | |||
+ | Unterschied zu vorherigem Modell: $\Sigma$ kann hier von 0 verschiedene Werte für nicht-diagonal Elemente besitzen. | ||
+ | |||
+ | Ursprüngliches Modell: | ||
+ | * Wenn manuell Features erzeugt werden, die ungewöhnliche Kombinationen beinhalten $x_3=x_1/ | ||
+ | * Weniger | ||
+ | * Geeignet auch wenn m klein (Multivar. muss m > n haben) |