吴恩达机器学习笔记:第 9 周-15 异常检测(Anomaly Detection) 15.7-15.8

本文介绍了在特征空间广泛的多元高斯分布如何应用于异常检测,通过协方差矩阵处理相关特征,以及如何通过计算样本均值和协方差矩阵估计参数。文章还讨论了多元高斯分布与原高斯分布的区别和在异常检测中的优势。
摘要由CSDN通过智能技术生成

第 9 周 15、 异常检测(Anomaly Detection)

15.7 多元高斯分布(选修)

假使我们有两个相关的特征,而且这两个特征的值域范围比较宽,这种情况下,一般的高斯分布模型可能不能很好地识别异常数据。其原因在于,一般的高斯分布模型尝试的是去同时抓住两个特征的偏差,因此创造出一个比较大的判定边界。

下图中是两个相关特征,洋红色的线(根据 ε 的不同其范围可大可小)是一般的高斯分布模型获得的判定边界,很明显绿色的 X 所代表的数据点很可能是异常值,但是其𝑝(𝑥)值却仍然在正常范围内。多元高斯分布将创建像图中蓝色曲线所示的判定边界。

在这里插入图片描述
在一般的高斯分布模型中,我们计算 𝑝(𝑥) 的方法是: 通过分别计算每个特征对应的几率然后将其累乘起来,在多元高斯分布模型中,我们将构建特征的协方差矩阵,用所有的特征一起来计算 𝑝(𝑥)。

我们首先计算所有特征的平均值,然后再计算协方差矩阵:

p ( x ) = ∏ j = 1 n p ( x j , μ j , σ j 2 ) = ∏ j = 1 n 1 2 π σ j e − ( x j − μ j ) 2 2 σ j 2 p(x) =\prod_{j=1}^n{p(x_j,\mu_j,\sigma_j^2 )} =\prod_{j=1}^n{\frac{1}{\sqrt{2\pi}\sigma_j}e^{-\frac{(x_j-\mu_j)^2}{2\sigma_j^2}}} p(x)=j=1np(xj,μj,σj2)=j=1n2π σj1e2σj2(xjμj)2
μ = 1 m ∑ i = 1 m x ( i ) \mu =\frac{1}{m}\sum_{i=1}^m{x^{(i)}} μ=m1i=1mx(i)
∑ = 1 m ∑ i = 1 m ( x ( i ) − μ ) ( x ( i ) − μ ) T = 1 m ( X − μ ) T ( X − μ ) ∑=\frac{1}{m}\sum_{i=1}^m{(x^{(i)} -\mu)(x^{(i)} -\mu)^T} =\frac{1}{m}(X-\mu)^T(X-\mu) =m1i=1m(x(i)μ)(x(i)μ)T=m1(Xμ)T(Xμ)

注:其中 μ \mu μ是一个向量,其每一个单元都是原特征矩阵中一行数据的均值。最后我们计算多元高斯分布的𝑝(𝑥):
p ( x ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) p(x) = \frac{1}{(2\pi)^{\frac{n}{2}}|\Sigma|^{\frac{1}{2}}} e^{(-\frac{1}{2}(x-\mu)^T \Sigma^{-1} (x-\mu))} p(x)=(2π)2n∣Σ211e(21(xμ)TΣ1(xμ))
其中:
|𝛴|是定矩阵,在 Octave 中用 det(sigma)计算
𝛴1 是逆矩阵,下面我们来看看协方差矩阵是如何影响模型的:
在这里插入图片描述

上图是 5 个不同的模型,从左往右依次分析:

  1. 是一个一般的高斯分布模型
  2. 通过协方差矩阵,令特征 1 拥有较小的偏差,同时保持特征 2 的偏差
  3. 通过协方差矩阵,令特征 2 拥有较大的偏差,同时保持特征 1 的偏差
  4. 通过协方差矩阵,在不改变两个特征的原有偏差的基础上,增加两者之间的正相关性
  5. 通过协方差矩阵,在不改变两个特征的原有偏差的基础上,增加两者之间的负相关性

多元高斯分布模型与原高斯分布模型的关系:
可以证明的是,原本的高斯分布模型是多元高斯分布模型的一个子集,即像上图中的第1、2、3,3 个例子所示,如果协方差矩阵只在对角线的单位上有非零的值时,即为原本的高斯分布模型了。

原高斯分布模型和多元高斯分布模型的比较:

原高斯分布模型多元高斯分布模型
不能捕捉特征之间的相关性 但可以通过将特征进行组合的方法来解决自动捕捉特征之间的相关性
计算代价低,能适应大规模的特征计算代价较高 训练集较小时也同样适用
必须要有 𝑚 > 𝑛,不然的话协方差矩阵 不可逆的,通常需要 𝑚 > 10𝑛 另外特征冗余也会导致协方差矩阵不可逆

原高斯分布模型被广泛使用着,如果特征之间在某种程度上存在相互关联的情况,我们可以通过构造新新特征的方法来捕捉这些相关性。

如果训练集不是太大,并且没有太多的特征,我们可以使用多元高斯分布模型。

15.8 使用多元高斯分布进行异常检测(选修)

在我们谈到的最后一个视频,关于多元高斯分布,看到的一些建立的各种分布模型,当你改变参数,𝜇 和 𝛴。在这段视频中,让我们用这些想法,并应用它们制定一个不同的异常检测算法。

要回顾一下多元高斯分布和多元正态分布:

在这里插入图片描述
分布有两个参数, 𝜇 和 𝛴。其中𝜇这一个𝑛维向量和 𝛴 的协方差矩阵,是一种𝑛 × 𝑛的矩阵。而这里的公式𝑥的概率,如按 𝜇 和参数化 𝛴,和你的变量 𝜇 和 𝛴,你可以得到一个范围的不同分布一样,你知道的,这些都是三个样本,那些我们在以前的视频看过了。

因此,让我们谈谈参数拟合或参数估计问题:
我有一组样本𝑥(1), 𝑥(2), . . . , 𝑥(𝑚)是一个𝑛维向量,我想我的样本来自一个多元高斯分布。我如何尝试估计我的参数 𝜇 和 𝛴 以及标准公式?

估计他们是你设置 𝜇 是你的训练样本的平均值。
μ = 1 m ∑ i = 1 m x ( i ) \mu=\frac{1}{m}\sum_{i=1}^m{x^{(i)}} μ=m1i=1mx(i)
并设置𝛴:
Σ = 1 m ∑ i = 1 m ( x ( i ) − μ ) ( x ( i ) − μ ) T Σ =\frac{1}{m}\sum_{i=1}^m{(x^{(i)} -\mu)(x^{(i)} -\mu)^T} Σ=m1i=1m(x(i)μ)(x(i)μ)T

这其实只是当我们使用 PCA 算法时候,有 𝛴 时写出来。所以你只需插入上述两个公式,这会给你你估计的参数 𝜇 和你估计的参数 𝛴。所以,这里给出的数据集是你如何估计 𝜇 和𝛴。让我们以这种方法而只需将其插入到异常检测算法。那么,我们如何把所有这一切共同开发一个异常检测算法?
在这里插入图片描述
首先,我们把我们的训练集,和我们的拟合模型,我们计算𝑝(𝑥),要知道,设定𝜇和描述的一样𝛴。
在这里插入图片描述
如图,该分布在中央最多,越到外面的圈的范围越小。
并在该点是出路这里的概率非常低。
原始模型与多元高斯模型的关系如图:
其中:协方差矩阵𝛴为:
在这里插入图片描述
原始模型和多元高斯分布比较如图:
在这里插入图片描述

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值