中国海洋大学学报自然科学版  2019, Vol. 49 Issue (8): 136-141  DOI: 10.16441/j.cnki.hdxb.20170150

引用本文  

时鸿涛, 李洪平, 刘竞. 基于马氏距离的重采样方法在流量识别中的应用[J]. 中国海洋大学学报(自然科学版), 2019, 49(8): 136-141.
SHI Hong-Tao, LI Hong-Ping, LIU Jing. Application of Resampling Method Based onMahalanobis Distance in Traffic Identification[J]. Periodical of Ocean University of China, 2019, 49(8): 136-141.

基金项目

国家高技术研究发展计划项目(2013AA09A506-4)资助
Supported by National High-tech Research and Development Program of China (2013AA09A506-4)

通讯作者

李洪平, E-mail:lhp@ouc.edu.cn

作者简介

时鸿涛(1981-),男,博士生,研究方向为网络流量识别。E-mail:sht@qau.edu.cn

文章历史

收稿日期:2017-03-31
修订日期:2017-12-12
基于马氏距离的重采样方法在流量识别中的应用
时鸿涛 , 李洪平 , 刘竞     
中国海洋大学信息工程学院,山东 青岛 266100
摘要:针对网络流量识别中的多分类数据分布不均衡的问题,本文提出了一种基于马氏距离的重采样方法。首先,将网络流量数据进行零均值化处理并转换至主成分空间;再根据少数类样本数据到集合中心点之间的马氏距离对其进行新样本的生成;之后将新生成的样本数据转换至原始空间并进行逆零均值化处理;最后返回所有新生成的样本数据。使用剑桥大学公共网络流量数据进行流量分类实验,实验结果表明该方法能够有效提升少数类的识别准确率,并且比现有的重采样方法和成本敏感方法能够获得更好的分类效果。
关键词马氏距离    主成分分析    流量识别    多分类不均衡    重采样方法    

精确的网络流量识别是流量工程、网络安全、网络质量服务(QOS)以及用户行为分析等工作的基础[1]。由于动态传输技术、流量加密算法和隧道技术在互联网中的广泛应用,传统的基于端口号和有效载荷检测的流量识别技术变得不再准确和高效,因此人们提出了基于机器学习的流量识别算法[2]。这类算法通过分析和识别流量底层的统计特征来实现网络流量的识别。由于不需要分析流量的有效载荷信息,这类算法的计算性能和准确率都非常高。目前,基于机器学习的流量识别方法已经成为了网络流量研究的重点。然而,随着研究的深入,人们发现网络流量中数据分布的不均衡问题会严重影响流量识别的准确率。这种不均衡通常会导致机器学习算法偏向于流量数据中多数类的流量样本。例如:文献[3]指出网络流量数据中HTTP流量的数量通常会远远超过P2P和VoIP流量的数量,而机器学习算法通常会将所有流量识别为HTTP流量以实现高准确率。在这种情况下,机器学习算法对于少数类流量的识别准确率非常低。然而,在许多情况下这些少数类流量(例如P2P和VoIP流量)却是人们更加关心的。

目前,解决数据分布不均衡问题的方法可以主要地分为两个方向:数据层方法和算法层方法。数据层方法主要通过对不均衡数据中的少数类进行过采样或者对多数类进行欠采样来实现数据的均衡。文献[4]提出了一种新的过采样方法SMOTE(Synthetic minority over-sampling technique),该方法能够通过合成新的样本来提高少数类样本的比例。文献[5]提出了一种边界SMOTE过采样方法,该方法通过对边界附近的少数类样本进行过采样来实现样本的均衡。文献[6]通过比较过采样方法和欠采样方法,指出过采样方法在解决数据分布不均衡问题时比欠采样方法更加有效。此外,算法层方法主要通过调整与错误分类相关的偏差来解决数据分布不均衡问题。文献[7]通过使用样本加权方法来构建成本敏感决策树(Cost-sensitive decision tree)以解决数据分布不均衡问题,并且该方法被证明能够非常有效的解决数据分布不均衡问题。文献[8]比较了成本敏感方法和重采样方法在解决数据分布不均衡问题的效果,结果显示成本敏感方法能够实现与重采样方法相似的效果。然而,以上方法虽然取得不错的效果,但这些方法主要用于二分类的数据分布不均衡问题,对于网络流量中的多分类数据分布不均衡问题,现有的重采样方法往往存在过拟合的缺点,而成本敏感方法则由于难以获得准确的错误分类偏差从而导致较低的识别准确率。

