【学习笔记】吴恩达机器学习 | 第十三章 | 异常检测

在这里插入图片描述

简要声明


  1. 课程学习相关网址
    1. Bilibili
    2. 网易云课堂
    3. 学习讲义
  2. 由于课程学习内容为英文,文本会采用英文进行内容记录,采用中文进行简要解释。
  3. 本学习笔记单纯是为了能对学到的内容有更深入的理解,如果有错误的地方,恳请包容和指正。
  4. 非常感谢Andrew Ng吴恩达教授的无私奉献!!!

专有名词


Anomaly detection异常检测Gaussian distribution高斯分布
Multivariate Gaussian distribution多元高斯分布

Anomaly detection


Density estimation

在这里插入图片描述

  1. 假定m个样本都是正常的,判断一个新的样本数据x_test是否是异常的
  2. 给定无标签的训练集,对数据建模为概率p(x) ,设定阈值ε,如果概率p低于阈值ε则将其标记为异常 →在中心区域的p(x)值会非常大

Anomaly detection example

  1. Fraud detection 欺诈检测
  2. Manufacturing 工业检测
  3. Monitoring computers in a data center 数据中心的计算机监控

Gaussian distribution


Gaussian distribution

在这里插入图片描述

x ∼ N ( μ , σ 2 ) x\sim N(\mu,\sigma^2) xN(μ,σ2)

p ( x ; μ , σ 2 ) = 1 2 π ⋅ σ e x p ( − ( x − μ ) 2 2 σ 2 ) p(x;\mu,\sigma^2)=\frac{1}{\sqrt{2\pi}\cdot \sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2}) p(x;μ,σ2)=2π σ1exp(2σ2(xμ)2)

  1. 假设x是一个实数的随机变量,如果x的概率分布服从高斯分布,其均值为μ,方差为σ的平方

在这里插入图片描述

Parameter estimation

  1. Dataet: {x(1), x(2), … x(m)}
  2. μ和σ2的极大似然估计

μ = 1 m ∑ i = 1 m x ( i ) \mu=\frac{1}{m}\sum_{i=1}^mx^{(i)} μ=m1i=1mx(i)

σ 2 = 1 m ∑ i = 1 m ( x ( i ) − μ ) 2 \sigma^2=\frac{1}{m}\sum_{i=1}^m(x^{(i)}-\mu)^2 σ2=m1i=1m(x(i)μ)2

Anomaly detection Algorithm


Density estimation

  1. Training set: {x(1), x(2), … x(m)}

    x 1 ∼ N ( μ 1 , σ 1 2 ) x 2 ∼ N ( μ 2 , σ 2 2 ) x 3 ∼ N ( μ 3 , σ 3 2 ) ⋯ x n ∼ N ( μ n , σ n 2 ) x_1\sim N(\mu_1,\sigma_1^2) \\ x_2\sim N(\mu_2,\sigma_2^2) \\ x_3\sim N(\mu_3,\sigma_3^2) \\ \cdots \\ x_n\sim N(\mu_n,\sigma_n^2) \\ x1N(μ1,σ12)x2N(μ2,σ22)x3N(μ3,σ32)xnN(μn,σn2)

p ( x ) = p ( x 1 ; μ 1 , σ 1 2 ) ⋅ p ( x 2 ; μ 2 , σ 2 2 ) ⋅ p ( x 3 ; μ 3 , σ 3 2 ) ⋯ p ( x n ; μ n , σ n 2 ) = ∏ j = 1 n p ( x j ; μ j , σ j 2 ) p(x)=p(x_1;\mu_1,\sigma_1^2)\cdot p(x_2;\mu_2,\sigma_2^2)\cdot p(x_3;\mu_3,\sigma_3^2)\cdots p(x_n;\mu_n,\sigma_n^2) \\ =\prod_{j=1}^np(x_j;\mu_j,\sigma_j^2) p(x)=p(x1;μ1,σ12)p(x2;μ2,σ22)p(x3;μ3,σ32)p(xn;μn,σn2)=j=1np(xj;μj,σj2)

