基于可变特征空间SVM的互联网流量分类

2016-11-20 02:55:33钱亚冠关晓惠云本胜楼琼马鹏飞
电信科学 2016年5期
关键词:超平面分类器流量

钱亚冠 ,关晓惠 ,云本胜 ,楼琼 ,马鹏飞

(1.浙江科技学院理学院,浙江 杭州310023;2.浙江水利水电学院,浙江 杭州310018)

基于可变特征空间SVM的互联网流量分类

钱亚冠1,关晓惠2,云本胜1,楼琼1,马鹏飞1

(1.浙江科技学院理学院,浙江 杭州310023;2.浙江水利水电学院,浙江 杭州310018)

支持向量机(support vector machine,SVM)是一类具有良好泛化能力的机器学习算法,适合应用于互联网动态环境下的流量分类问题。目前将SVM扩展到流量分类这样的多分类问题的方法主要有One-Against-All和One-Against-One方法。这些方法都基于单一的特征空间训练SVM两分类器,没有考虑到不同特征对不同流量类的不同区分能力,因此获得的分离超平面并不是最合理的。为此提出了可变特征空间的SVM集成方法,即为每个两分类SVM构建具有最优区分能力的独立特征空间,单独训练两分类SVM,最后再利用One-Against-All和One-Against-One方法集成为多分类器。实验表明,与原来的单一特征空间的One-Against-All和One-Against-One集成方法相比,提出的方法能有效提高流量分类器分类精度和召回率,更易获得最优分离超平面。

支持向量机;可变特征空间;流量分类

1 引言

流量分类是互联网领域中的一个重要应用,如何准确地识别出流量的应用类型对于网络管理、流量控制及网络安全等具有重要的意义。由于互联网的复杂性、动态性,在各种应用层出不穷的环境下,如何准确地识别出流量的应用类型目前仍然是个极具挑战的课题。

互联网早期利用TCP端口号可以容易地确定流量的应用类型,但随着互联网应用的不断衍生,很多应用开始使用动态端口,甚至使用其他著名端口,如P2P应用开始使用Web的80端口传输数据。这种现状使得基于端口的方法在识别率上显著下降。基于DPI(deep packet inspection)的流量分类技术是目前被广泛部署的另一类方法[1]。该方法通过检测数据分组中的用户数据部分,发现特定应用的特征字串,实现对流量应用类型的识别。但随着目前用户数据的加密和隐私保护的要求,这种方法也越来越显示出它的不足。

最近,基于流量统计特征的机器学习方法成为流量分类领域的研究热点[2-5]。所谓的基于机器学习的流量分类方法就是通过某种机器学习算法,从流量训练数据中建立分类模型,从而实现对流量类型的预测。这种方法的优点是可以克服数据加密的限制,同时仅利用IP和TCP这两层数据分组头部的信息,不受隐私保护的制约。由于互联网流量具有很大的动态性,如果机器学习算法过拟合(over-fitting)训练数据,那么分类模型的泛化能力就会下降,即对未知数据的预测正确率下降。在众多的机器学习算法 中,支持向量 机(support vector machine,SVM)因具有良好的泛化能力,比其他学习算法更适合于流量分类。

徐鹏等人[6]提出一种基于SVM的流量分类方法,该方法利用非线性变换和结构风险最小化原则将流量分类问题转化为二次优化问题,实验表明该方法具有良好的分类正确率和稳定性。Alice E等人[7]将SVM应用于流量分类,提出了一个简单的优化算法解决SVM最优参数选择的问题。Zhou X S等人[8]利用SVM实现对产生P2P流量的应用程序进行分类。Li Z等人[9]选择了对分类影响最大的9种流量特征,利用SVM技术将网络流量分成了bulk traffic、interactive、WWW、service、P2P、mail、other 7 类 , 得 到 了95%以上的整体正确率。但由于SVM本质上是一个两分类器(binary classifier),因此将SVM应用到流量分类这样的多分类 (multi-class classification)问题时,往往采用One-Against-All[10]或 One-Against-One[11]等 方 法 将 两 分 类 器集成为多分类器。但这些方法都在一个共同的特征空间下寻找最优分离超平面,但同一特征在不同类之间的区分能力并不等同[12]。针对这个问题,本文在One-Against-All和One-Against-One方法基础上提出可变特征空间(flexible-feature-space,FFS)的方法,实验证明该方法可有效地提高流量分类的正确率。