本文针对以上存在的问题,提出了一种基于马氏距离的重采样算法,该方法能够兼顾数据分布结构和变量间的相关性。因此所生的样本能够保留原始数据分布特征,并最大程度地避免过拟合的发生。

1 算法模型 1.1 马氏距离度量方法

马氏距离是由印度学者马哈拉诺比斯提出的一种距离度量方法,该方法能够有效的计算两个向量之间的相似度距离。相比欧氏距离,马氏距离能够考虑到向量中各变量之间的相关性。欧氏距离是一种普遍采用的距离度量方法,它被定义为n维空间中两个向量之间的几何距离,其计算公式如下:

$ d_{E}(\boldsymbol{x}, \boldsymbol{y})=\sqrt{\left(x_{1}-y_{1}\right)^{2}+\cdots+\left(x_{n}-y_{n}\right)^{2}}。$ (1)

也可以通过向量运算形式来表示:

$ d_{E}(\boldsymbol{x}, \boldsymbol{y})=\sqrt{(\boldsymbol{x}-\boldsymbol{y})^{\mathrm{T}}(\boldsymbol{x}-\boldsymbol{y})}。$ (2)

欧氏距离的特点是计算向量之间的平均几何距离,即向量中每个变量对于欧氏距离的贡献是相同的。然而,在统计学中人们更倾向于根据向量中每个变量的方差来评估变量间的距离,并且具有较大方差的变量在距离计算中将具有较高的权重。因此,马氏距离度量更能体现这一统计特性。马氏距离的计算公式可表示如下:

$ d_{M}(\boldsymbol{x}, \boldsymbol{y})=\sqrt{(\boldsymbol{x}-\boldsymbol{y})^{\mathrm{T}} \boldsymbol{S}^{-1}(\boldsymbol{x}-\boldsymbol{y})}。$ (3)

式中:S为样本集的协方差矩阵;因此,马氏距离能够兼顾数据分布特征和变量之间的相关性。值得注意的是,当协方差矩阵S为单位矩阵时,马氏距离可简化为欧氏距离。

1.2 主成分分析介绍

主成分分析是一种的多元统计方法,它能够在降低数据维度的同时尽可能的保留原始数据中的大多数变量信息。该方法主要通过线性转换将一组存在相关性的变量转换为一组线性无关的综合变量,这些转换后的综合变量被称为主成分。主成分分析的公式可表示如下:

$ \boldsymbol{C}=\boldsymbol{A} \boldsymbol{X}。$ (4)

式中:X为样本数据矩阵;A为主成分系数矩阵;C为主成分向量,且主成分之间相关性为零,即Cov(Ci, Cj)=0 (Ci, CjC, ij)。因此,主成分之间的协方差矩阵可表示为一个对角矩阵V,其公式如下:

$ \mathit{\boldsymbol{V}} = \mathit{\boldsymbol{\lambda E}}。$ (5)

式中:λ是主成分的特征值向量,E为单位矩阵。

此外,为了简化原始数据,在选择主成分数量时通常会选择一个主成分集合的子集来代表原始变量。通常主成分个数的选择需要根据所选主成分的方差累计贡献率G来决定。

$ G=\frac{\sum_{j=1}^{s} \lambda_{j}}{\sum_{j=1}^{s} \lambda_{i}}。$ (6)

式中:λ为各主成分的特征值;s为所选择的主成分数量;n为全部主成分数量。当方差累积贡献率G>85%时,就认为所选择的前s个主成分能够反映原始变量的信息。

