《异常检测——从经典算法到深度学习》0 绪论
《异常检测——从经典算法到深度学习》
- 0 概论
- 1 基于隔离森林的异常检测算法
- 2 基于LOF的异常检测算法
- 3 基于One-Class SVM的异常检测算法
- 4 基于高斯概率密度异常检测算法
- 5 Opprentice——异常检测经典算法最终篇
- 6 基于重构概率的 VAE 异常检测
- 7 基于条件VAE异常检测
- 8 Donut: 基于 VAE 的 Web 应用周期性 KPI 无监督异常检测
- 9 异常检测资料汇总(持续更新&抛砖引玉)
- 10 Bagel: 基于条件 VAE 的鲁棒无监督KPI异常检测
- 11 ADS: 针对大量出现的KPI流快速部署异常检测模型
- 12 Buzz: 对复杂 KPI 基于VAE对抗训练的非监督异常检测
- 13 MAD: 基于GANs的时间序列数据多元异常检测
相关:
- VAE 模型基本原理简单介绍
- GAN 数学原理简单介绍以及代码实践
有时候异常检测是一件很无聊的事情,但更多的时候是一件很好玩的事情。
当然这其实是一种很不负责的说法,因为更加需要强调的是异常检测的意义,诸如一些对人们日常生活、工业生产等的多方面意义,但我实在不想再强调异常检测的重要性了,因为无论你读哪篇异常检测论文都重复过了。
所以这里只把这个任务当成好玩的事情来完成,如果也觉得好玩的话可以考虑 阅读、评论、关注。
您的 点赞 收藏 评论 与 关注 对我有很大的督促与促进作用,感谢!
0 绪论
此篇主要包括以下部分:
- 异常检测的定义
- 异常检测的应用场景
- 异常检测问题的特点
- 异常检测算法的分类
- 异常检测算法的发展状况
0.1 异常检测的定义
异常: 异常是远离其他观测数据而被疑为不同机制产生的观测数据[1]。
在数据挖掘和统计中,异常也被称为异常、不一致、偏差或异常值[2]。
如图所示: N 1 N_1 N1 和 N 2 N_2 N2 是由大多数观测值组成的区域,因此视为正常数据实例地区,而区域 O 3 O_3 O3 和数据点 O 1 O_1 O1 和 O 2 O_2 O2 是少数几个远离大量数据点的数据点,因此被认为是异常。出现的原因有几个,如恶意行为、系统故障、故意欺诈。这些异常揭示了关于数据的令人兴奋的洞见,并且经常传递关于数据的有价值的信息。因此,异常检测被认为是各种决策系统中必不可少的步骤[3]。
异常检测: 在数据挖掘中,异常检测(Anomaly Detection)即对不匹配预期模式或数据集中其他项目的项目、事件或观测值的识别。 —— 百度百科
异常检测方法概述: 目前的异常检测,一般均从已知的正常数据类数据中进行学习,建立正常行为的模型以进行异常检测,从而构建一个假设模型 h ( x ) h(x) h(x) 和一个阈值 ρ \rho ρ ,当 h ( x ) ≥ ρ h(x) \geq \rho h(x)≥ρ 时判 x x x 为正常,否则为异常,而阈值 ρ \rho ρ 的设定则根据训练集上所允许的经验误差 α \alpha α 进行设定,使得 P ( h ( x ) ≥ ρ ) ≥ 1 − α P(h(x)\geq\rho)\geq1-\alpha P(h(x)≥ρ)≥1−α 其中 P ( x ) P(x) P(x) 为分布函数[4]。
0.2 异常检测的应用场景
随着计算机广泛应用于各个场景,异常事件也层出不穷。因此异常检测技术用于各种领域,如入侵检测、欺诈检测、故障检测、系统健康监测、传感器网络事件检测和生态系统干扰检测等。
当然,对于做数据挖掘或者算法方面的人来说,数据预处理经常需要用到异常检测。因为去除异常数据的数据集往往会在统计上显著提升准确性。
还有最近很热的智能运维(AIOps),异常检测是整个智能运维的核心工作。
0.3 异常检测问题的特点
- 异常样本少
- 异常类型多
- 异常的未知性
0.4 异常检测算法的分类
根据异常检测方法数学模型分类:
- 基于统计学的方法
- 基于邻近性的方法
- 基于聚类的方法
根据训练集是否包含标注:
- 无监督异常检测
- 有监督异常检测
0.5 异常检测算法的发展状况
总体而言发展趋势如下:
- 经典算法 —— 神经网络(尤其是深度学习)
- 监督学习 —— 非监督学习
- 特定领域 —— 宏观领域
如果是数据预处理,一般不会有太复杂的异常检测;但对于以异常检测为核心的项目来说(比如智能运维),传统算法已经完全不能满足需求。现在看到的绝大多数相关论文都是基于神经网络的相关算法。
当然,不能因为这趋势就放弃学习经典算法,因为目前来说,以一盖全的算法是不存在的,再完美的神经网络也不能应用于所有异常检测场景,并且在一些特定的场景中经典算法的效果却往往更加好。
参考文献
[1] Douglas M Hawkins. Identification of outliers, volume 11. Springer, 1980.
[2] Charu C Aggarwal. An introduction to outlier analysis. In Outlier analysis, pages 1–40. Springer, 2013.
[3] Chalapathy, Raghavendra,Chawla, Sanjay. Deep Learning for Anomaly Detection: A Survey, 2019.
[4] 陈斌, 陈松灿, 潘志松,等. 异常检测综述[J]. 山东大学学报(工学版), 2009(06):17-27.
Smileyan
发布日期:2020.5.20
最后修改:2020.11.18
感谢您的 点赞、 收藏、评论 与 关注
还没有评论,来说两句吧...