导航:首页 > 无线网络 > 基于非监督模型的无线网络异常检测

基于非监督模型的无线网络异常检测

发布时间:2023-07-16 04:17:12

1. 异常检测(Anomaly Detection)

异常检测(Anomaly Detection)是机器学习算法的一个常见应用。它主要用于非监督学习,但又类似一些监督学习问题。

异常检测常用在对网站异常用户的检测;还有在工程上一些零件,设备异常的检查;还有机房异常机器的监控等等

假设有数据集 ,当又有一个新的测试样本 ;
想要知道这个新样本是否是异常的;
首先对x的分布概率建模p(x) ,用来说明这个例子不是异常的概率;
然后定一个阈值 ,当 时说明是异常的。

当出现在高概率分布的区域时,说明该例子时正常的;当出现在低概率的区域时,说明是异常的。

高斯分布又被称之为正态分布,曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线

假设x是一个实数随机变量,如果它的概率分布为高斯分布,定义几个变量:
=平均值
=标准差
=方差
那么x的概率分布可以用公式来表示:

其平均值 决定了其位置,其标准差 决定了分布的幅度

完整的高斯分布的概率公式为:

当参数平均值 和标准差 变化时:

关于平均值和方差的求解:

在一个异常检测的例子中,有m个训练样本,每个样本的特征值数量有n个,那么某个样本的分布概率模型p(x)就可以用样本的每个特征值的概率分布来计算:

上面的式子可以用更简洁的方式来表达

总计一下,异常检测的过程:

如何评估一个异常检测算法,以及如何开发一个关于异常检测的应用:

首先,在获取到的一堆数据中,取一大部分正常的(可能包含少部分异常)的数据用于训练集来训练分布概率公式p(x)。

然后,在交叉验证和测试集中使用包含正常和一定比例异常的数据,来通过查准率和召回率,以及F值公式来评价一个算法。

举个例子

假设有:

下面分割一下训练集,交叉验证集和测试集:

在训练集上训练出概率分布函数p(x)
在交叉验证集上,预测y:

下面通过和真实标签的比较,可以计算出 查准率(Precision)和召回率(Recall),然后通过F值公式来得到一个数值。

总结一下,我们将正常的数据分成60:20:20,分别给训练集,交叉验证集,测试集,然后将异常的数据分成两半,交叉验证集和测试集各一半。
我们可以通过改变不同的阈值 从而得到不同的评信档价系数来选取一个最佳的阈值。
当得到的评价系数不佳时,也可以通过改变特征值的种类和数量来获取理想的评价系数

在使用异常检测时,对性能影响最大的因素是特征值的选择。

首先要对特征向量使用高斯分布来建模,通常情况下,我们得到的原始数据并没有呈现高斯分布,例如这种:

有几种方法可以实现:

通过上述办法,可以将数据转换成高斯分布的形式。

异常检测有点类似监督学习中的二元分类问题。
我们的目标是使得p(x)对于正常的数据来说好坦中是大的,而对于异常的数据来说是很小的,而在异常检测中一个常见的问题是最终我们的到的p(x)对于正常和异常的都很大。
在这种情况下需要观察一下交叉验证集中的异常示例,尝试找出能更好区分数据的新特性。

例子

例如,有一个关于机房机器的样本示例,开始收集的样本示例中包含的特征值有关于cpu负载和网络流量的。

cpu负载和网络流量是呈线性关系的,当网络流量变大时,cpu也会相应增大。

现在有一个异常的示例是网络流量不大,cpu确负载很大。假如在只有这两个特征值的情况下运行异常检测算法得出的p(x),可能就效果不佳。这时可以添加一个特征值,是流量和cpu的比例关系,这样就约束来上述的异常示例,通过这三个特征值得到的异常检测算法可能就会好一点。

异常检测一般用于:
样友山本中 的数量非常少(0-50个),而 的非常多。这样由于样本数量的过少,达不到良好的训练效果,而在异常检测中确能够表现良好。
还有就是导致 的情况非常多,且有不可预见性。

监督学习一般用于:
样本中 和 的数量都非常多。这样就有足够的样本数量去训练算法。

多元高斯分布是异常检测的一种推广,它可能会检测到更多的异常。

在原始高斯分布中,模型p(x)的搭建是通过分别计算 来完成的,而多元高斯分布则是一步到位,直接计算出模型:

PS: 是一个协方差矩阵。

通过改变 和 可以得到不同的多元高斯分布图:

原始高斯分布模型,它的多个特征值之间的关系是轴对齐的(axis-aligned),两个或多个高斯分布之间没有相关性。
而多元高斯分布能够自动捕获x的不同特征之间的相关性。因此它在图像上会现实椭圆或有斜率的椭圆。

