机器学习之其他常用方法——异常检测(学习笔记)

异常检测

1. 应用

1.在工业上的应用
机器学习之其他常用方法——异常检测(学习笔记)
当检测设备是否处于异常工作状态时,可以由上图分析得到:那些零散的点对应的数据是异常数据。因为设备大多数时候都是处于正常工作状态的,所以数据点应该比较密集地集中在一个范围内,而那些明显偏出正常范围内的数据点就是我们要找的异常数据了,此时就可以自动监测到设备处于异常工作状态,就可以即使检查维修设备以避免不必要的损失。

2.在图像里的应用
机器学习之其他常用方法——异常检测(学习笔记)
通过异常检测,我们也可以检测到图像中的异常图像。(如上图中的小红鱼)
此外,异常检测的应用还有很多,比如:
异常消费检测(商业)
缺陷基因检测(医疗)
劣质产品检测(工业)等等

2.定义

根据输入的数据,对不符合预期模式的数据进行识别

3.简介

假设我们有一个一维的数据集,在这个数据集中有m个样本:
机器学习之其他常用方法——异常检测(学习笔记)
数据在x轴的分别如下图:
机器学习之其他常用方法——异常检测(学习笔记)
我们的目标是自动地找出这上面的异常样本,就可以根据样本在坐标轴上分布的数量多少,计算出坐标轴上各点对应的样本的概率密度,可以设定当概率密度小于某个值时,这时其对应的样本就是我们要找的异常样本。
机器学习之其他常用方法——异常检测(学习笔记)
概率密度:概率密度函数是一个描述随机变量在某个确定的取值点附近的可能性的函数

这里说一下高斯分布的概率密度函数:

机器学习之其他常用方法——异常检测(学习笔记)
机器学习之其他常用方法——异常检测(学习笔记)
机器学习之其他常用方法——异常检测(学习笔记)
根据这些数据我们就可以进行相应计算了
机器学习之其他常用方法——异常检测(学习笔记)
把计算出来的结果带入公式中就可以算出p(x)了
机器学习之其他常用方法——异常检测(学习笔记)
了解了高斯分布概率密度函数后,怎样通过高斯分布概率密度函数去解决异常检测问题呢?这里仍以上述的一维数据为例。
机器学习之其他常用方法——异常检测(学习笔记)
在我们知道X1、X2……Xm这些数据后,就可以进行相应计算了。

  1. 计算数据均值u,标准差σ
  2. 计算对应的高斯分布概率密度函数
    机器学习之其他常用方法——异常检测(学习笔记)
    计算出来后,数据对应的高斯分布概率密度函数如下图
    机器学习之其他常用方法——异常检测(学习笔记)
    机器学习之其他常用方法——异常检测(学习笔记)
    该点就为异常点

如果高于一维怎么办?
机器学习之其他常用方法——异常检测(学习笔记)
比如这里n维的数据,每一个维度都有m个样本。若要计算其高斯分布概率密度函数,可按如下步骤:
机器学习之其他常用方法——异常检测(学习笔记)
机器学习之其他常用方法——异常检测(学习笔记)
先计算出每一个维度下对应的均值和标准差了,这样就可以计算每个维度下的概率密度函数
机器学习之其他常用方法——异常检测(学习笔记)
我们将计算出的每个维度下的概率密度函数相乘就可以计算出总的概率密度函数了
机器学习之其他常用方法——异常检测(学习笔记)
最后再根据高维下的概率密度函数判断其是否小于预期就可以判断异常点了
机器学习之其他常用方法——异常检测(学习笔记)
举个栗子,下面给出一组二维数据,来判断当x1=3.5,x2=3.5时,对应的点是不是异常点
机器学习之其他常用方法——异常检测(学习笔记)
知道了标准差和均值,就可以计算其概率密度函数了
机器学习之其他常用方法——异常检测(学习笔记)
经计算可判断该点为异常点

很多时候,为了更直观的观察概率密度函数,我们是可以把它画出来的,下图是二维数据下的一个概率密度函数图
机器学习之其他常用方法——异常检测(学习笔记)
此时异常点在图中的位置大概是这样的
可以看出该点明显异常
机器学习之其他常用方法——异常检测(学习笔记)
老规矩,下一篇实战
ps:写博客属实有点累~~ thanks!