机器学习系列22:异常检测

2019-09-26 16:18:39 浏览数 (1)

现在有一个网站,为了防止该网站被人恶意攻击,你采取了以下措施。给每个用户建立用户画像,记录他的一些操作,例如:打字速度,浏览时间,点击网页次数等等。。。可以将这些特征建立一个模型,让它有一个阈值,当低于这个阈值时,就可能是有人在恶意攻击你的网站,这时候你就要小心了。就像下图,如果超出蓝圈,那这个数据就有可能发生了异常:

那么这个模型是怎么建立出来的呢?用到的是异常检测算法(Anomanly detection)。异常检测算法是用高斯正态分布推导出来的,方法很简单,就是将每个特征的高斯正态分布值相乘,得到的结果与阈值相比较,若大于这个阈值,就认为是没有异常的。

◆◆

一个完整的异常检测的流程大致如下:

◆◆

1.对于无标签的样本选取特征;

2.每个特征根据公式计算出高斯分布中所需要的参数 μ 和 σ^2;

3.画出高斯分布的图像;

4.将交叉验证集中的数据根据是否异常打上标签;

5.在交叉验证集中根据 F 值选择阈值;

6.阈值选好后,将每个特征的高斯正态分布值相乘,并与阈值进行比较,若小于阈值,则为异常数据。

◆◆

异常检测与监督学习的比较

◆◆

当正样本(出错的样本)很少时,我们就需要用到异常检测法,而正负样本都很多时,我们就需要用监督学习

0 人点赞