论文部分内容阅读
近些年,伴随着互联网技术的迅猛发展和移动设备的不断普及,我们的生活已经迈入了大数据时代,在越来越多和人们生产生活息息相关的领域中,数据一改以前静态、固定的特点,转而被以数据流的形式源源不断的产生。然而流数据本身的特性(如缺少标签、持续到达、动态变化等)使得原本针对静态数据集的方法不能很好地应用于数据流环境下的异常检测,因此使用无监督学习的方法在海量流数据寻找异常数据是一项具有重大研究意义和应用价值的工作。然而,尽管目前有许多基于无监督的数据流异常检测方法,但这些技术都有各自的缺陷难以兼顾所有数据类型,它们往往只能在部分特定的数据集上发挥出较好的性能,难以完美地满足各种数据类型的实际需求。经过比较大量数据集的不同以及对比目前主流的方法在这些数据集上的表现,数据可大致分为维度之间相关性不大、无太多“噪音维度”的维度弱相关数据,以及数据维度间相关性较大、分布复杂且可能包含大量“噪音维度”的维度强相关数据。基于此,本文从数据的不同形式出发,设计出一个合理有效的数据类型识别算法。并针对不同数据的差异和处理需求,提出了两种适用于不同类型数据集的异常检测方法,且都在与同类方法的对比中取得了显著的优势。此外,本文还设计搭建了集这两种方法以及自动选择策略为一体的通用多类别数据流异常检测系统以实现对所有类型数据快速准确的进行异常值检测。由于目前基于无监督学习的数据流异常检测技术都有各自的缺陷难以兼顾所有数据类型。因此,本文设计了一种基于相关性矩阵的数据自动分类和方法选择策略ADCS。ADCS首先对数据内部维度进行相关性分析并依次构建相关性矩阵C。接着ADCS对矩阵C进行奇异值分解,并利用降维的思想寻找矩阵C符合要求的K阶近似矩阵CK。然后通过对比CK的维度与C的维度数量的比α是否超过给定阈值来判定数据属于维度强相关数据还是维度弱相关数据。在对数据维度间相关性较大、且具有较多噪音信息的维度强相关数据进行在线异常检测时,往往需要构建一个高效准确的模型。而一个理想的异常检测模型应满足以下三个要求:1.模型需要在仅耗费少量存储空间的条件下准确模拟数据分布;2.模型应当有一个可信且有效的异常检测策略;3.模型理应能够仅通过对数据进行一次读取来实现自身的更新,以适应数据流中不断变化的分布。尽管目前有许多针对数据流异常检测技术的研究,但这些解决方案都不能同时完全满足以上所有需求。因此,本文提出了一种新颖的基于矩阵概要的异常检测框架NODF-MaS来解决这一难题,并在异常检测的准确性和效率方面实现了巨大的提升。具体来说,NODF-MaS采用了基于数据相关性的多视图切分技术精确地映射数据分布,并设计了一个分布式检测系统和集成方法,以确保预测的准确性。此外,NODF-MaS还采用了矩阵概要技术来降低计算成本并提高响应速度。实验表明NODF-MaS不仅在响应速度方面远超过其对比算法,同时也确保了高精度的异常值检测。与已有算法比,NODF-MaS的运行速度提高了 32%~60%,检测精度始终保持在较高水平,在一些数据分布较为复杂的数据集上甚至达到了其他算法的3倍,这是目前所有主流算法都难以完成的。对于数据维度之间相关性较低、无太多噪音信息的维度弱相关数据而言,基于距离的方法无论是从准确度还是响应速度上而言都有很好的表现,且简单直观。结合特定的预处理过程也可以拓展到很多领域。但是目前基于距离的算法仍存在一个致命缺陷,目前的方法大都是采取“滑动窗口”的形式来完成模型的增量更新,这就使得异常检测模型很难适应分布动态变化的数据流。为解决这一问题,本文提出了一种基于活跃内点模型和微簇结构的异常检测方法FROD。具体来说,FROD采用活跃内点模型AIP动态地选择具有代表性的数据对象进行保留以进行后续的异常值分析。并提出了一种有效的基于微簇的数据存储结构以及其更新方法用来维护AIP中的数据,以提高检测效率。除此之外,本文还分析了 FROD的时间复杂度,并从理论上证明了 FORD相对于同类方法的优越性。实验表明,FROD不仅更能适应数据分布动态变化的场景,而且在同样检测精度的情况下,FROD在检测速度上更能领先其余方法1到2个数量级。为了将研究成果付诸实际,本文设计实现了一个通用的多类型数据流异常检测原型系统GMSOD。GMSOD在Storm这一优秀的分布式流处理平台上进行开发,系统整合了数据类型识别模块、维度强相关数据检测模块和维度弱相关检测模块,并按照“分发-汇总”的思想为两种分布式数据流异常检测算法搭建并行框架。实验表明,传统的方法只能在部分特定的数据集上发挥出较好的性能,而GMSOD则可以自动切换算法以保持检测的准确性并始终能在数据处理速度上远超其他方法,由此可见,GMSOD可以更好适应数据流中各种类型数据环境,并且始终都能表现出优秀的异常检测性能。