在平常的使用中,一般是使用原始高斯分布模型的,因为它的计算成本比较低。
在多元高斯分布中,因为要计算多个特征值之间的相关性,导致计算会慢很多,而且当特征值很多是,协方差矩阵就会很大,计算它的逆矩阵就会花费很多时间。

要保证样本数量m大于特征值数量n,否则协方差矩阵会不可逆;
根据经验法则,当 时,多元高斯分布会表现良好。

在原始高斯分布模型中可以手动添加相关性高的特征值之间的关系,可以避免了使用多元高斯分布,减小计算成本。

2. 无线传感器网络故障的诊断技术

无线传感器网络故障的诊断技术

随着社会的发展与不断进步,无线传感器网络得到广泛应用,但是由于无线传感器节点的能量具有制约性,导致无线传感器网络的运用环境比较脆弱,下面我为大家搜索整理了关于无线传感器网络故障的诊断技术,欢迎参考阅读,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生培训网!

无线传感器网络是由大量传感器节点组成的,因为传感器节点廉价和微型的特点,促使无线传感器网络对节点的利用率非常高,尤其是在无线传感网络的监测区域,在自组织方式的参与下,以互相协作的形式完成无线传感器的监测任务,所以其应用的前景也是非常广阔的,但是传感器节点的工作能力是有限的,难免会发生系统故障。

1 无线传感器网络故障评价指标

无线传感器网络故障诊断的性能评价指标是以无线传感器的网络特点和网络应用为基础制定的,其标准主要体现在诊断精度、特殊环境诊断精度、能效性以及诊断时间四个方面。

诊断精度。无线传感器故障诊断精度是诊断机制对故障最直接的评价方式,特别是在网络安全性较高的环境中,如果不能保障故障诊断的精确度则会导致传感器网络系统出现安全漏洞,同时意味着此故障诊断精度的失效,诊断精度主要是以一次过程为故障诊断的依据,分析被诊断的节点状态与实际节点状态的相符程度,诊断精度中故障误报率和故障识别率为评价故障的两个指标。

特殊环境诊断精度。无线传感器网络在特殊环境中的应用是有特定的诊断精度的,例如自然灾害、人为破坏等特殊环境因素,由于故障的节点在网络中的分布不均匀,可能会出现故障区域节点的过分疏散或者是节点的过分密集等现象,普通的诊断精度是不适应的,所以只能采取特殊环境的诊断精度对故障进行评价。

能效性。受无线传感器网络能量供应方面的影响,能效性成为故障诊断评价机制中需要最先考虑的问题,能效性比较强的故障诊断机制可以促进网络使用寿命的延长,以便保障传感器网络监测、计算方面能量的持续供应,与能效性有直接关系的因素有数据通信、处理和采集三方面。

诊断时间。无线传感器网络投入使用后,如需进行故障诊断需要对传感器中节点与节点之间的关系进行协作性判断,主要是因为节点呈现激活状态的数量比较多,如果节点出现联系性的故障一定会对无线传感器网络造成巨大的能耗压力,所以节点故障诊断的时间不宜过长。

2 无线传感器网络故障诊断分类

无线传感器网络故障主要来源于传感器的节点,主要表现在四个模块上,分别为能量电池供应模块、无线网络通信模块、传感处理模块和传感器模块,基于无线传感器网络的运行和使用,其组成元件、部件会出现各种各样的问题,如干扰通信、线路老化、电能耗损以及接线松动等等,引发无线传感器网络发生故障。

2.1 节点级别的故障

节点级别的故障主要是发生在传感器网络的节点处,大部分故障主要是传感器的节点本身出现了问题,其又可分为节点软故障和节点硬故障,软故障是指节点在不影响无线传感器网络运行的前提下发生故障,只有对数据进行传送和测量时,可瞬间影响通信的故障;硬故障是指对节点本身以及对传感器网络造成的直接损害,例如节点本身损坏、电源布置不合理或电源能量不足都会造成无线传感器网络故障。

2.2 网络级别的故障

网络级别的故障是指无线传感器的节点本身是正常的,但是在节点与节点之间的传输、协作方面上出现制约性问题,导致网络连接异常、通信受阻、信息丢失、IP偏差、非法入侵等等,此故障的出现是直接作用于网络的,其故障的表现极其明显,而且故障出现的速度非常快,影响范围比较广,属于无线网络传感器网络中相对较为敏感的故障。

2.3 功能级别的故障