2 支持向量机

SVM是一种对线性和非线性数据进行分类的方法。对于非线性可分的数据集,通过非线性映射,把原始训练数据映射到高维空间,在新的空间中搜索最佳分离超平面。假设具有两种不同分类的数据 集(x1,y1),… ,(xm,ym),xi∈Rn,yi∈{-1,+1}。基本的SVM就是寻找一个可以分离两类数据的最优超平面。如果该数据集是线性可分的,则分离超平面可表示为:

其中,W=(w1,w2,…,wk)是权重向量;b 是一个标量参数。所有的数据实例满足:

如果数据集是线性不可分的,那么通过一个非线性映射函数 (·)将原始数据映射到高维空间,从而使得在新空间中实现线性可分:

满足上述条件的分离超平面很多,取边缘最大的分离超平面为最优分离超平面,这样的超平面具有最佳的泛化性能。因此,求最优分离超平面的问题转化为如下的凸两次规划问题:

其中,C>0为常数,称为惩罚系数,用以控制对错分数据点的惩罚程度;ξi≥0称为松弛变量,是为解决样本线性不可分而引入的。利用拉格朗日乘子法和KKT(Karush-Kuhn-Tucker)条件可求解上述优化问题。

3 可变特征空间的SVM集成方法

将多个两分类基本SVM集成为能完成多分类的SVM,通常是在相同的特征空间中搜寻最优的分离超平面。已有研究表明,同一特征对不同流量类的区分能力是不同的[12],如数据分组大小的均值可以较好地区分SSH和P2P应用,但却不能很好地区分FTP和P2P。单一的特征空间并不适合所有的流量类,会增加搜索最优分离超平面的困难。因此,本文提出可变特征空间的方法来克服这种单一特征空间的局限性。

图1给出了不同特征空间下的线性可分性的情况。假设原始特征空间 F={a1,a2,a3,a4,a5},任务是对 C1、C2、C33 类流量进行分类。从图 1(a)可以发现,在特征子空间{a1,a2,a3}下,可以找到合适的超平面分离C2、C3的实例,但不能分离 C1、C2和 C1、C3的实例。通过改变特征子空间,如图 1(b)所示,选择{a3,a4,a5}作为特征子集,则可以找到合适的超平面分离C1、C2的实例,但却不能分离C2、C3的实例。由此可见,在不同的特征子空间中寻找最优分离超平面的难度不同,对于 C2、C3而言,选择{a1,a2,a3}作为特征空间更易找到分离超平面;而对于 C1、C2则选择{a3,a4,a5}作为特征空间则更易线性可分。因此,采用传统上的单一特征空间存在很大的局限性。考虑到SVM是典型的两类分类器,利用One-Against-All和One-Against-One的方式集成为多分类器,可以在单个的SVM分类器上采用单独的特征空间,克服单一特征空间的不合理性。除了在原始的特征空间采用这种可变特征空间的方法,也可把它推广到经过非线性变换后的核空间中。假设 (·)是特征空间Fm到Fn的非线性映射(n>m),仍然可以在高维核空间Fn中为分类Ci、Cj找到合适的特征子空间,使其更容易被线性可分。

3.1 可变特征空间的One-Against-AII集成分类方法

假设有k个流量类,One-Against-All方法将集成k个SVM两分类器来实现多分类器的能力。假设给定m个流量训练数据实例(x1,y1),…,(xm,ym),yi∈{HTTP,FTP,mail,…,games},这里假设有k种流量类型。可变特征空间的One-Against-All集成方法如图2所示。要识别k种流量类型,需要构建k个两分类SVM,每个SVM负责识别一种流量类。每个SVM有专门的训练数据,如图2所示,SVM_1的训练数据是通过保留HTTP流量的类别标签,将其他流量的类别标签改成others的方法构建,这样SVM_1只负责识别HTTP。以此类推,其他SVM根据其负责识别的流量类型,用同样的方法构建相应的训练数据。