Anomaly detection Algorithm

  1. Choose features x_i that you think might be indicative of anomalous examples →选择特征值x指出那些反常的样本 →提出一些特征,当出现异常样本时,特征值会异常地特别大或者特别小

  2. Fit parameters μ_1, … , μ_n, σ_12, … , σ_n2 →计算均值和方差

    μ j = 1 m ∑ i = 1 m x j ( i ) \mu_j=\frac{1}{m}\sum_{i=1}^mx_j^{(i)} μj=m1i=1mxj(i)

    σ j 2 = 1 m ∑ i = 1 m ( x j ( i ) − μ j ) 2 \sigma_j^2=\frac{1}{m}\sum_{i=1}^m(x_j^{(i)}-\mu_j)^2 σj2=m1i=1m(xj(i)μj)2

  3. Given new example x, compute p(x) →给出一个新样本,计算概率

    p ( x ) = ∏ j = 1 n p ( x j ; μ j , σ j 2 ) = ∏ j = 1 n 1 2 π ⋅ σ j e x p ( − ( x j − μ j ) 2 2 σ j 2 ) p(x)=\prod_{j=1}^np(x_j;\mu_j,\sigma_j^2) = \prod_{j=1}^n\frac{1}{\sqrt{2\pi}\cdot \sigma_j}exp(-\frac{(x_j-\mu_j)^2}{2\sigma_j^2}) p(x)=j=1np(xj;μj,σj2)=j=1n2π σj1exp(2σj2(xjμj)2)

  4. 如果概率p(x)小于阈值,则说明异常

在这里插入图片描述

Evaluating an anomaly detection system


The importance of real‐number evaluation

  1. 当为某个应用开发一个学习算法时,需要进行一系列的选择,如果有某种方法通过返回一个实数来评估算法,对这些选择做出决定往往会容易很多
  2. 假设有一些带标签的数据,指明哪些是异常样本和正常样本 ( y=0 if normal 正常, y=1 if anomalous 异常).
  3. 把训练集看作无标签的包含大量正常样本的集合 →无差异样本 →x^(1), x^(2), … , x^(m),
  4. 交叉验证集和测试集用来评估异常检测算法 →包含异常数据 →(x_cv^(m_cv), y_cv^(m_cv))
  5. normal (y=0): Training set : CV : Test = 6:2:2
  6. anomalous (y=1): CV : Test = 1:1

在这里插入图片描述

