Code前端首页关于Code前端联系我们

深度机器学习系列——异常检测(AnomalyDetection)

terry 2年前 (2023-09-27) 阅读数 66 #数据结构与算法
异常检测(AnomalyDetection)是机器学习的一个重要分支,有着广泛的实际应用,与我们的生活息息相关。那么什么是异常检测呢?目前面临的主要方法和技术问题是什么?这篇文章或许可以提供一些参考。 定义
  • 离群值

霍金斯的定义是:“离群值是指与其他观察结果显着不同的观察结果,从而引起人们怀疑它是由不同机制产生的。”

  • 异常检测

所谓异常检测就是找到与大多数对象不同的对象,即找到异常值。通常认为数据具有“正常”模型,偏差被认为是与该正常模型的偏差。实际应用中异常的定义也是具体的。深入机器学习系列——异常检测(Anomaly Detection)应用领域

  • 网络入侵检测
  • 保险/信用卡欺诈检测
  • 医疗保健信息获取/医疗诊断
  • 工业损害检测
  • 图像处理/视频监控
主要挑战
  • 很难定义具有代表性的“正常”区域
  • 正常和异常行为之间的界限通常不明确
  • 异常值的确切定义因应用领域而异
  • 难以获得训练/验证标签数据
  • 数据可能包含噪声
  • 正常行为不是静态的,会不断演化和变化
异常检测方法 1.图形方法:箱线图 2.统计方法:单变量/多变量高斯分布 3.基于距离的方法

4。基于密度的方法:LOF

5。基于模型的方法:孤立森林,RNN1。图形方法:Boxplot

  • Square 盒子的底部和顶部分别是 Q1(下四分位数)和 Q3(上四分位数)
  • 盒子内部的线段是第二四分位数(中位数)
  • 大于分位数+1.5IQR或小于顶部四分位数-1.5IQR的底部四个值是异常值(四分位数范围IQR=Q3-Q1)
深入机器学习系列——异常检测(Anomaly Detection)2.统计方法:单变量/多元高斯分布总体思路
  • 熟悉给定的统计分布(如高斯分布)
  • 假设所有数据点均由该分布生成(如均值和标准差),进行参数计算
  • 异常值是整体的下端分布概率

基本假设

  • 正常数据点遵循(已知)分布并出现在模型的高概率区域中
  • 异常值偏离此分布

1. 单变量高斯分布

(1 ) 选择能够代表异常实例的特征xj

(2)。用参数 u1, …, un, σ12, …, σn2 进行调整 深入机器学习系列——异常检测(Anomaly Detection)(3) 如果知道新实例 x,则计算 p(x)深入机器学习系列——异常检测(Anomaly Detection) (4) 如果 p(x) 2。多元高斯分布 深入机器学习系列——异常检测(Anomaly Detection)深入机器学习系列——异常检测(Anomaly Detection)3。问题

  • 平均值和标准差与异常值 非常敏感。
  • 这些值是针对整个数据集计算的,包括潜在的异常值。
  • 选择正确的ε值是很困难的。
  • 数据分布未知。?密集邻域
  • 离群值距离其相邻点较远,即具有稀疏邻域

实现方法

  • 计算每对数据点之间的距离

定义离群值的各种方法

  • 点给定距离内少于 p 个相邻点的数据点为 D 个离群值
  • 与第 k 个相邻点距离最大的前 n 个点为离群值
  • 与 k 个最近邻点的平均距离最大的数据点为离群值

问题

  • 此假设并不一定在所有情况下都成立。
  • 计算每对数据之间的距离是昂贵的。
  • 维数灾难的问题,即随着维数的增加,计算量呈指数级增长。
深入机器学习系列——异常检测(Anomaly Detection)4。基于密度的方法:局部离群因子 (LOF) 总体思路
  • 将给定点周围的密度与其局部相邻点周围的密度进行比较
  • 该点及其相邻点 相对密度计算为异常得分

基本假设

  • 正常数据点的密度与其邻居的密度相似
  • 异常点的密度与其邻居的密度有很大不同

1。对于距离p点的第k个点 距离

点p的第k个距离(k为正整数),表示为k-distance(p),定义为点p到点的距离d(p,o) oε D,使得:

(1) 集合中除 p 之外至少有 k 个点 o'εD 满足 d(p,o,)≤d(p,o) 且

(2 ) 集合 k−1 个点 o'∈D 中最多不存在包含 p 满足 d(p,o,)

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门