图1 不同特征空间(也可映射到核空间)下的线性可分性

图2 可变特征空间的One-Against-All集成方法

为了克服单一特征空间的缺陷,本文在每个SVM的专门训练数据上抽取特征。考虑到在原始特征空间上存在线性不可分的情况,先将原始的特征空间用多项式核函数K(x,xi)=(x·xi)+1)d映射到高维空间。具体的特征选择方法采用Guyon等人[13]提出的SVM-RFE特征选择算法获得单独的特征空间。该方法是Wrapper型特征选择方法,即它选择特征的度量是SVM的分类性能,因此该方法产生的特征空间可保证获得合理的分离超平面。该方法的基本原理是根据特征在SVM上的分类性能排序,在每一次递归迭代时去除排序在最后的那个特征。具体而言,在训练SVM过程中,得到当前的最优分离超平面,计算权向量,则第 i个特征的排序重要性为 ci=(wi)2。本文提出的可变特征空间方法的优点是:对于特定的SVM,去除了对于该SVM不重要的特征,使得搜索到的最优分离超平面更接近于假设类,从而提高整体的分类精度。

不失一般性,这里仅以One-Against-All集成框架中的第i(i≤k)个SVM为例说明建模原理,其本质是解决如下凸两次规划问题:

其中,(·)是非线性映射函数,C是惩罚系数,ξ是松弛变量。最终通过如下的判决函数判定x的分类标签:,即取上述k个判决函数中的最大值所对应的预测类为最终的分类标签。本文把上述可变特征空间的思路结合到One-Against-All集成方法后,将其命名为One-Against-All+,具体算法如下所示。

输 入 训 练 数 据 D={(x1,y1),(x2,y2),… ,(xN,yN)},流量类标签 TC={C1,C2,…,CK},测 试数据 T={(x1',y1'),(x2',y2'),…,(xM',yM')}。

输出 预测正确/错误的计数器{r(+1),r(-1)}和预测类别。

SVMi←在特征空间 Ωi上获得模型;/求解式(6)~式(8)的优化问题;

3.2 可变特征空间的One-Against-One集成分类方法

One-Against-One方法是另一种把两分类SVM集成为多分类器的方法。假设要完成对k个流量类的分类任务,首先为每两个分类构造一个SVM,用于判别这两个流量类型,共需构建k(k-1)/2个SVM两分类器。对于一个未知流量,每个SVM会输出一种流量类别的预测,One-Against-One方法通过投票表决的选出最终的预测分类,从而解决多分类问题。不失一般性,假设第i个分类为HTTP,第j个分类为FTP,那么构建判别 HTTP或FTP的两分类SVMi,j就是求解如下的凸两次规划问题:

对某个未知的流量样本x进行测试时,需要利用k(k-1)/2个SVM对其进行判别。如果被SVMij判别为属于第i类,则第i类的票数加一;否则,第j类的票数加一。最终得票数最多的类就是x的预测类标签。可变特征空间的One-Against-One集成方法如图3所示。

与One-Against-All方法一样,需要为每个两分类SVM准备专门的训练数据。假设训练一个用于区分HTTP和FTP的SVM,训练数据通过如下方式产生:在原始数据中仅抽取出类标签为HTTP和FTP的流量数据。同理,为了训练用于区分HTTP和mail的SVM,只从原始数据中抽取HTTP和mail流量。假设有k个流量类别,那么共需构建k(k-1)/2个训练数据集。同样采用将原始特征空间映射到高维核空间,再采用SVM-RFE特征选择算法为每个SVM选取单独的特征空间。将这种可变特征空间的One-Against-One集成方法称为One-Against-One+,具体算法如下。

图3 可变特征空间的One-Against-One集成方法

输入训练数据D={(x1,y1),(x2,y2),… ,(xN,yN)},流 量 类标签 TC={C1,C2,…,CK},测试数据 T={(x1',y1'),(x2',y2'),…,(xM',yM')}。

输出 预测正确/错误的计数器{r(+1),r(-1)}和预测类别。

4 实验评估策略