1.3 基于马氏距离的重采样方法

本文所提出的基于马氏距离的重采样方法将根据少数类中每个样本点与样本集中心之间的马氏距离来生成新的合成样本。由于马氏距离计算的复杂性,本文先利用主成分分析将原始样本数据转换到主成分空间,再通过计算各样本点到样本集中心的马氏距离来实现新样本的生成。主成分空间下马氏距离的计算公式可简化为

$ d_{M}(\boldsymbol{x}, \boldsymbol{y})=\sqrt{(\boldsymbol{x}-\boldsymbol{y})^{\mathrm{T}}( \boldsymbol{\lambda E})^{-1}(\boldsymbol{x}-\boldsymbol{y})}。$ (7)

即:

$ d_{M}(\boldsymbol{x}, \boldsymbol{y})=\sqrt{\frac{\left(x_{1}-y_{1}\right)^{2}}{\lambda_{1}}+\dots+\frac{\left(x_{n}-y_{n}\right)^{2}}{\lambda_{n}}}。$ (8)

本文将利用公式(8)来实现样本数据的重采样,整个算法流程如算法1所示。基于马氏距离的重采样算法主要包含以下几个步骤:

(1) 对输入的样本数据进行零均值化处理(代码1)。

(2) 使用主成分分析方法将零均值化后的样本数据转换至主成分空间,并选择方差累积贡献率G>85%的主成分子集作为原始变量的代表以简化计算复杂度(代码2)。

(3) 在主成分空间中循环生成新样本(代码3)。首先,随机选择一个样本数据p,计算它到样本集中心的马氏距离dM(p, 0)(代码3.1),然后,定义一个新的样本数据q,并使该样本数据满足条件dM(q, 0)=dM(p, 0)(代码3.2)。

(4) 使用主成分分析方法将生成的新样本集合转换至原始数据空间(代码4)。

(5) 通过逆零均值化得到最终数据结果(代码5)。

(6) 对所有新样本数据进行输出(代码6)。

算法1  基于马氏距离的重采样算法

输入:Sin={(x1, 1, x1, 2, …,x1, m), …,(xn, 1, xn, 2, …,xn, m)} %少数类样本集合,

k  %需要生成的新样本数量,

输出:Sout  %新生成的样本集合。

1:for j=1 to m do

$ {\mu _j} = \frac{1}{n}\sum\limits_{i = 1}^n {x_i^j} , $

end for

$ \boldsymbol{Z}=\left\{x_{i}^{j}-\mu_{j}\right\}。$

2:计算Z的主成分,并选择G>85%的主成分子集T,其行数和列数分别为nm1(m1 < m)。

3:for i=1 to k do

3.1:p=random(T)

$ d_{M}=\sqrt{\frac{\left(p_{1}\right)^{2}}{\lambda_{1}}+\dots+\frac{\left(p_{m 1}\right)^{2}}{\lambda_{m 1}}}。$

3.2:定义q

  for j=1 to m1-1 do   %为qm-1项赋值。

 qj=random(-λ1dMλidM)

end for

  $ q_{m 1}=\sqrt{\lambda_{m 1}\left[\left(d_{M}\right)^{2}-\frac{\left(q_{1}\right)^{2}}{\lambda_{1} d_{M}}-\dots-\frac{\left(q_{m 1-1}\right)^{2}}{\lambda_{m 1-1} d_{M}}\right]}$  %为q的最后一项赋值。

  将q加入集合Tnew

  end for

4:将Tnew转换至原始数据空间,得到新集合Znew

5:$\boldsymbol{S}_{\mathrm{out}}=\left\{z_{\mathrm{i}}^{\mathrm{j}}+\mu_{\mathrm{i}}\right\}\left(z_{\mathrm{i}}^{\mathrm{j}} \in Z_{\mathrm{new}}\right) $

6:返回Sout

通过以上算法,所有新生成的样本将与原始样本保持相同的数据分布特征。下面将通过实验来验证本文算法的效果。

