摘要:在网络数据中,大多数都是无标签数据,难以使用有监督模型进行建模和检测。本文提出了一种新的基于层次化神经网络的参数化t-分布随机领域嵌入(t-SNE)算法,针对非线性的高维网络数据进行无监督降维并可视化,实现网络攻击检测。本文基于网络攻击公开数据集检测并评估模型性能。通过与多个经典降维算法比较发现,本文提出的基于层次化深度神经网络模型的参数化t-SNE算法有着良好的降维效果和攻击检测能力。
关键词:降维、网络攻击检测、参数化t-SNE
中图分类号:TP393 文献标识码:A 文章编号:1000-7180 (2008) xx-xxxx-x
Using Parametric t-SNE with Multi-layer Neural Network for Unsupervised Dimensionality Reduction towards Cyber Attacks
Chaopeng Li1,2 , Jinlin Wang1*, Haojiang Deng1
(1 Institute of Acoustics Chinese Academy of Sciences, Beijing 100190, China; 2 University of Chinese Academy of Sciences, Beijing 100049, China)
Abstract: There are many network data without labels that cannot be modeled for cyber attack detection. In this paper, a novel unsupervised dimensionality reduction algorithm, named parametric t-SNE (t-distributed Stochastic Neighbor Embedding) based on hierarchical neural network is proposed. The algorithm maps high-dimensional network data space into low-dimensional latent space. We evaluate the performance of the parametric t-SNE in experiments using a public cyber-attack datasets and compare with other typical unsupervised dimensionality reduction algorithms. Experiments show that the parametric t-SNE based on a hierarchical deep neural network has excellent dimensionality deducting effect of cyber-attack behavior.
Keywords: Dimensionality Reduction, cyberspace attacks, parametric t-SNE.
1 引言
网络数据具有高维度和非线性的特性。对于大多数机器学习算法,数据的这一特性往往会极大地影响模型的表现。因此,降维技术被用于大量实际高维数据中。传统的主成份分析发(PCA)和近邻成分分析法(NCA)[1],是一类经典的线性降维方法并被广泛用于高位数据处理与特征提取工作中。然而,对于非线性数据以及网络数据的高维空间数据结构,这类线性降维方法效果并不理想。另外,Hinton等人[2]提出的自动编码机(auto-encoder)算法,是一种无监督的降维聚类深度模型,不过这个模型更专注于最大化潜在空间下的数据方差,而不是数据的相关性结构。另一类非线性降维方法是流形学习。在过去十数年,也有流形学习的降维方法,如Isomap[3], LLE[4], MVU[5]等,这类方法考虑了高纬度数据的相关性结构,但很遗憾这些流形学习方法都是非参数化的方法。非参数化方法不能实现样本外数据映射。经典t-分布随机领域嵌入(t-SNE)算法[6]也是一种非参数化的流形学习的方法。之后,Maaten等人[7]提出了基于堆叠受限玻尔兹曼机(RBM)的置信神经网络模型[8]的参数化t-SNE算法,有效地解决了外样本无效这一问题。
然而,在利用机器学习处理网络数据中,由于网络流数据模型具有层次化结构,简单的堆叠全连接神经网络模型并不能有效解决这一问题。网络流数据的层次可以分为网络包数据层和流式数据层。一路网络流可以看作是一个有序的网络包序列。网络包可以看作是一个有限长度的数据块,由字节组成。因此,一个网络包内部的字节级别数据可以看作是网络包数据层;由网络包数据按照传输时序规律地排列,则得到网络流数据层。那么,为了有效地对这两层进行建模,需要设计一种层次化的时序处理模型结构。
面向标签缺失情况下的网络攻击检测,本文提出了基于多层感知机[9]-循环神经网络[10](MLP-RNN)模型的参数化t-SNE方法对网络数据进行无监督降维,同时讨论了适应于该模型的网络数据预处理方法。在实验部分,我们基于ISCX-2012数据集[11]进行了降维和可视化,并讨论了困惑度、学习率、网络包长度及流长度等多种超参数对聚类结果的影响。实验证明,本文提出的基于层次化神经网络的参数化t-SNE算法相比于自动编码机、主成份分析等经典降维方法,有着更好的效果。
2 基于层次化神经网络的参数化t-SNE
在这一章节,我们先介绍经典的t-SNE算法。这是一种全局的降维方法,但是对外样本无效。之后我们介绍基于RNN-MLP的参数化t-SNE算法。该算法作为一种改进,能够在得到全局降维的同时,训练RNN-MLP模型,使得模型对外样本有效。最后,我们说明了适应于该算法的网络流的预处理方法。
2.1 经典t-SNE算法
t-SNE主要包括两个步骤:首先,SNE构建一个高维对象的概率分布。基于概率分布,t-SNE算法使得相似的对象有更高的概率被选择,而不相似的对象有较低的概率被选择;然后,t-SNE在低维空间构建样本的概率分布,使得这高维概率分布与低维概率分布尽可能的相似。