本文采用k-折交叉验证的方法进行实验结果的评估。k-折交叉验证是将数据随机的划分成k个不相交、大小大致相等的子集 D1,D2,…,Dk。训练与测试进行 k 次,在第i次迭代时,子集Di用作测试集,其余的子集一起用作训练集。分类准确率估计是k次迭代准确分类的实例总数除以初始数据的中的实例总数,通常采用10折交叉验证。评估指标采用召回率(recall)与精度(precision)这两个指标:

其中,P为测试集中事先标识为正例的样本数,TP为分类器正确预测为正例的样本数,TP为被分类器错误的将正例预测为负例的样本数。

4.1 实验数据

本文采用英国剑桥大学Moore等人提供的公开流量数据集[14]作为实验数据。该数据集通过连续采集24 h的网络流量,并按28 min为间隔随机抽取10个数据块,再将流量数据分组构建成数据流(flow),最后得到10个数据子集Data1,Data2,…,Data10。由于在10个数据子集上进行的实验结果非常相似,本文只列出了Data1的实验结果。

实验用的第二个数据集是从校园网中心的某台交换机上获得的流量数据,该交换机汇聚了某幢男生宿舍的访问外网的所有网络流量。经过连续 1 h(21:30-22:30)的连续数据采集,共计获得325 538条数据流。为保护隐私的需要,只截取数据分组的分组头部分,并通过Tcpdpriv工具对IP地址进行了匿名化处理。分类标签利用与实验室合作的迪普公司的DPI模块完成,并按Moore等提出的特征集进行了预处理。

因上述数据集中存在严重的类不平衡情况,采用欠抽样的方法降低WWW这类占高比例 (Moore数据集中占72.2%)的流数据,最终的训练数据集中各类流量的比例见表 1、表 2。

表1 类平衡处理后的数据集1

表2 类平衡处理后的数据集2

4.2 实验分析

英国剑桥大学Moore等人[14]提取出了248种网络流特征,但是这些特征有些是不能实时获得的。考虑到过多的特征在SVM训练过程中非常低效,而CFS这样基于相关的特征选择算法不一定适合SVM;基于SVM的Wrapper型算法在特征空间太大,数据很多时也非常低效,为此本文采用目前被大都数参考文献使用,又容易在线提取的特征作为基本的特征子集(见表3)。本文提出的可变特征空间的方法就是在这个基本特征子集的基础上利用SVM-RFE算法提取两分类SVM的特征子集,如对于区分WWW和mail的 SVM,优化的特征空间为:{Dst_port,mean_data_ip_b→a,duration,throughput b→a,mean_data_ip_a→b}。由于篇幅有限,不一一列出所有两分类SVM的特征空间。

表3 网络流特征子集

图4和图5是4种方法在数据集1上的流量分类精度和召回率的对比情况。其中One-Against-One+表示改进One-Against-One的可变特征空间方法,One-Against-All+表示改进One-Against-All的可变特征空间方法。为便于比较,4种方法的SVM均采用的多项式核函数。从整体观察,本文提出的可变特征空间方法均使比统一特征空间的方法在精度和召回率上都有很大程度的提高。对于如WWW、mail这样的比例较高的类,虽然One-Against-All和One-Against-One方法已经可以达到85%以上的精度和召回率,改进的新方法使它们提高到90%以上。分类准确率提升幅度最大的是那些比例很小,原本分类准确率很低的少数类,如attack、intertive等。如攻击流量attack,本身包含多种攻击类型的流量(worm,virus等),因此它们的共同特征比较少,如果使用一个所有分类共享的单一的特征空间会使得很多区域叠加,难以找到一个较好的决策分离超平面。改进方法专门为攻击流量的二分类SVM选择特定的特征空间,有利于减少无关特征的干扰。实验数据表明,attack流量的精度从原来的13.4%提高到 50.6%(One-Against-All+方法),15.7%提高到51.2%(One-Against-One+方法)。同样,FTP-control、interactive等原来正确率很低的分类也得到了很大的提高。

