11.2. 异常检测算法的原始模型
本文最后更新于 2024年1月27日 下午
异常检测算法的原始模型
高斯分布
随机变量\(x\)的均值为\(μ\)方差为\(σ^2\),如果\(x\)的概率密度函数服从 \[P(x;μ,σ^2)=\frac{1}{√{2π}}exp(-\frac{(x-μ)^2}{2σ^2})\]
则称\(x\)服从高斯分布(或者称为正态分布,Gaussian
distribution/Normal distribution),将\(x\)记作\(x∿N(μ,σ^2)\)。
高斯分布的概率密度函数图像如下图所示:
高斯分布在\(x\)取到均值时的概率最大。
参数估计
参数估计的相关内容: 概率论与数理统计:样本的点估计法
假设随机变量\(x\)的\(m\)个样本:\(\{x^{(1)},..,x^{(m)}\}\),已知\(x\)服从\(x∿N(μ,σ^2)\)的高斯分布,通过样本数据估计随机变量\(x\)总体的\(μ\)与\(σ\),它们服从如下的估计规则(即最大似然估计法):
\[μ=\frac{1}{m}∑x^{(k)}\]
\[σ^2=\frac{1}{m}∑(x^{(k)}-μ)^2\]
使用高斯分布的异常检测算法
假设\(i\)维的数据集\(X=\{x^{(1)},..,x^{(m)}\}\),假设数据集\(X\)的特征\(x_i\)都服从高斯分布:\(x_i∿N(μ_i,σ_i^2)\),那么\(X\)的概率密度模型\(p(x)\)可以理解为所有特征的概率密度模型的乘积:
\[p(x)=Π_{i=1}^mp(x_i;μ_i,σ_i^2)\]
这个模型建立的假设基于\(\{x^{(1)},..,x^{(m)}\}\)相互独立,事实上大多数时候这些变量仍然是独立的,并且在即是有相关性的前提下算法性能仍然比较好。
算法流程
- 选取\(n\)个能够识别出异常的特征
- 通过已知数据集构建数据集\(X=\{x^{(1)},..,x^{(m)}\}\)
- 利用参数估计计算出每一个特征的均值\(μ_i\)和方差\(σ_i^2\):
\[μ_i=\frac{1}{m}∑_{k=1}^mx^{(k)}_i\]
\[σ_i^2=\frac{1}{m}∑_{k=1}^m(x^{(k)}_i-μ_i)^2\] - 计算\(X\)的概率密度模型:
\[p(x)=Π_{i=1}^np(x_i;μ_i,σ_i^2)=Π_{i=1}^n\frac{1}{√{2π}}exp(-\frac{(x-μ_i)^2}{2σ_i^2})\] - 给定一个新的\(x\),带入到\(p(x)\)中,判断\(p(x)\)与阈值\(ɛ\)的大小,给出结论。
\[y=\begin{cases} 1(异常),p(x_{test})<ɛ \\ 0(正常),p(x_{test})≥ɛ \end{cases}\]