2 实验分析 2.1 实验数据

为了检验本文提出的重采样方法,本文使用剑桥大学实验室提供的公共网络流量数据[7]作为实验数据。这些网络流量数据包含10个数据集合,每个集合包含有不同数量的网络流量样本。每个样本具有248个特征,这些特征是通过使用Tcptrace进行提取。实验数据的流量特征信息如表 1所示。从表 1中可以发现对于所有集合,WWW流量类型的样本数量远远超过其他流量类型。因此,这些数据集都存在明显的多分类数据分布不均衡问题。

表 1 实验数据特征信息 Table 1 The characteristic information of the experimental data
2.2 评估指标

为了评价所提出方法的有效性,本文使用3种不同的评价指标对分类结果进行分析。这些评价指标包括总体准确率(Overall Accuracy, OA)、F-measure和g-mean。这些指标通常被用于评价信息分类和检索的效果。

令TP代表真阳,TN代表真阴,FP代表假阳,FN代表假阴。OA可以表示为被正确分类的样本数量与全部样本数量之间的百分比,它反映了分类结果的总体正确程度,OA越高表示被正确分类的样本数量越多,其公式如下:

$ \mathrm{O} \mathrm{A}=\frac{\mathrm{TP}+\mathrm{TN}}{\mathrm{TP}+\mathrm{TN}+\mathrm{FP}+\mathrm{FN}}。$ (9)

F-measure是召回率R和精确率P的一种加权平均值,它表示了对分类结果中的查准率和查全率的综合评价,F-measure越高表示分类算法更加有效:

$ {\rm F-measure}=\frac{2 R P}{R+P}。$ (10)

g-mean表示为所有类型流量召回率的几何平均值,它主要用于评估多分类分布不均衡数据的分类效果,g-mean越高表示对少数类的分类效果越好:

$ {{\rm{g}}^{ - {\rm{mean}}}} = {\left( {\mathit{\Pi }_{i = 1}^n{R_i}} \right)^{\frac{1}{n}}}。$ (11)

式中n为网络流量类型的数量。

在本文中,所有指标将分别按照网络流量数据的流(Flow)和字节(Byte)两种方式进行计算以评估本文方法的性能。

2.3 分类结果分析

本文选用C4.5决策树作为分类算法,使用数据集1作为训练数据,并对其余9个数据集进行分类实验。为了证明本文方法的有效性,本文方法将与文献[2]中的SMOTE方法,文献[3]中的边界SMOTE方法以及文献[8]中的基于MetaCost的成本敏感算法进行比较,总体实验结果如图 1所示。通过对图 1的观察,我们发现本文方法对于流OA、字节OA和流g-mean都获得了最佳分类结果,然而对于字节g-mean,本文方法的性能略低于其他方法。此外,我们发现在本实验中边界SMOTE方法的实验结果要优于SMOTE方法,这与文献[3]中的结论一致。相比之下,成本敏感算法得到了最差的实验结果。

图 1 总体实验结果 Fig. 1 Overall experimental results

表 2详细显示了4种方法对于各流量类型所获得的流F-measure。通过表 2不难发现本文方法对于大多数流量类型均取得了最佳的流F-measure,而对于ATTACK和FTP-DATA流量类型,本文方法所取得的流F-measure也接近于相应的最佳流F-measure。此外,通过对表 3中最后一行所显示的平均流F-measure进行分析,可以证明本文方法获得了最佳的流分类效果。

表 2 4种方法对于各网络流类型所获得的流F-measure Table 2 The flow F-measure of the four methods for each traffic class

表 3 4种方法对于各网络流类型所获得的字节F-measure Table 3 The byte F-measure of the four methods for each traffic class

表 3详细显示了4种方法对于各流量类型所获得的字节F-measure。与表 2类似,本文方法对于大多数流量类型,特别是含有大象流(Elephant flow)的流量类型(如:P2P和FTP-Data流量类型),均获得了最佳的字节F-measure。此外,通过对表 3中最后一行所显示的平均字节F-measure进行分析,可以证明本文方法获得了最佳的字节分类效果。

