异常评估
异常评估是针对之前的无监督学习得到的结果,若产生了区别于以构建好的阳性模型(即产生阴性结果。发出异常。
引入样例
假 如 一 个 二 维 数 据 集 { x ( 1 ) , x ( 2 ) , . . . , x ( m ) } , 其 分 布 样 例 如 下 所 示 新 增 一 个 训 练 集 x t e s t , 查 看 新 增 效 果 。 \begin{aligned} & 假如一个二维数据集\{x^{(1)},x^{(2)},...,x^{(m)}\},其分布样例如下所示\\ & 新增一个训练集x_{test},查看新增效果。 \end{aligned} 假如一个二维数据集{x(1),x(2),...,x(m)},其分布样例如下所示新增一个训练集xtest,查看新增效果。
看到给出一个新的测试x,在某些情况内是正确(OK),但在某些情况内可能是异常的(anomaly)。
给
出
判
定
过
程
:
x
(
i
)
是
第
i
个
特
征
。
得
出
该
特
征
相
对
于
样
本
的
分
布
概
率
p
(
x
)
检
查
p
(
x
)
<
ε
\begin{aligned} 给出判定过程:&\\ & x^{(i)}是第i个特征。\\ & 得出该特征相对于样本的分布概率p(x)\\ & 检查p(x)<\varepsilon \end{aligned}
给出判定过程:x(i)是第i个特征。得出该特征相对于样本的分布概率p(x)检查p(x)<ε
高斯分布
对于高斯分布
给
定
一
个
训
练
集
{
x
(
1
)
,
x
(
2
)
,
.
.
.
,
x
(
m
)
}
,
x
∈
R
n
要
求
出
多
维
下
的
联
合
概
率
,
即
p
(
x
)
=
∏
j
=
1
n
p
(
x
j
,
μ
j
,
σ
j
2
)
需
要
先
求
出
μ
j
=
1
m
∑
i
m
x
j
(
i
)
σ
j
2
=
1
m
∑
i
m
(
x
j
(
i
)
−
μ
j
(
i
)
)
2
对
于
一
个
新
的
样
本
x
,
计
算
p
(
x
)
判
断
p
(
x
)
<
ε
\begin{aligned} & 给定一个训练集\{x^{(1)},x^{(2)},...,x^{(m)}\},x\in\mathbb{R}^n\\ & 要求出多维下的联合概率,即p(x)=\prod_{j=1}^n p(x_j,\mu_j,\sigma_j^2)\\ & 需要先求出\mu_j=\frac{1}{m}\sum_i^m x_j^{(i)}\qquad \sigma_j^2=\frac{1}{m}\sum_i^m(x_j^{(i)}-\mu_j^{(i)})^2\\ & 对于一个新的样本x,计算p(x)判断p(x)<\varepsilon \end{aligned}
给定一个训练集{x(1),x(2),...,x(m)},x∈Rn要求出多维下的联合概率,即p(x)=j=1∏np(xj,μj,σj2)需要先求出μj=m1i∑mxj(i)σj2=m1i∑m(xj(i)−μj(i))2对于一个新的样本x,计算p(x)判断p(x)<ε
评估异常检测算法
评估方法仍可以是之前的机器学习算法评估标准
- 真假阳性与阴性
- 精确度和召回率
- 之前提到的
注意选择合适的ε
异常评估与监督学习的比较
异常评估是在样本不符合期望时进行报错,之后再根据情况进行调整。
监督学习是有着y的,当1和0的差距过于悬殊之后,可能就效果不好
- 训练集限制
- 异常评估可以有较少的阳性点进行误差判断,
- 监督学习样本最好阳性阴性相接近。
调整为合适的高斯分布
非高斯分布
通过对变量取对数
,取次方
来使其倾向于高斯分布
联合高斯分布
看一种情况。
x1和x2的高斯分布如右图所示。联合起来的图像如左图所示。
现在新加入一个样例x,若该x在左上。那么我们在单独的高斯分布上,似乎每一个都没有太过偏离。期望仍是不错的。
但是很明显这是一种错误的情况。如左图所示,独立的高斯分布给出的结果是如同心圆一样,但是这里的两个变量x1,x2是存在相关性的,因此要考虑相关性的联合高斯分布。
对
于
x
∈
R
n
的
样
本
,
μ
∈
R
n
,
∑
∈
R
n
∗
n
p
(
x
;
μ
;
∑
)
=
1
(
2
π
)
n
2
∣
∑
∣
1
2
exp
(
−
1
2
(
x
−
μ
)
T
∑
(
−
1
)
(
x
−
μ
)
)
μ
=
1
m
∑
i
=
1
m
x
(
i
)
∑
=
1
m
∑
i
=
1
m
(
x
(
i
)
−
μ
)
(
x
(
i
)
−
μ
)
T
(
类
似
主
成
分
分
析
)
判
断
p
(
x
)
<
ε
对于x\in\mathbb{R}^n的样本,\mu\in\mathbb{R}^n,\sum\in\mathbb{R}^{n*n}\\ p(x;\mu;\sum)=\frac{1}{(2\pi)^{\frac{n}{2}}|\sum|^{\frac{1}{2}}}\exp(-\frac{1}{2}(x-\mu)^T\sum \!^{(-1)}(x-\mu))\\ \mu=\frac{1}{m}\sum_{i=1}^mx^{(i)}\qquad\sum=\frac{1}{m}\sum_{i=1}^m(x^{(i)}-\mu)(x^{(i)}-\mu)^T\qquad(类似主成分分析)\\ 判断p(x)<\varepsilon
对于x∈Rn的样本,μ∈Rn,∑∈Rn∗np(x;μ;∑)=(2π)2n∣∑∣211exp(−21(x−μ)T∑(−1)(x−μ))μ=m1i=1∑mx(i)∑=m1i=1∑m(x(i)−μ)(x(i)−μ)T(类似主成分分析)判断p(x)<ε
联合高斯与独立高斯区别
可以看一下公式
独
立
高
斯
:
p
(
x
)
=
∏
(
x
j
;
μ
j
;
σ
j
2
)
联
合
高
斯
:
p
(
x
;
μ
;
∑
)
=
1
(
2
π
)
n
2
∣
∑
∣
1
2
exp
(
−
1
2
(
x
−
μ
)
T
∑
(
−
1
)
(
x
−
μ
)
)
这
里
的
∑
就
是
那
个
σ
2
矩
阵
。
独立高斯: p(x)=\prod(x_j;\mu_j;\sigma^2_j)\\ 联合高斯:p(x;\mu;\sum)=\frac{1}{(2\pi)^{\frac{n}{2}}|\sum|^{\frac{1}{2}}}\exp(-\frac{1}{2}(x-\mu)^T\sum \!^{(-1)}(x-\mu))\\ 这里的\sum就是那个\sigma^2矩阵。
独立高斯:p(x)=∏(xj;μj;σj2)联合高斯:p(x;μ;∑)=(2π)2n∣∑∣211exp(−21(x−μ)T∑(−1)(x−μ))这里的∑就是那个σ2矩阵。
- 训练集区别
- 独立高斯,可以在训练集m较小的时候使用。
- 联合高斯需要m>n,即训练集大小m > 特征数n。或者Σ可逆。
- 特征的区别
- 独立高斯,特征值需要独立,例如上面的x1和x2,需要将其合并为x3=x1/x2.
- 联合高斯,可以直接计算,上面的Σ就是协方差矩阵,经过变换可以独立。
参考资料
B站吴恩达机器学习相关课程:https://www.bilibili.com/video/BV164411b7dx