异常检测

异常检测

1、什么是异常
异常,字面即为异于常理,在不同邻域有不同的理解,在数据以训练集为核心,判断输入数据是否与训练集中的数据 “类似”。
至于什么才是“类似”,它的定义这取决于你所用的方法。给定一个数据集,如果你给的训练集只1,那么0就是“异常”;相反,如果你给的训练集是0,那1就是“异常”。
2、异常检测
异常检测(Anomaly Detection), 它是机器学习的一个重要分支,实际应用领域广泛,更与我们的生活息息相关。
1)异常值
霍金斯的定义为:“异常值是一个与其他观察结果有很大差异的观察结果, 以此引起人们怀疑它是由不同 的机制产生的”。
2)异常检测
所谓异常检测就是发现与大部分对象不同的对象,也就是发现离群点。一般规定数据具有“正常”模型,而异常被认为是与这个正常模型的偏差。在实际应用中对异常的定义也是特定的。
3、应用领域
1)网络入侵检测
2)保险/信用卡诈骗检测
3)保健信息获取/医疗诊断
3)产业损坏检
4)测图像处理/视频监控
4、一些难点
主要有:很难定义具有代表性的“正常”区域、正常行为与异常行为之间的界限往往并不明确、不同的应用领域对异常值的确切定义不同、难以获取用于训练/验证的标记数据、数据可能含有噪声、正常行为并不是一成不变的,会不断发展变化等。
5、异常检测方法
1)图形方法:箱型图
2)统计方法:单变量/多变量高斯分布
思想方法:①已知某种统计分布(如高斯分布)
②假设所有数据点都由该分布生成(如平均值和标准差),进行参数计算
③异常值是整体分布产生概率较低的点
3)距离的方法:k近邻算法
思想:根据与相邻点的距离来判断一个点是否为异常
4)密度的方法:局部异常因子(LOF)
思想:①将某一点周围的密度与其局部相邻点周围的密度进行比较
②该点与其邻相邻点的相对密度计为异常得分
6、模型方法
1)孤立森林
孤立森林假设我们用一个随机超平面来切割数据空间,切一次可以生成两个子空间。然后我们继续用随机超平面来切割每个子空间并循环,直到每个子空间只有一个数据点为止。直观上来讲,那些具有高密度的簇需要被切很多次才会将其分离,而那些低密度的点很快就被单独分配到一个子空间了。孤立森林认为这些很快被孤立的点就是异常点。
孤立森林(Isolation Forest)大多数现有的异常检测方法首先构建出正常数据的定义,然后将为不符合该定义的识别为异常。这些异常检测功能通常只是某些算法的“附带效果”或副产品,这些算法原本是为异常检测以外的目的而设的(如分类或聚类)。这导致了以下两方面的缺陷:
(i) 这些方法不针对检测异常进行优化,因此,它们的性能通常不尽人意,可能会触发过多错误警报(将正常值检测为异常),也可能检测灵敏性低,遗漏一些异常;
(ii) 由于其原始算法的遗留,许多现有方法受限于低维数据和较小的数据量。
孤立森林通过孤立实例来检测异常,并不依赖于任何距离或密度度量。
i)检测对象是少数包含几个实例的数据集。
ii)它们的属性值与正常实例的属性值相差较大可通过任何分隔实例的方式实现孤立。
2)复制神经网络(RNN)

总之,异常检测就是要从大量数据中找到那些“长的不一样”的数据,但检测过程一般较为复杂,而实际情况下数据一般都没有标签(label),因而很难界定与监测正常与异常,这方面还有很大的突破空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值