Algorithm evaluation

  1. Fit model p(x) on training set {x(1), x(2), … x(m)} →使用训练集拟合模型p(x) →把m个无标签样本用高斯函数来拟合

  2. On a cross validation/test example , predict y →在交叉验证集和测试集中预测 y

    y = { 1 i f   p ( x ) < ε   ( a n o m a l y ) 0 i f   p ( x ) ≥ ε   ( n o r m a l ) y=\begin{cases} 1 \qquad if\ p(x)<\varepsilon\ (anomaly) \\ 0 \qquad if\ p(x)\ge \varepsilon\ (normal) \end{cases} y={1if p(x)<ε (anomaly)0if p(x)ε (normal)

  3. Possible evaluation metrics 评价指标 → 第九章 | 机器学习系统设计

    1. True positive 真阳性, false positive 假阳性, false negative 假阴性, true negative 真阴性
    2. Precision 查准率 /Recall 召回率
    3. F_1‐score
  4. use cross validation set to choose parameter ε →尝试去使用交叉验证集选择阈值ε

Anomaly detection vs. supervised learning


在这里插入图片描述

  1. 正样本数量很少,负样本数量多 →异常检测算法;在合理范围内有大量的正样本和负样本 →监督学习
  2. 异常检查:经常有许多不同类型的异常,有很少数量的正样本,很难从小数量的正样本中学习异常是什么,新异常可能跟正样本完全不一样
  3. 监督学习:有足够数量的正样本或是一个已经能识别正样本的算法,未来可能出行的正样本与当前训练集中的正样本类似

Choosing what features to use


Non­‐gaussian features

  1. 即使数据不是高斯分布,算法往往也能正常运行
  2. 如果数据不是高斯分布,会对数据进行一些不同的转换,使得它看上去更接近高斯分布
    1. 对数据进行一次对数转换 log(x) →将x替换成log(x)
    2. 用log(x+c) 取代 x
    3. 用x的平方根来取代 x,也就是x1/2
    4. 用x的三分之一次幂取代x,也就是x1/3

Error analysis for anomaly detection

  1. Want p(x) large for normal examples x. p(x) small for anomalous examples x →希望在正常样本p(x)大,在异常样本p(x)小
  2. Most common problem 最普遍的问题
    1. p(x) is comparable (say, both large) for normal and anomalous examples →p(x)是可比较的(当样本正常和异常时p(x)的值都比较大
  3. 错误检测:通过观察出错样本,判断是否需要增加新的特征,来帮助算法找到异常样本和正常样本的区别 →看看哪里出错了,看看这个算法没有标记出来的异常样本,看看它是否能启发你创造一些新特征
  4. 选择既不会特别大也不会特别小的特征,如果特征互为线性关系,可创造一个新特征对两个线性关系的特征相除

Multivariate Gaussian distribution


在这里插入图片描述

  1. 异常检查不能识别椭圆形这种互为线性关系的特征

Multivariate Gaussian (Normal) distribution

p ( x ; μ , Σ ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e x p ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) p(x;\mu,\Sigma)=\frac{1}{(2\pi)^{\frac{n}{2}} |\Sigma|^{\frac{1}{2}}}exp(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)) p(x;μ,Σ)=(2π)2n∣Σ211exp(21(xμ)TΣ1(xμ))

  1. 建立一个整体的p(x)模型,参数是向量μ和协方差矩阵Σ
  2. 协方差矩阵Σ可以改变多元高斯分布的形状,向量μ改变位置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Anomaly detection with the multivariate Gaussian

p ( x ; μ , Σ ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e x p ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) p(x;\mu,\Sigma)=\frac{1}{(2\pi)^{\frac{n}{2}} |\Sigma|^{\frac{1}{2}}}exp(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)) p(x;μ,Σ)=(2π)2n∣Σ211exp(21(xμ)TΣ1(xμ))

μ = 1 m ∑ i = 1 m x ( i ) \mu=\frac{1}{m}\sum_{i=1}^mx^{(i)} μ=m1i=1mx(i)

Σ = 1 m ∑ i = 1 n ( x ( i ) − μ ) ( x ( i ) − μ ) T \Sigma = \frac{1}{m}\sum_{i=1}^n(x^{(i)}-\mu)(x^{(i)}-\mu)^T Σ=m1i=1n(x(i)μ)(x(i)μ)T

  1. Fit model p(x) by setting →用数据集设定μ和Σ来拟合模型
  2. Given a new example x, compute p(x) →给一个新样本x,用多元高斯分布公式来计算p(x)
  3. 如果p(x)小于阈值 ε 就标记该样本为异常

Original model vs. multivariate Gaussian

在这里插入图片描述

  1. 原始模型是特殊情况下的多元高斯分布 →通过限制 p(x)的分布是轴对称的 →当协方差矩阵Σ在非对角线上都是0
  2. 通过异常的组合值来捕捉异常样本 →对于原始模型需要创建额外的特征,对于多元高斯模型能自动捕捉不同特征之间的关系
  3. 原始模型的一个巨大优势是计算成本较低 →能适应数量巨大的特征;对于多元高斯模型需要计算协方差矩阵Σ的逆,计算成本十分昂贵
  4. 对于原始模型,即使有一个较小的有一定相关性的训练集也能顺利运行;对于多元高斯模型,必须保证m大于n(样本数量大于特征数量)否则协方差矩阵Σ是一个奇异矩阵,不可逆
  5. 如果在拟合多元高斯模型的时候发现协方差矩阵Σ是奇异或者不可逆的,通常有两种情况没有满足,一是没有满足m大于n的条件,二是存在冗余的特征(线性相关)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chency.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值