通过对全部实验结果进行分析,可以发现本文方法在处理网络流量中的多分类数据分布不均衡的问题时,其性能明显优于现有的重采样方法以及成本敏感方法,这也充分证明了本文方法在生成新的少数类样本时能够充分保留原始数据中的数据分布特征,从而最大程度地避免破坏原始样本数据的数据结构。

3 结语

本文提出了一种基于马氏距离的重采样方法,该方法能够根据样本数据到样本集合中心点之间的马氏距离为少数类生成新的合成样本。相比于现有的重采样方法,本文方法在为少数类生成新样本的同时,能够保持样本数据的原始分布结构,从而避免过拟合的发生。使用剑桥大学实验室提供的公共网络流量数据进行流量分类实验,实验结果证明与现有的SMOTE方法、边界SMOTE方法以及基于MetaCost的成本敏感算法相比,本文方法能够更好的提升少数类的分类准确率,从而实现最佳的流量分类效果。

参考文献
[1]
时鸿涛, 盖凌云, 郭忠文. 一种基于小波谱的流量识别方法[J]. 计算机工程, 2012, 38(12): 72-74.
Shi Hongtao, Gai lingyun, Guo Zhongwen. Traffic identification method based on wavelet spectrum[J]. Computer Engineering, 2012, 38(12): 72-74. DOI:10.3969/j.issn.1000-3428.2012.12.021 (0)
[2]
Shi Hongtao, Liang Gang, Wang Hai. A novel traffic identification approach based on multifractal analysis and combined neural network[J]. Annals of Telecommunications, 2014, 69(3): 155-169. (0)
[3]
Labovitz C, Iekel-Johnson S, Mcpherson D, et al. Internet Inter-Domain Traffic[C]. New Delhi: ACM SIGCOMM 2010 Conference, 2010: 75-86. (0)
[4]
Chawla N V, Bowyer K W, Hall L O, et al. SMOTE: Synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research, 2002, 16(1): 321-357. (0)
[5]
Han H, Wang W Y, Mao B H. Borderline-SMOTE: A new over-sampling method in imbalanced data sets learning[J]. Lecture Notes in Computer Science, 2005, 3644(5): 878-887. (0)
[6]
Xie J, Qiu Z. The effect of imbalanced data sets on LDA: A theoretical and empirical analysis[J]. Pattern Recognition, 2007, 40(2): 557-562. DOI:10.1016/j.patcog.2006.01.009 (0)
[7]
Kai M T. An instance-weighting method to induce cost-sensitive trees[J]. IEEE Transactions on Knowledge & Data Engineering, 2002, 14(3): 659-665. (0)
[8]
Weiss G M, Mccarthy K, Zabar B. Cost-Sensitive Learning vs. Sampling: Which is Best for Handling Unbalanced Classes with Unequal Error Costs?[C]. Las Vegas: International Conference on Data Mining, 2007: 35-41. (0)
Application of Resampling Method Based onMahalanobis Distance in Traffic Identification
SHI Hong-Tao , LI Hong-Ping , LIU Jing     
College of Information Science and Engineering, Ocean University of China, Qingdao 266100, China
Abstract: Aiming at the problems of multi-class imbalance of data distribution in traffic identification, this paper proposed a novel resampling method based on Mahalanobis distance. First, the network traffic data is normalized and transformed to the principal component space; second, a new sample is generated for a minority class based on the Mahalanobis distance from the samples to the center point of the data set; third the newly generated sample is then transfomed to the original space and performed an anti-normalization process; and finally, all the new samples are returned to original data set. The public Internet traffic traces of Cambridge University is used for traffic classification experiment, the results show that the proposed method can effectively improve the accuracy of the minority classes in traffic data sets, and it can obtain better classification performance than the existing resampling methods and cost-sensitive methods.
Key words: Mahalanobis distance    principal component analysis    traffic identification    multi-class imbalance    resampling method