图6和图7是4种方法在数据集2上的流量分类精度和召回率的对比情况。数据集2是从校网络中心的某台交换机采集到的实际数据,本文同样对数据进行了欠抽样处理,以均衡流量类的分布。数据集2上的流量分类对比结果与数据集1相似,改进的方法使得分类正确率得到了进一步提高。在精度上的提高尤其显著:(One-Against-All+方法)QQ从 64.2%提高到 83.1%,P2P从 72.3%提高到92.6%,games从22.5%提高到40.3%,attack从40.7提高到67.5%;(One-Against-One+方法)QQ从 63.8%提高到 84.3%,P2P从66.7%提高到90.1%,games从 26.6%提高到 39.8%,attack从32.4%提高到65.2%。在召回率上,改进方法也比原方法有了明显的提高。由此可见,本文提出的方法有助于进一步提高One-Against-All和One-Against-One的分类正确率。

图4 4种方法在数据集1上的分类精度对比

图5 4种方法在数据集1上的分类召回率对比

5 结束语

机器学习方法目前应用于流量分类是一个研究热点,SVM由于其良好的泛化能力,非常适合应用于互联网这类高度动态变化的场景。SVM最初是针对两分类问题的,即SVM是典型的两分类器。但互联网流量的应用类型很多,对它们进行分类是典型的多分类问题。传统上将SVM扩展到多分类模型是通过One-Against-All和One-Against-One方法。本文发现不同的流量特征(如数据分组平均大小)对于不同的应用,其区分能力是不同的。因此,传统上采用单一的特征空间来建立这些两分类SVM显然不是最优的。本文提出可变特征空间的方法,在One-Against-All和One-Against-One的基础上,为每个两分类SVM构建独立的特征空间,这样找到的最优分离超平面优于统一的特征空间。通过两个真实的流量数据集,对比分析了各自的分类正确性。实验结果表明,本文提出的可变特征空间的分类方法可以有效提高原始的One-Against-All和One-Against-One方法的分类性能。本文提出的基于机器学习的流量分类方法,目前类标签标注仍依赖于DPI,将来拟研究主动学习等方式来解决大规模类标签标注问题。

图6 4种方法在数据集2上的分类精度对比

图7 4种方法在数据集2上的分类召回率对比

[1]BUJLOW T, CARELA-ESPANOL V, BARLET-ROS P.Independentcomparison ofpopularDPI tools fortraffic classification[J].Computer Networks,2015(76):75-89.

[2]钱亚冠,张旻.基于过抽样技术的 P2P流量识别方法 [J].电信科学,2014,30(4):109-113.QIAN Y G,ZHANG M.P2P trafficidentification based over-sampling technique[J].Telecommunications Science,2014,30(4):109-113.

[3]TONGAONKAR A,TORRES R,ILIOFOROU M,et al.Towards self-adaptive network traffic classification [J]. Computer Communications,2015(56):35-46.

[4]SOYSALA M,SCHMIDT E G.Machine learning algorithms for accurate flow-based network trafficclassification:evaluation and comparison[J].Performance Evaluation,2010,67(6):451-467.

[5]SINGH H.Performanceanalysisofunsupervised machine learning techniques for network traffic classification [C]/2015 Fifth InternationalConference on Advanced Computing &Communication Technologies (ACCT), Feb 21-25, 2015,Haryana,India.New Jersey:IEEE Press,2015:401-404.

[6]徐鹏,刘琼,林森.基于支持向量机的Internet流量分类研究[J].计算机研究与发展,2009,46(3):407-414.XU P,LIU Q,LIN S.Internet traffic classification using support vector machine [J].JournalofComputer Research and Development,2009,46(3):407-414.

[7]ESTE A,GRINGOLIF,SALGARELLIL.Supportvector machines for TCP traffic classification [J].The International Journal of Computer and Telecommunications Networking,2009,53(14):2476-2490.

[8]ZHOU X S.A P2P traffic classification method based on SVM[C]//The 2008 InternationalSymposium on ComputerScience and Computational Technology,Dec 20-22,2008,Washington,DC,USA.[S.1.:s.n.],2008:53-57.

