《异常检测——从经典算法到深度学习》0 绪论

目录

  • 0 概论
  • 1 基于隔离森林的异常检测算法
  • 2 基于LOF的异常检测算法
  • 3 基于One-Class SVM的异常检测算法
  • 4 基于高斯概率密度异常检测算法
  • 5 Opprentice——异常检测经典算法最终篇

0 绪论

此篇主要包括以下部分:

  • 异常检测的定义
  • 异常检测的应用场景
  • 异常检测问题的特点
  • 异常检测算法的分类
  • 异常检测算法的发展状况

0.1 异常检测的定义

异常: 异常是原理其他观测数据而被疑为不同机制产生的观测数据。—— 霍金斯(Hawkins)

异常检测: 在数据挖掘中,异常检测(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) 为分布函数。 —— 《异常检测综述》陈斌,陈松灿,潘志松,李斌; 山东大学学报

0.2 异常检测的应用场景

随着计算机广泛应用于各个场景,异常事件也层出不穷。因此异常检测技术用于各种领域,如入侵检测、欺诈检测、故障检测、系统健康监测、传感器网络事件检测和生态系统干扰检测等。

当然,对于做数据挖掘或者算法方面的人来说,数据预处理经常需要用到异常检测。因为去除异常数据的数据集往往会在统计上显著提升准确性。

还有最近很热的智能运维(AI Ops),异常检测是整个智能运维的核心工作。

0.3 异常检测问题的特点

  1. 异常样本少
  2. 异常类型多
  3. 异常的未知性

0.4 异常检测算法的分类

根据异常检测方法数学模型分类:

  • 基于统计学的方法
  • 基于邻近性的方法
  • 基于聚类的方法

根据训练集是否包含标注:

  • 无监督异常检测
  • 有监督异常检测

0.5 异常检测算法的发展状况

总体而言发展趋势如下:

  • 经典算法 —— 神经网络(尤其是深度学习)
  • 监督学习 —— 非监督学习
  • 特定领域 —— 宏观领域

如果是数据预处理,一般不会有太复杂的异常检测;但对于以异常检测为核心的项目来说(比如智能运维),传统算法已经完全不能满足需求。现在看到的绝大多数相关论文都是基于神经网络的相关算法。

当然,不能因为这趋势就放弃学习经典算法,因为目前来说,以一盖全的算法是不存在的,再完美的神经网络也不能应用于所有异常检测场景,并且在一些特定的场景中经典算法的效果却往往更加好。

Smileyan
2020年5月20日

最后修改:2020.5.28

你可能感兴趣的:(异常检测)