论文部分内容阅读
异常检测(Anomaly Detection)是数据挖掘中的重要部分。大数据背景下,数据的维度成“爆炸式”增长,这对高维数据异常检测的需求量也急剧增加。深度神经网络(Deep Neural Networks,DNN)优秀的非线性降维特性可以进行数据降维,解决“维数灾难”问题。单分类支持向量机(One-Class Support Vector Machine,OCSVM)是目前解决异常数据检测问题的重要手段。高维数据下的异常检测已成为科学前沿研究的重点和热点话题。本文首先提出了高维背景下的异常检测问题,接着分析了目前解决高维异常检测的两种有效途径,即利用神经网络降维和支持向量机分类。然后对以上两种传统方法做出了改进并与原方法在实验上进行了对比。实验结果表明,本文提出的改进算法在降低维度的同时提高了异常检测的正确率并且降低了算法的计算复杂度。本文的改进算法有以下两种:1.针对目前高维数据异常检测存在的困难,本文提出用降噪自动编码器(Denosing Auto-Encoder,DAE)代替普通的栈式自动编码器(Stacked Auto-Encoder,SAE)进行高维数据的异常检测。DAE首先对原始数据随机混入一定比例的噪声,然后将带有噪声的数据通过“编码”进行降维,再通过“解码”得到噪声数据的重构值,然后最小化原始无噪声数据与有噪声数据的重构值间的重构误差。实验证明,对于高维异常检测,降噪自动编码器的性能优于栈式自动编码器。同时与传统的OCSVM算法相比,降噪自编码器很好的解决了高维下的异常检测问题。2.本文将深度信念网络(Deep Belief Networks,DBN)和OCSVM进行组合,提出一种基于DBN和线性OCSVM混合模型算法进行高维异常检测。处于势能最低点的受限玻尔兹曼机堆叠而成的DBN网络具有良好的特征提取功能,降维后的数据再利用线性OCSVM进行异常检测。该算法最大的特点是经过DBN降维后的数据,无论使用线性函数或径向基函数作为核函数测试,OCSVM都有同样高的识别率。在提高高维异常检测识别率的同时,线性核函数的使用降低了算法的计算复杂度。该算法全面优于主成成分分析(Principle Component Analysis,PCA)与OCSVM构成的组合算法。同时,与自动编码器算法相比,该算法效率更高,其训练和测试时间均有显著下降。本文利用AE以及DBN与OCSVM的组合算法选用UCI数据集进行高维异常检测,并与传统的异常检测算法进行对比。实验考虑以下几个方面:1.SVM核函数的选取。实验分别采用线性函数和径向基函数作为OCSVM的核函数进行实验。2.DNN的隐藏层层数。探究在隐藏层层数不同时,对实验结果产生的影响。3.算法的效率。即在相同精确度下,训练时间和测试时间较少的算法最优。