文章目录
0. 版权声明
- Machine learning 系列笔记来源于Andrew Ng 教授在 Coursera 网站上所授课程《Machine learning》1;
- 该系列笔记不以盈利为目的,仅用于个人学习、课后复习及交流讨论;
- 如有侵权,请与本人联系([email protected]),经核实后即刻删除;
- 转载请注明出处;
1. 异常检测原理
1.1 Symbol
- :随机变量 x 的概率分布;
:服从正态分布的随机变量 x 的概率分布,其均值为,方差为 ;
:随机变量 第 i 个特征的均值;
1.2 Gaussian(Normal) distribution
- 高斯分布:即正态分布,服从该分布的随机变量 均值为 ,方差为 ,记为 ;
- N 表示 Normal distribution;
- 标准差 决定高斯分布概率密度函数的宽度;
1.3 异常检测算法
- 密度估计问题:即求解 ;
- 设随机变量 有多个特征 ;
- ;
上式的前提为特征 均独立,即使不满足该前提时,使用该式计算所得结果依然很好(语出 Andrew Ng 《Machine learning》 Week 9 视频:Algorithm 2:19 秒);
- 异常检测算法的步骤:
- Step 1:选取若干特征 ;
- Step 2:拟合期望与方差;
- ,向量化可得 ;
- ,向量化可得 ;
- Step 3:对给定的新样本 ,计算 ;
- ;
- 取阈值为 ,若 ,则新样本 为异常点;
2. 构建异常检测系统
2.1 如何评价一个异常检测系统
- 异常检测系统的评价算法:
- Step 1:将带标签的样本划分为训练集、交叉验证集和测试集,样本划分时使假设训练集中无异常样本,交叉验证集和测试集中有异常样本;
- 样本划分案例:数据集中有 10000 个正常样本,20 个异常样本,则将其划分为训练集中有 6000 个正常样本,交叉验证集中有 2000 个正常样本和 10 个异常样本,测试集中有 2000 个正常样本和 10 个异常样本;
- 训练集中正常样本数量较多,有利于拟合高斯分布中的参数;
- Step 2:在训练集中拟合模型 及参数 ;
- 一般而言,异常检测问题中,正常样本数量远多于异常样本数量,因此评价偏斜类问题时,使用 -score 作为判断依据;
- 在交叉验证集中,使用多个 ,使 -score 最大的 即为最合适的阈值,也使用该方式决定选择那些特征;
- Step 3:在测试集中评价算法;
- Step 1:将带标签的样本划分为训练集、交叉验证集和测试集,样本划分时使假设训练集中无异常样本,交叉验证集和测试集中有异常样本;
2.2 异常检测与监督学习的差异
- Q:在异常检测系统中使用了带标签的样本,为什么不使用监督学习的方法解决该问题?
A:- 异常检测方法的适用场景:
- 正常样本较多,异常样本较少;
- 异常的种类较多,难以学到所有的异常类型,处理此前从未见过的异常类型;(导致引擎故障的原因有很多,算法难以通过较少的样本,学到所有可能导致引擎故障的类型,也难以处理从未见过的新的异常类型)
- 监督学习方法的适用场景:
- 正常样本和异常样本均较多;
- 算法能够通过数量足够的样本学到故障类型,判断新样本时仅需将其与已有的故障类型对应即可;
- 异常检测方法的适用场景: