data_mining:anomaly_detection

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
data_mining:anomaly_detection [2014/08/30 14:09] – angelegt phreazerdata_mining:anomaly_detection [2014/08/30 17:00] (current) – [Schätzung von $\mu, \sigma$ (Normalverteilung)] phreazer
Line 1: Line 1:
 ====== Anomaly Detection ====== ====== Anomaly Detection ======
-Wenn $p(x) \leq \epsilon$, dann liegt Anomalie vor.+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 = \frac{1}{m} \sum_{i=1}^m x_j^{(i)}$ 
 + 
 +Vektorisierbar als $\mu = 1/m \sum_{i=1}^m x^{(i)}$ 
 + 
 +$\sigma^2_j = \frac{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). 
 + 
 +===== 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, sonden ein Model $p(x)$ als Ganzes 
 + 
 +Parameter: 
 +$\mu$ 
 +Crosscorrelation Matrix: $\Sigma \in \mathbb{R}^{n \times n}$ 
 + 
 +Vorteilhaft, wenn Features positiv/negativ korreliert. 
 + 
 +==== Schätzung ==== 
 +  - Fitten des Models durch Schätzung von $\mu,\Sigma$ 
 +  - 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/x_2$ 
 +  * Weniger  Rechenintensiv (n = 10000 bis 100000) 
 +  * Geeignet auch wenn m klein (Multivar. muss m > n haben)
  • data_mining/anomaly_detection.1409400575.txt.gz
  • Last modified: 2014/08/30 14:09
  • by phreazer