无线传感器网络功能级别的故障对于整体网络都是存在影响的,如出现功能级别的故障会造成网络中汇集点不能正常接收和收集网络中运行的全部信息,引起功能级别故障的原因主要有传感器节点的重启、死亡和失效,链接线路故障以及路由装置故障等。

2.4 数据级别的故障

数据级别的故障是指传感器节点表现正常,但是传达了错误的数据信息,致使网络形成错误的数据感知,数据级别故障的隐蔽性比较强,只有经过精细的检测才可发现传感器节点传递了错误的感知数据,因为即使节点感知数据传递错误,但是其本身的表现形式是没有任何问题的,因此无形中降低了无限传感器网络的运行性能,而且会错误的引导网络管理员检查维修。

3 无线传感器网络故障诊断技术

无线传感器网络故障诊断主要是针对其投入使用的期间,通过对网络传递的信息进行分析,判断无线传感器网络是否发生故障,根据故障发生的状态检测导致故障发生的基本根源,无线传感器网络故障的诊断是一项复杂而又系统的工程项目,基于其所处的环境以及自身运行的特点决定了故障诊断的难度,为降低诊断的难度,一般情况在进行故障诊断时需要以传感器各个节点日常的测量数据为主,以节点数据传输的附加信息为辅,促进故障诊断的效率。

