异常值检测
应用高斯分布检测异常数据
高斯分布
x服从均值为,方差为的高斯分布,其概率密度分布图如下:
其中,
算法流程
- 选出哪些你认为可能是异常的特征或者是样本
- 计算出你选择的数据的每个特征的均值和标准差
- 给定一个新的数据,计算:
如果则为异常
如何开发和评价一个异常检测系统
异常检测算法是一个非监督学习算法,意味着我们无法根据结果变量
例如:我们有10000台正常引擎的数据,有20台异常引擎的数据。 我们这样分配数据:
6000台正常引擎的数据作为训练集
2000台正常引擎和10台异常引擎的数据作为交叉检验集
2000台正常引擎和10台异常引擎的数据作为测试集
具体的评价方法如下:
根据测试集数据,我们估计特征的平均值和方差并构建p(x)函数
对交叉检验集,我们尝试使用不同的值作为阀值,并预测数据是否异常,根据值或者查准率与查全率的比例来选择
选出 后,针对测试集进行预测,计算异常检验系统的值,或者查准率与查全率之比
异常检测与监督学习的对比
异常检测 | 监督学习 |
非常少量的正向类(异常数据 y=1), 大量的负向类(y=0) | 同时有大量的正向类和负向类 |
许多不同种类的异常,非常难。根据非常 少量的正向类数据来训练算法。 | 有足够多的正向类实例,足够用于训练 算法,未来遇到的正向类实例可能与训练集中的非常近似。 |
未来遇到的异常可能与已掌握的异常、非常的不同。 | |