机器学习第九周(一)--异常检测

来源:互联网 发布:tensor flow 知乎 编辑:程序博客网 时间:2024/06/04 17:57

  • 异常检测
    • 异常检测问题引入
    • 异常问题定义
    • 异常检测应用
  • 高斯分布
  • 异常检测算法
    • 异常检测例子

异常检测

异常检测问题引入

异常检测问题虽然主要用于非监督学习问题,但从某些角度看,又类似于一些监督学习问题。

以飞机引擎的QA测试为例,我们需要采集一些飞机引擎的特征,如 x1  x2 ,如果生产了m个引擎的话就有了m个数据集,我们需要对一个新生产的引擎 xtest 判断是否有异常?

异常检测

异常问题定义

假设我们有m个正常的样本数据 x(1),x(2)...x(m) 我们需要一个算法来告诉我们一个新的数据 xtest 是否异常。
具体算法:给定的无标签的训练集,对数据集建立一个概率分布模型 p(x) ,对于新的数据 xtest ,如果概率低于阈值ϵ ;即 p(xtest)<ϵ ,即将其标为异常。反之,如果 p(xtest)>=ϵ ,我们认为是正常的。

模型定义

异常检测应用

异常检测应用
欺诈检测、计算机异常检测、、、


高斯分布

若x是一个随机变量,且x的概率服从高斯分布:其中均值为μ ,方差为θ2 

高斯分布

如图,高斯曲线主要有俩个参数:μ θ ,这俩个参数与函数图像之间的关系:
这里写图片描述

μ 是图像的中心位置,因为曲线围成的面积是不变的,都是1,。所以θ 越大,离散化程度越大,图像越宽,反之,θ 越小,图像就越高瘦。

参数估计
μ θ 的具体实现公式如下:

μ=1mi=1mx(i)

θ2=1mi=1m(x(i)μ)2

在统计学中,theta项中会采用m-1项,这叫无偏估计。机器学习中,习惯采用m,当数据集很大时,这区别很小,可以忽略不计。


异常检测算法

异常检测

假设共有m个样本,每个样本有n维特征,对每个样本有高斯分布,总的模型由每个样本的高斯模型连乘得出;这里给出异常检测算法的一般步骤:

这里写图片描述

1、从样本中找出体现异常行为的特征
2、分别计算每个特征参数μ θ 
3、给定新样本,计算出对应的 p(x) ,判断 p(x) <ϵ 

异常检测例子

异常检测

这里ϵ 给定为0.02,后面会有说明如何选定ϵ 。分别计算俩个新样本的概率。判断是否为异常。

原创粉丝点击