无线传感器网络故障诊断的指标为传感器高质量的服务和能量的有效保护,而故障诊断策略的衡量指标主要有错误警报率和检测率,其中错误报警率反馈的是无效警报在诊断报告总警报中的占据比例,错误报警率较低即可说明此次诊断结果具有较高的可信度;检测率反馈的是被检测出的故障在网络总故障中占据的比例,与错误报告率相反,检测率越高则说明诊断策略的有效性比较高。目前对无线传感器网络故障诊断技术的`研究主要以传感器的故障、场景类型为中心,对传感器节点的功能、读数故障进行探讨,分析无线传感器网络故障的诊断技术。

3.1 传感器节点读数故障的诊断技术

节点读数故障的诊断技术主要是针对无线传感器网络中错误的测量数据,错误数据产生的情况主要有外界环境干扰导致网络受到安全攻击、节点部件的损坏等等,针对节点读数故障提出以下诊断技术。 (1)WMFDS诊断技术。此技术主要是对传感器节点与节点之间的数据进行空间相关性的测量,越临近的节点其测量结果的相似性越大,所以只能通过正常读数的空间关系,根据此理论提出WMFDS诊断方法,主要是对两节点之间的故障率、分布密度进行分析,判断节点是否出现问题,此方法还可对相邻的节点进行加权处理,但是此方法只可以用于具有空间相关性的节点读数上。

(2)FIND诊断技术。此技术利用无线传感器节点在监控区域具有可持续性监测的特点,感知网络的突然事件,此节点的数据读取可反馈事件发生点到节点相对应的距离,传感器节点的信号强度与距离是呈现相反关系的,即相对距离越大,节点信号强度越弱,节点信号的强弱变化被称为单调变化特性,所以节点的单调特性是反馈节点出现读数故障的判断标准,比如故障节点会表现出与相对距离单调特性相反的现象。

(3)CSN诊断技术。此诊断技术是有一定局限性的,主要是以移动设备为检测对象,利用加速器得出节点的地震运动,故障节点的读数会存在阈值,此阈值与实际历史差距比较大,通过计算机分析节点比例,如出现较高阈值则说明此节点出现了一定的问题。

3.2 传感器节点网络故障的诊断技术

传感器节点网络故障主要表现在链路受环境因素的影响导致网络可靠性降低等现象,针对传感器节点网络故障提出的诊断技术主要有以下三种:

(1)网络软件调试法。在传感器的节点中采取调试代理,利用软件的调试命令,对节点处的网络状态进行分析,收集节点网络数据,确定节点网络故障的来源。

(2)特定模型推断法。特定模型推断法主要包括两种,分布式和集中式的方法。分布式的诊断技术是针对网络中的所有节点,利用从局部到整体的决策方法,分布式诊断技术的代表方法有LD2和TinyD2,最终通过节点网络的整合,得出诊断报告;集中式的诊断技术是在网络节点处植入小型探测器,以便对经过节点的应用数据进行分类、分组,但是探测器对得到信息的分析能力是非常有限的,所以需要感知系统的参与,以此为基础进行节点网络故障的细化诊断。

(3)无声故障诊断技术。此诊断技术在三种技术中是具有一定特殊性的,其可对无经验故障进行有效诊断,例如AD诊断技术,即是比较典型的代表,通过对节点各类型诊断信息之间相关性图表的变化,发现网络中存在的隐藏故障,即无声故障,此技术可提高故障诊断的准确率,同时降低了故障出现的频率。

综上所述,利用无线传感器故障诊断技术诊断无线传感器网络中出现的问题,并对其进行及时有效的处理,一方面可以提高无线传感器网络的运用效率,另一方面提高了无线传感器网络的使用率,所以无线传感器网络的正常运行在一定程度上促进我国经济效益和社会效益的发展和提高。

综上所述,无线传感器网络在世界范围内的关注度是比较高的,其渗透多项科学技术,例如无线通信技术、传感器技术以及信息处理技术等等,无线传感器的研究不论是在经济效益上还是在社会效益上,都是具有极其重要的意义的,无线传感器有效的网络故障诊断技术一方面可以提高无线传感器的利用效率,另一方面对能源节约具有一定的实际价值。

;

3. 异常点检测方法

一、基本概念

异常对象被称作离群点。异常检测也称偏差检测和例外挖掘。

常见的异常成因:数据来源于不同的类(异常对象来自于一个与大多数数据对象源(类)不同的源(类)的思想),自然变异,以及数据测量或收集误差。

异常检测的方法:

(1)基于模型的技术:首先建立一个数据模型,异常是那些同模型不能完美拟合的对象;如果模型是簇的集合,则异常是不显着属于任何簇的对象;在使用回归模型时,异常是相对远离预测值的对象。

(2)基于邻近度的技术:通常可以在对象之间定义邻近性度量,异常对象是那些远离其他对象的对象。

(3)基于密度的技术:仅当一个点的局部密度显着低于它的大部分近邻时才将其分类为离群点。

二、异常点检测的方法

1、统计方法检测离群点

统计学方法是基于模型的方法,即为数据创建一个模型,并且根据对象拟合模型的情况来评估它们。大部分用于离群点检测的统计学方法都是构建一个概率分布模型,并考虑对象有多大可能符合该模型。离群点的概率定义:离群点是一个对象,关于数据的概率分布模型,它具有低概率。这种情况的前提是必须知道数据集服从什么分布,如果估计错误就造成了重尾分布。异常检测的混合模型方法:对于异常检测,数据用两个分布的混合模型建模,一个分布为普通数据,而另一个为离群点。

聚类和异常检测目标都是估计分布的参数,以最大化数据的总似然(概率)。聚类时,使用EM算法估计每个概率分布的参数。然而,这里提供的异常检测技术使用一种更简单的方法。初始时将所有对象放入普通对象集,而异常对象集为空。然后,用一个迭代过程将对象从普通集转移到异常集,只要该转移能提高数据的总似然(其实等价于把在正常对象的分布下具有低概率的对象分类为离群点)。(假设异常对象属于均匀分布)。异常对象由这样一些对象组成,这些对象在均匀分布下比在正常分布下具有显着较高的概率。

优缺点:(1)有坚实的统计学理论基础,当存在充分的数据和所用的检验类型的知识时,这些检验可能非常有效;(2)对于多元数据,可用的选择少一些,并且对于高维数据,这些检测可能性很差。

2、基于邻近度的离群点检测。

一个对象是异常的,如果它远离大部分点。这种方法比统计学方法更一般、更容易使用,因为确定数据集的有意义的邻近性度量比确定它的统计分布更容易。一个对象的离群点得分由到它的k-最近邻的距离给定。离群点得分对k的取值高度敏感。如果k太小(例如1),则少量的邻近离群点可能导致较低的离群点得分;如果k太大,则点数少于k的簇中所有的对象可能都成了离群点。为了使该方案对于k的选取咐族数更具有鲁棒性,可以使用k个最近邻的平均距离。

优缺点:(1)简单;(2)缺点:基于邻近度的方法需要O(m^2)时间,大数据集不适用;(3)该方法对参数的选择也是敏感的;(4)不能处理具有不同密度区域的数据集,因为它使用全局阈值,不能考虑这种密度的变化。

3、基于密度的离群点检测。

从基于密度的观点来说,离群点是在低密度区域中的对象。一个对象的离群点得分是该对象周围密度的逆。基于密度的离群点检测与基于邻近度的离群点检测密切相关,因为密度通常用邻近度定义。一种常用的定义密度的方法是,定义密度为到k个最近邻的平均距离的倒数。如果该距离小,则密度高,反之亦然。另一种密度定义是使用DBSCAN聚类算法使用的密度定义,即一个对象周围的密度等于该对象指定距离d内对象的个数。需要小心的选择d,如果d太小,则许多正常点可能具有低密度,从而具有高离穗轮群点得分。如果d太大,则许多离群点可能具有与正常点类似的密度(和离群点得分)。使用任何密度定义检测离群点具有与基于邻近度的离群点方案类似的特点和局限性。特殊地,当数据包含不同密度的区域时,它们不能正确的识别离群点。

为了正确的识别这种数据集中的离群点,我们需要与对象邻域相关的密度概念,也就是定义相衡首对密度。常见的有两种方法:(1)使用基于SNN密度的聚类算法使用的方法;(2)用点x的密度与它的最近邻y的平均密度之比作为相对密度。

使用相对密度的离群点检测(局部离群点要素LOF技术):首先,对于指定的近邻个数(k),基于对象的最近邻计算对象的密度density(x,k) ,由此计算每个对象的离群点得分;然后,计算点的邻近平均密度,并使用它们计算点的平均相对密度。这个量指示x是否在比它的近邻更稠密或更稀疏的邻域内,并取作x的离群点得分(这个是建立在上面的离群点得分基础上的)。

优缺点:

(1)给出了对象是离群点的定量度量,并且即使数据具有不同的区域也能够很好的处理;

(2)与基于距离的方法一样,这些方法必然具有O(m2)的时间复杂度。对于低维数据使用特定的数据结构可以达到O(mlogm);

(3)参数选择是困难的。虽然LOF算法通过观察不同的k值,然后取得最大离群点得分来处理该问题,但是,仍然需要选择这些值的上下界。

4、基于聚类的技术

一种利用聚类检测离群点的方法是丢弃远离其他簇的小簇。这个方法可以和其他任何聚类技术一起使用,但是需要最小簇大小和小簇与其他簇之间距离的阈值。这种方案对簇个数的选择高度敏感。使用这个方案很难将离群点得分附加到对象上。一种更系统的方法,首先聚类所有对象,然后评估对象属于簇的程度(离群点得分)(基于原型的聚类可用离中心点的距离来评估,对具有目标函数的聚类技术该得分反映删除对象后目标函数的改进(这个可能是计算密集的))。基于聚类的离群点:一个对象是基于聚类的离群点,如果该对象不强属于任何簇。离群点对初始聚类的影响:如果通过聚类检测离群点,则由于离群点影响聚类,存在一个问题:结构是否有效。为了处理该问题,可以使用如下方法:对象聚类,删除离群点,对象再次聚类(这个不能保证产生最优结果)。还有一种更复杂的方法:取一组不能很好的拟合任何簇的特殊对象,这组对象代表潜在的离群点。随着聚类过程的进展,簇在变化。不再强属于任何簇的对象被添加到潜在的离群点集合;而当前在该集合中的对象被测试,如果它现在强属于一个簇,就可以将它从潜在的离群点集合中移除。聚类过程结束时还留在该集合中的点被分类为离群点(这种方法也不能保证产生最优解,甚至不比前面的简单算法好,在使用相对距离计算离群点得分时,这个问题特别严重)。

对象是否被认为是离群点可能依赖于簇的个数(如k很大时的噪声簇)。该问题也没有简单的答案。一种策略是对于不同的簇个数重复该分析。另一种方法是找出大量小簇,其想法是(1)较小的簇倾向于更加凝聚,(2)如果存在大量小簇时一个对象是离群点,则它多半是一个真正的离群点。不利的一面是一组离群点可能形成小簇而逃避检测。

优缺点:

(1)基于线性和接近线性复杂度(k均值)的聚类技术来发现离群点可能是高度有效的;

(2)簇的定义通常是离群点的补,因此可能同时发现簇和离群点;

(3) 产生的离群点集和它们的得分可能非常依赖所用的簇的个数和数据中离群点的存在性;

(4)聚类算法产生的簇的质量对该算法产生的离群点的质量影响非常大。

新颖性和离群值检测

离群值检测:训练数据包含离群值,即与其他观测值相距甚远的观测值。离群检测估计器会尝试拟合训练数据最集中的区域,忽略异常观察。

新颖性检测:训练数据不受异常值的污染,有兴趣检测新观察值是否是异常值。该情况下离群值也称为新颖性。

离群值检测和新颖性检测均用于异常检测,离群值检测称为无监督异常检测,新颖性检测称为半监督异常检测。离群值检测的情况下,离群值/异常不能形成密集的群集,可假设离群值/异常位于低密度区域;新颖性检测的情况下,只要新颖性/异常位于训练数据的低密度区域,就可以形成密集的簇。

通过对玩具数据集进行异常检测比较异常检测算法

数据集中包含一种或两种模式(高密度区域),以说明算法处理多模式数据的能力。

对于每个数据集,将生成15%的样本作为随机均匀噪声。该比例是OneClassSVM的nu参数和其他异常值检测算法的污染参数提供的值。离群值之间的决策边界以黑色显示,但是LOF除外,因为当采用LOF用于离群值检测时,没有适用于新数据的预测方法。

OneClassSVM对异常值敏感,对异常值检测执行的不好。当训练集不受异常值污染时,此估计器最适合新颖性检测。即不适用在高维中进行离群值检测或者不对基础数据的分布进行任何假设,OneClassSVM在这些情况下可能会根据其超参数给出有用的结果。

covariance EllipticEnvelope(协方差椭圆密度)假定数据是高斯分布并学习一个椭圆。在数据不是单峰时,会退化。此估计器对异常值具有鲁棒性。

IsolationFrorest和LocalOutlierFactor针对多模式数据集效果显着。LOF针对第三种数据集,明显优于其它三种估计器,该数据集中两种模式的密度不同。LOF的局部方面,即它仅将一个样本的异常评分与其邻居评分作比较,从何体现了该方法的优势。

针对最后一个均匀分布在超立方体中的数据集,很难说一个样本比另一个样本异常得多。除了OneClassSVM有些过拟合外,所有估计器都针对该情况提出不错的解决方案。针对这种情况,应该仔细观察样本的异常分数,性能好的估算器应该为所有样本分配相似的分数。

使用局部离群因子(LOF)进行离群值检测

LOF算法是一种无监督的异常检测方法,可计算给定数据点相对于其邻居的局部密度偏差。其中密度远低于其邻居的样本为异常值。

LOF算法的优势在于同时考虑了数据集的局部和全局属性:即使在异常样本具有不同底层密度的数据集中,仍能保持良好性能。问题不在于样本有多孤立,而在于样本相对于周围邻域有多孤立。

通常考虑的邻居数量(1)大于群集必须包含的最小样本数量,以便其他样本可以是相对于该群集的局部离散值;(2)小于可能是局部异常值的最大进距采样数,此类消息通常不可用,采用n_neighbors=20。

具有局部异常值的新颖性检验

LOF是一种无监督的异常检测方法,可计算给定数据点相对于其邻居的局部密度偏差,密度远低于其邻居的样本为异常值。LOF用于新颖性检验时,切勿在训练集上使用预测、决定函数、实例得分,会导致结果错误。只能对新的看不见的数据(不在训练集中)使用这些方法。

通常考虑邻居数量(1)大于群集必须包含的最小样本数,以便其他样本可以是相对于该群集的局部离群值;(2)小于可能是局部异常值的最大进距采样数,此类消息通常不可用,采用n_neighbors=20。

隔离林

在高维数据集中执行异常检测的一种有效方法是使用随机森林,分离的观察通过随机选择一个函数,随机选择所选择的特征的最大值和最小值之间的分割值。递归分区可用树结构表示,隔离样本所需的拆分数量等于从根节点到终止结点的路径长度。随机树的森林中的平均路径长度是对正态性和决策函数的度量。随机分区产生的异常路径明显较短,因此如果随机树森林为特定样本生成的较短路径,则该树代表的值很可能是异常的。

OneClassSVM

无监督的离群值检测,支持高维分布,基于libsvm

不假定数据分布的任何参数形式,可以更好的对数据的复杂形状进行建模,能够捕获真实的数据结构,难点在于调整核函数宽度参数,以便在数据散布矩阵的形状和数据过度拟合的风险间取得折中。

协方差椭圆密度

用于检测高斯分布数据集中的异常值的对象

经验协方差估计(作为非稳健估计)受到观测值异质结构的高度影响;鲁棒协方差估计能够集中于数据分布的主要模式,但是它坚持假设数据是高斯分布,产生了对数据结构的某些估计,在一定程度上是准确的。

HBOS单维效果极佳,但是标准差方法的mask 掩码效应严重。例如 数据通常在100以内,但是有两个异常点,500,1000000。这个算法就不能检出500这个异常点。

对比而言,孤立森林理论上更适合大数据的异常检测,且无掩码效应。孤立森林确定异常时训练只用样本数据。每颗树样本数量默认只有256个,默认只用100颗树。所以理论上25600个样本就能确定海量数据中的异常点了。

Sklearn的 isolation forest 例子默认是读入全量数据再采样。如果配上warm up 选项就能分批放入采样。

异常检测的深度学习研究综述

4. 大数据科学家需要掌握的几种异常值检测方法

引言

异常值检测与告警一直是工业界非常关注的问题,自动准确地检测出系统的异常值,不仅可以节约大量的人力物力,还能尽早发现系统的异常情况,挽回不必要的损失。个推也非常重视大数据中的异常值检测,例如在运维部门的流量管理业务中,个推很早便展开了对异常值检测的实践,也因此积累了较为丰富的经验。本文将从以下几个方面介绍异常值检测。

1、异常值检测研究背景

2、异常值检测方法原理

3、异常值检测应用实践

异常值检测研究背景

异常值,故名思议就是不同于正常值的值。 在数学上,可以用离群点来表述,这样便可以将异常值检测问题转化为数学问题来求解。

异常值检测在很多场景都有广泛的应用,比如:

1、流量监测

互联网上某些服务器的访问量,可能具有周期性或趋势性:一般情况下都是相对平稳的,但是当受到某些黑客攻击后,其访问量可能发生显着的变化,及早发现这些异常变化对企业而言有着很好的预防告警作用。

2、金融风控

正常账户中,用户的转账行为一般属于低频事件,但在某些金融诈骗案中,一些嫌犯的账户就可能会出现高频的转账行为,异常检测系统如果能发现这些异常行为,及时采取相关措施,则会规避不少损失。

3、机器故障检测

一个运行中的流水线,可能会装有不同的传感器用来监测运行中的机器,这些传感器数据就反应了机器运行的状态,这些实时的监测数据具有数据量大、维度广的特点,用人工盯着看的话成本会非常高,高效的自动异常检测算法将能很好地解决这一问题。

异常值检测方法原理

本文主要将异常值检测方法分为两大类:一类是基于统计的异常值检测,另一类是基于模型的异常值检测。

基于统计的方法  

基于模型的方法

1、基于统计的异常值检测方法

常见的基于统计的异常值检测方法有以下2种,一种是基于3σ法则,一种是基于箱体图。

3σ法则  

箱体图

3σ法则是指在样本服从正态分布时,一般可认为小于μ-3σ或者大于μ+3σ的样本值为异常样本,其中μ为样本均值,σ为样本标准差。在实际使用中,我们虽然不知道样本的真实分布,但只要真实分布与正太分布相差不是太大,该经验法则在大部分情况下便是适用的。

箱体图也是一种比较常见的异常值检测方法,一般取所有样本的25%分位点Q1和75%分位点Q3,两者之间的距离为箱体的长度IQR,可认为小于Q1-1.5IQR或者大于Q3+1.5IQR的样本值为异常样本。

基于统计的异常检测往往具有计算简单、有坚实的统计学基础等特点,但缺点也非常明显,例如需要大量的样本数据进行统计,难以对高维样本数据进行异常值检测等。

2、基于模型的异常值检测

通常可将异常值检测看作是一个二分类问题,即将所有样本分为正常样本和异常样本,但这和常规的二分类问题又有所区别,常规的二分类一般要求正负样本是均衡的,如果正负样本不均匀的话,训练结果往往会不太好。但在异常值检测问题中,往往面临着正(正常值)负(异常值)样本不均匀的问题,异常值通常比正常值要少得多,因此需要对常规的二分类模型做一些改进。

基于模型的异常值检测一般可分为有监督模型异常值检测和无监督模型异常值检测,比较典型的有监督模型如oneclassSVM、基于神经网络的自编码器等。 oneclassSVM就是在经典的SVM基础上改进而来,它用一个超球面替代了超平面,超球面以内的值为正常值,超球面以外的值为异常值。

经典的SVM  

1

 基于模型的方法

2

基于神经网络的自编码器结构如下图所示。

自编码器(AE)

将正常样本用于模型训练,输入与输出之间的损失函数可采用常见的均方误差,因此检测过程中,当正常样本输入时,均方误差会较小,当异常样本输入时,均方误差会较大,设置合适的阈值便可将异常样本检测出来。但该方法也有缺点,就是对于训练样本比较相近的正常样本判别较好,但若正常样本与训练样本相差较大,则可能会导致模型误判。

无监督模型的异常值检测是异常值检测中的主流方法,因为异常值的标注成本往往较高,另外异常值的产生往往无法预料,因此有些异常值可能在过去的样本中根本没有出现过, 这将导致某些异常样本无法标注,这也是有监督模型的局限性所在。 较为常见的无监督异常值检测模型有密度聚类(DBSCAN)、IsolationForest(IF)、RadomCutForest(RCF)等,其中DBSCAN是一种典型的无监督聚类方法,对某些类型的异常值检测也能起到不错的效果。该算法原理网上资料较多,本文不作详细介绍。

IF算法最早由南京大学人工智能学院院长周志华的团队提出,是一种非常高效的异常值检测方法,该方法不需要对样本数据做任何先验的假设,只需基于这样一个事实——异常值只是少数,并且它们具有与正常值非常不同的属性值。与随机森林由大量决策树组成一样,IsolationForest也由大量的树组成。IsolationForest中的树叫isolation tree,简称iTree。iTree树和决策树不太一样,其构建过程也比决策树简单,因为其中就是一个完全随机的过程。

假设数据集有N条数据,构建一颗iTree时,从N条数据中均匀抽样(一般是无放回抽样)出n个样本出来,作为这颗树的训练样本。

在样本中,随机选一个特征,并在这个特征的所有值范围内(最小值与最大值之间)随机选一个值,对样本进行二叉划分,将样本中小于该值的划分到节点的左边,大于等于该值的划分到节点的右边。

这样得到了一个分裂条件和左、右两边的数据集,然后分别在左右两边的数据集上重复上面的过程,直至达到终止条件。 终止条件有两个,一个是数据本身不可再分(只包括一个样本,或者全部样本相同),另外一个是树的高度达到log2(n)。 不同于决策树,iTree在算法里面已经限制了树的高度。不限制虽然也可行,但出于效率考虑,算法一般要求高度达到log2(n)深度即可。

把所有的iTree树构建好了,就可以对测试数据进行预测了。预测的过程就是把测试数据在iTree树上沿对应的条件分支往下走,直到达到叶子节点,并记录这过程中经过的路径长度h(x),即从根节点,穿过中间的节点,最后到达叶子节点,所走过的边的数量(path length)。最后,将h(x)带入公式,其中E(.)表示计算期望,c(n)表示当样本数量为n时,路径长度的平均值,从而便可计算出每条待测数据的异常分数s(Anomaly Score)。异常分数s具有如下性质:

1)如果分数s越接近1,则该样本是异常值的可能性越高;

2)如果分数s越接近0,则该样本是正常值的可能性越高;

RCF算法与IF算法思想上是比较类似的,前者可以看成是在IF算法上做了一些改进。针对IF算法中没有考虑到的时间序列因素,RCF算法考虑了该因素,并且在数据样本采样策略上作出了一些改进,使得异常值检测相对IF算法变得更加准确和高效,并能更好地应用于流式数据检测。

IF算法

RCF算法

上图展示了IF算法和RCF算法对于异常值检测的异同。我们可以看出原始数据中有两个突变异常数据值,对于后一个较大的突变异常值,IF算法和RCF算法都检测了出来,但对于前一个较小的突变异常值,IF算法没有检测出来,而RCF算法依然检测了出来,这意味着RCF有更好的异常值检测性能。

异常值检测应用实践

理论还需结合实践,下面我们将以某应用从2016.08.16至2019.09.21的日活变化情况为例,对异常值检测的实际应用场景予以介绍:

从上图中可以看出该应用的日活存在着一些显着的异常值(比如红色圆圈部分),这些异常值可能由于活动促销或者更新迭代出现bug导致日活出现了比较明显的波动。下面分别用基于统计的方法和基于模型的方法对该日活序列数据进行异常值检测。

基于3σ法则(基于统计)

RCF算法(基于模型)

从图中可以看出,对于较大的突变异常值,3σ法则和RCF算法都能较好地检测出来, 但对于较小的突变异常值,RCF算法则要表现得更好。

总结

上文为大家讲解了异常值检测的方法原理以及应用实践。综合来看,异常值检测算法多种多样 ,每一种都有自己的优缺点和适用范围,很难直接判断哪一种异常检测算法是最佳的, 具体在实战中,我们需要根据自身业务的特点,比如对计算量的要求、对异常值的容忍度等,选择合适的异常值检测算法。

接下来,个推也会结合自身实践,在大数据异常检测方面不断深耕,继续优化算法模型在不同业务场景中的性能,持续为开发者们分享前沿的理念与最新的实践方案。

阅读全文

与基于非监督模型的无线网络异常检测相关的资料

热点内容
网络共享中心没有网卡 浏览:490
电脑无法检测到网络代理 浏览:1348
笔记本电脑一天会用多少流量 浏览:473
苹果电脑整机转移新机 浏览:1347
突然无法连接工作网络 浏览:959
联通网络怎么设置才好 浏览:1188
小区网络电脑怎么连接路由器 浏览:929
p1108打印机网络共享 浏览:1184
怎么调节台式电脑护眼 浏览:601
深圳天虹苹果电脑 浏览:839
网络总是异常断开 浏览:582
中级配置台式电脑 浏览:893
中国网络安全的战士 浏览:601
同志网站在哪里 浏览:1378
版观看完整完结免费手机在线 浏览:1430
怎样切换默认数据网络设置 浏览:1077
肯德基无线网无法访问网络 浏览:1252
光纤猫怎么连接不上网络 浏览:1374
神武3手游网络连接 浏览:936
局网打印机网络共享 浏览:973