论文部分内容阅读
异常检测指的是对不匹配预期模式或偏离正常模式的数据的识别,在网络安全、金融、生物医疗等多个领域中都具有广泛的应用,并且发挥出了重要的作用。由于获取高质量带标签数据的代价越来越高,而且在不使用标签等有效信息的情况下,对异常的识别更加困难,因此,基于无监督学习的异常检测算法更符合实际需求而且更具有挑战性。随着信息获取手段的升级,获取的数据也在多个层面呈现出复杂性:(1)维数越来越高,而且数据中包含了大量无用信息以及冗余信息;(2)包含时序信息,数据中的每个样本与其前后近邻之间都有着很强的时间关联性;(3)数据类型多样化,除了数值型数据还包括非结构化数据,比如文本以及音视频数据;(4)数据来自多个源形成多视图数据,需要联合考虑多个视图之间的关联与差异等。数据的这种复杂性为无监督异常检测算法提出了严峻的挑战,以高维数据和多维时序数据为例,高维数据中的冗余信息等内容对异常检测过程造成的干扰,极大地影响了算法的检测性能;多维时序数据除了时序性之外,各个维度之间也具有较强的相关性,如何同时考虑这两个特性成为面向多维时序数据的子序列异常检测算法与点异常检测算法的一个难点。因此,本文将围绕实现复杂数据的无监督异常检测这一目标,分别对面向高维数据的异常检测算法、面向多维时序数据的子序列常检测算法以及面向多维时序数据的点异常检测算法展开研究。深度学习具有良好的特征提取能力,在面向高维数据的异常检测工作中有着重要的应用。现有的深度异常检测算法使用先降维再检测的算法或者是直接面向高维数据的数据拟合算法进行异常检测,前者使用通用的重构误差作为降维过程的损失函数,忽略了降维与后续的异常检测目标之间的关联;后者基于“数据能够拟合某个分布或模型”的假设检测异常,但是随着高维数据复杂性的增加,使得该基本假设难以被满足,导致检测效果不理想。为此,我们提出一种基于近邻区分网络的深度异常检测算法NND-AD。NND-AD将降维与检测结合起来,在降维过程中最大化数据与其近邻之间的距离,使得异常尽可能与其他数据分离;以数据之间的结构相似性为权重调整数据在空间中的分布,使得数据与其近邻之间的距离在“拉大”的过程中能够按照结构的相似性在空间中分布。同时,NND-AD从近邻关系的角度出发,使用数据在低维空间中的近邻距离作为其异常得分,保证了特征提取与异常检测目标的有效关联。实验结果表明,与现有的深度异常检测算法相比,NND-AD平均有13.94%的AUC分数提升以及63.86%的F1-Score提升。面向多维时序数据,现有的在线多维子序列异常检测算法在使用相似性度量时因没有同时考虑时序性以及维度之间的相关性,使得检测准确性不高。为此,我们提出了一种基于耦合相似性的子序列异常检测算法CSS-AD。CSS-AD通过高斯核函数分别计算数据在时间和维度上的相似性,考虑到了多维时序数据的时序性与维度之间的相关性,然后加权处理得到局部相似性;CSS-AD还使用基于整体数值残差的全局相似性与局部相似性进行加权求和,得到耦合相似性。然后CSS-AD使用待检测的子序列与其临近的若干历史子序列的平均耦合相似性作为其异常得分。实验结果表明,与现有的面向多维时序数据的在线子序列异常检测算法相比,CSS-AD平均有28.89%的AUC分数提升以及94.58%的F1-Score提升。面向多维时序数据的基于预测的点异常检测算法要求在线环境下的数据预测过程中能够同时考虑时序性以及维度之间的相关性,然而现有的在线环境下的工作没有同时考虑时序性与维度之间的相关性,使得检测准确性不高。为此,我们提出一种基于分组预测的点异常检测算法GPP-AD。首先,GPP-AD通过利用维度之间的相关性对维度进行分组,将相关性强的维度和独立性强的维度区分开来,避免不相关特征对后续预测过程的影响。然后,在每个具有强相关性的维度分组上,GPP-AD通过滑动窗口来保留数据的时序性,通过线性回归在每一个维度上学习一个从历史数据的多时间点多维度到当前时间点的预测模型,充分利用了历史数据对当前时刻每一个维度在时序和维度上的影响来预测新数据,同时考虑了时序性与相关性;在独立性强的维度分组上,GPP-AD使用基于滑动平均的算法对当前时刻进行预测。最后,GPP-AD通过对各个维度分组预测值的集成,不仅可以使用预测误差检测异常,还可以确定异常所在的维度。实验结果表明,与现有的面向多维时序数据的在线点异常检测算法相比,GPP-AD平均有47.29%的AUC分数提升以及33.02%的F1-Score提升。