[9]LI Z,YUAN R,GUAN X.Accurate classification of the internet traffic based on the svm method[C]//The IEEE International Conference onCommunications,2007 (ICC’07),June 24-28,2007,Glasgow,Scotland.New Jersey:IEEE Press,2007:1373-1378.

[10]CHANG C C,LIN C J.LIBSVM:a library for support vector machines [EB/OL]. [2001-07-20].http://www.csie.ntu.edu.tw/~cjlin/libsvm.

[11]KREBEL H G.Pairwiseclassification and supportvector machines [A]/SCHOLKIPF B,BURGES C J C,SMOLA A.Advances in kernelmethods:support vector learning [M].Cambridge:The MIT Press,1999:255-268.

[12]XIE G,ILIOFOTOU M,KERALAPURA R,et al.Subflow:Towards practical flow-level traffic classification [C]/IEEE INFOCOM 2012,March 25-30,2012,Orlando,FL,USA.New Jersey:IEEE Press,2012:2541-2545.

[13]GUYONG I,WESTON J,BARNHILL S,et al.Gene selection for cancer classification using support vector machines [J].Machine Learning,2002,46(1-3):389-422.

[14]MOORE A W.Dataset [EB/OL]. [2009-06-29].http:/www.cl.cam.ac.uk/research/srg/netos /nprobe/data/papers/sigmetrics /.

Internet traffic classification using SVM with flexible feature space

QIAN Yaguan1,GUAN Xiaohui2,YUN Bensheng1,LOU Qiong1,MA Pengfei1
1.College of Science,Zhejiang University of Science and Technology,Hangzhou 310023,China;2.Zhejiang University of Water Resources and Electric Power,Hangzhou 310018,China

SVM is a typical machine learning algorithm with prefect generalization capacity,which is suitable for the internet traffic classification.At present,there are two approaches,One-Against-All and One-Against-One,proposed for extending SVM to multi-class problem like traffic classification.However,these approaches are both based on a unique feature space.In fact,the separating capacity of a special traffic feature is not similar to different applications.Hence,flexible feature space for extending SVM was proposed,which constructs independent feature space with optimal discriminability for each binary-SVM and trains them under their own feature space.Finally,these trained binary-SVM were ensemble by One-Against-All and One-Against-One approaches.The experiments show that the proposed approach can efficiently improve the precision and callback of the traffic classifier and easily obtain more reasonable optimal separating hyper-plane.

support vector machine,flexible feature space,traffic classification

s: The National Natural Science Foundation of China (No.61379118,No.61103200),Education Department Foundation of Zhejiang Province(No.2012E10023-14)

TP393.04

A

10.11959/j.issn.1000-0801.2016132

2016-01-01;

2016-04-09

钱亚冠,qianyg@zju.edu.cn

国家自然科学基金资助项目 (No.61379118,No.61103200);浙江省网络媒体云处理与分析工程技术中心开放课题资助项目(No.2012E10023-14)

钱亚冠(1976-),男,博士,浙江科技学院理学院副教授,主要研究方向为互联网流量分类、下一代互联网和机器学习与大数据处理。

关晓惠(1977-),女,浙江水利水电学院副教授,主要研究方向为机器学习与大数据处理。

云本胜(1980-),男,博士,浙江科技学院理学院讲师,主要研究方向为数据挖掘和服务计算。

楼琼(1987-),女,博士,浙江科技学院理学院讲师,主要研究方向为图像处理、机器学习与计算机视觉。

马鹏飞(1986-),男,博士,浙江科技学院理学院讲师,主要研究方向为运筹优化与机器学习。

猜你喜欢
超平面分类器流量
冰墩墩背后的流量密码
玩具世界(2022年2期)2022-06-15 07:35:36
全纯曲线的例外超平面
张晓明:流量决定胜负!三大流量高地裂变无限可能!
房地产导刊(2021年8期)2021-10-13 07:35:16
涉及分担超平面的正规定则
寻找书业新流量
出版人(2020年4期)2020-11-14 08:34:26
以较低截断重数分担超平面的亚纯映射的唯一性问题
BP-GA光照分类器在车道线识别中的应用
电子测试(2018年1期)2018-04-18 11:52:35
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
分担超平面的截断型亚纯映射退化性定理