数据异常到底该如何检测?(二)

有了之前的铺垫和理论,本文就用一些现实中的实际数据进行一些具体的算法的应用。数据为网络访问日志文件,主要选择了单位时间内的访问请求次数与单位访问中的动作数作为二维特征,并且便于可视化的显示,下面分别进行三种异常算法尝试:

1. K-means:

算法原理:根据特征向量之间的距离度量进行无监督的训练样本聚类。选定聚类数K,随机选择初始点,并根据距离确定训练数据点的聚类标签,然后重新计算聚类中心,不断迭代每个样本点的距离,并重新赋值标签,直到算法收敛或迭代至参数值

可以看出一些红色的点更远的偏离了整体样本点的中心,作为异常点的概率更大

2. OneClassSVM:

算法原理:根据对已有支持向量机的理解,算法并非对已有标签的数据进行分类判别,而是通过回答:yes or no的方式去根据支持向量域描述(support vector domaindescription SVDD),将样本数据训练出一个最小的超球面(大于3维特征),其中在二维中是一个曲线,将数据全部包起来,即将异常点排除。Sklearn包中给出的demo实验结果如图:可以看出在不同的数据分布下会有一些不一样的误差,其中调整参数中有一个比较重要的nu,表示异常点比例,默认值为0.5

在同样的数据特征维度下,直接调用sklearn包,其中设置nu=0.15

实验结果如下:

其中第二张是放大之后的图。可以看出,OneClassSVM在对这样数据分布中,并不能更好的发挥作用,绿色点中的红色误差点有一些莫名其妙;但至少在nu=0.15参数下,可以将Kmeans中的红色聚类点区分出。

3. Isolation Forest(iforest)算法:

算法原理:这个算法是由周志华老师提出,面对高维数据依然有效快速,在网站异常数据检测的比赛中获得过不错的名次。其主要的算法原理简洁有效,如图所示:

根据树的结构可以有效的进行二分法,划归一个点是否离群异常,可以根据划分这个点的次数去判断,再加入森林集成算法进行投票,使算法的泛化能力更强。

在最新版本的sklearn0.18 中集成有iforest,但实验环境下的anaconda的安装包不是最新版本。最终进行算法原理编程得到如图结果,异常值比例为0.15

可以看出在与kmeans的比较中,将第一类蓝色点的边界更加缩小,但在一些位置上并未判别出离群,作为非监督学习方法,最终还是需要依据新的数据和标签去确认聚类的准确率。

4. 时间序列异常检测:

根据一些业务需求,除了对每次数据点进入框架内做出算法的判断评价,更重要是根据历史数据,进行长期的时间序列监控预警。

根据目前的已有日志信息,主要是时间戳和响应时长;需要进行每分钟的请求次数以及相应的响应时长,首先先按照3欧米伽指标进行简单测试:

但这些简单的统计指标对于某些异常情况并不能检测,还需要加入多种类似曲线指标:协助检测周期性异常、极大值异常点、极小值异常点和空段点,如图所示:

对于时间序列模型如:AM、ARMA和高斯分布参数估计等算法进行进一步处理。有待读者和小编一起学习~

原文发布于微信公众号 - 智能算法(AI_Algorithm)

原文发表时间:2016-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术沉淀

03 Types of Learning

从Output Space/Data Label/Protocol/Input Space四个维度介绍常见机器学习类型,见详细课件。

1901
来自专栏鸿的学习笔记

写给开发者的机器学习指南(四)

查全率是定义由给定查询和数据语料库的算法检索的相关性的大小。因此,给定一组文档和应该返回这些文档的子集的查询,查全率的值表示实际返回了多少相关文档。 此值计算如...

651
来自专栏机器学习原理

深度学习——CNN(3)CNN-AlexNetCNN-GoogleNet其他网络结构

2555
来自专栏和蔼的张星的图像处理专栏

SAMF

论文:paper 结合了CN和KCF的多尺度扩展,看文章之前就听说很暴力,看了以后才发现原来这么暴力。 论文的前一半讲KCF,后一半讲做的实验,中间一点点大...

1762
来自专栏张耀琦的专栏

【机器学习入门系列】梯度下降法

什么是梯度下降法?学习速率的引入;如何调整学习速率;Adagrad算法介绍;用泰勒展开式对梯度下降法进行数学理论支持。

1.5K1
来自专栏目标检测和深度学习

教程 | 先理解Mask R-CNN的工作原理,然后构建颜色填充器应用

选自matterport 作者:Waleed Abdulla 机器之心编译 参与:刘晓坤 上年 11 月,matterport 开源了 Mask R-CNN 实...

2375
来自专栏MelonTeam专栏

机器学习入门系列04,Gradient Descent(梯度下降法)

引用课程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html 先看这里,可能由于你正在查看这个平...

2218
来自专栏木东居士的专栏

漫谈机器学习之小知识点总结

1974
来自专栏量子位

想尝试搭建图像识别系统?这里有一份TensorFlow速成教程

李林 编译整理 量子位 出品 | 公众号 QbitAI 从我们见到的各种图像识别软件来看,机器似乎能认出人脸、猫、狗、花草、各种汽车等等日常生活中出现的物体,但...

5387
来自专栏机器学习算法原理与实践

支持向量机原理(四)SMO算法原理

  在SVM的前三篇里,我们优化的目标函数最终都是一个关于$\alpha$向量的函数。而怎么极小化这个函数,求出对应的$\alpha$向量,进而求出分离超平面我...

1042

扫码关注云+社区

领取腾讯云代金券