美文网首页
15.异常检测(anomaly detection)

15.异常检测(anomaly detection)

作者: justinwei | 来源:发表于2019-03-26 19:02 被阅读0次

第九周、Lecture 15

  1. 假设所有的训练数据符合高斯分布(Gaussian(Normal) distribution)
    高斯分布
    均值(mean):\mu
    标准方差(standard deviation):\sigma^2
    P(x, \mu,\sigma^2) = \frac1{\sqrt{2\pi}}exp(-\frac{(x-\mu)^2}{2\sigma^2})
    其中:
    \mu=\frac1m\sum_{i=1}^mx^{(i)}
    \sigma^2=\frac1m\sum_{i=1}^m(x^{(i)}-\mu)^2
  2. 算法描述:
    1.)选择特性x_i是一组符合高斯分布的特证向量,x_i \in R^n
    2.)计算\mu_1, \mu_2,..., \mu_n, \sigma_1^2,\sigma_2^2,...,\sigma_n^2
    \mu_j=\frac1m\sum_{i=1}^mx_j^{(i)}
    \sigma_j^2=\frac1m\sum_{i=1}^m(x_j^{(i)}-\mu)^2
    3.) 对于一个新的x值的概率p(x)
    p(x)=\prod_{j=1}^np(x_j,\mu_j, \sigma_j^2)=\prod_{j=1}^n \frac1{\sqrt{2\pi}}exp(-\frac{(x_j-\mu_j)^2}{2\sigma_j^2})

\prod_{j=1}^nx_j = x_1\times x_2 \times ... \times x_n

3.异常检测系统的开发和评价
给定一组训练集(x,y) , “y=0”(正常 non-anomalous), "y=1"(异常 anomalous)
1.) 把数据拆分成训练集和验证集/测试集(cross validation/test)
2.) 计算训练集(x^{(1)},x^{(2)},...,x^{(m)})的概率p(x)
3.) 在验证集中
y= \begin{cases}{1, if\ p(x) < \varepsilon(异常 anomalous)} \\ {0, if\ p(x) \geq \varepsilon (正常 non-anomalous)} \end{cases}
求出 F_1-score最大值对应的\varepsilon
F_1-score = \frac{precision \times Recall}{precision + Recall}

  1. 异常检测 vs. 监督学习
异常检测 监督学习
- 非常小的异常数据"y=1"的数据
- 非常大的正常数据
- 太多的异常数据类别
-"y=1"和"y=1"的数据量相差不大
例如:
- 欺诈检测
- 制造业的那异常产品
- 数据中心的监控
- 垃圾邮件
- 天气预报
- 肿瘤分类

5.选择特征变量(feature)
1.) 非高斯分布的特征可以通过函数变换,例如log(x)

image.png
2.) 异常检测的误差分析(error analysis for anomaly detection)
目标:找到x,使
正常(normal)的概率P(x)最大
异常(anomaly)的概率P(x)最小
例如:如下图所示
image.png
如果x1是异常,使是x1出现的概率p(x)值特别大说明x的特性(feature)不对,要找出其他的特征值(feature),使概率最小。
实际的例子:
对于数据中心的异常监控(monitoring computers in data center)
x_1=内存,x_2=磁盘访问次数/秒,x_3=cpu值,x_4=网络压力
发现p(x_3),和p(x_4)分布在异常点但并非异常
这些找出x_5=\frac{x_3}{x_4} ,既\frac{CPU}{网络压力}分布处于异常点
  1. 多变量高斯分布(multivariate Gaussian distribution)
    前面的算法是P(x) = P(x_1) \times P(x_2) \times ... \times P(x_n) = \prod_{i=1}^{n}P(x_i)
    对于多变量高斯分布(multivariate Gaussian distribution)不再计算每个变量x_i的对应的p(x_i)然后相乘。
    而是做为一个整体计算p(x),x \in R^{\ m \times n}
    参数\mu为n维向量 \mu \in R^n
    参数\Sigma为n times n 的矩阵 \mu \in R^{\ n \times n}
    P(x, \mu, \Sigma)=\frac1{(2\pi)^{n/2}|\Sigma|^{1/2}}exp(-\frac12(x-u)^T)\Sigma^{-1}(x-\mu))
    \mu = \frac1m\sum_{i=1}^mx^{(i)}
    \Sigma= \frac1m\sum_{i=1}^m(x^{(i)}-\mu)(x^{(i)}-\mu)^T
原来的模型(original mode) 多变量高斯分布(multivariate Gaussian distribution)
需要人工选择变量,找出异常值,
例如前面提到的 x_3=\frac{cpu}{memory}
优点是计算量更小
可以自动获取异常值
计算量比较大
m>n否则\Sigma求不出来

相关文章

网友评论

      本文标题:15.异常检测(anomaly detection)

      本文链接:https://www.haomeiwen.com/subject/swbgvqtx.html