一种基于BoW模型和统计特征的流量识别方法

文档序号:7779119阅读:1037来源:国知局
专利名称:一种基于BoW模型和统计特征的流量识别方法
技术领域
本发明涉及一种对网络数据流进行识别的方法,特别是采用BoW(Bag of Words) 这一机器学习模型配合提出的特征提取方法来进行预测建模。
背景技术
在20世纪90年代末、本世纪初,涌现出了一批又一批关于互联网流量分类技术的实验和尝试,其中更包含有革命性的技术创新。科学技术研究的一大主要推动力即是实际的应用需求,纵观整个互联网发展过程,流量识别主要在如下几个方面扮演着极其重要的角色 互联网服务提供商们(ISPs)需要知道他们的用户正在使用哪些应用、或是获取应用的发展趋势,从而实施各种商业目标。诸如为不同优先级别的用户动态分配网络资源、提供特定的QoS服务,锁定使用了违反条例或相关法律的应用的特定用户,或者分析应用发展趋势来规划未来的业务分布; 充当入侵检测系统(IDS)的核心部件,通过模式匹配等方法帮助实时监测识别出如拒绝服务攻击(DoS)、蠕虫(Worm)攻击等恶意网络行为; 互联网流量识别也是政府基于ISP来监控、侦听网络的一种重要手段。目前在市面上广泛应用的流量识别技术是基于报文载荷内容的DPI识别技术,尽管DPI技术精确度高,但是除了其分类速度慢且对于加密载荷无法识别以外,其对报文内容的窥探也被普遍地诟病为是对用户隐私的侵犯。经检索,中国发明专利申请号:200910034643. 7,公开号为101645806,该专利自述为“本发明公开了一种DPI和DFI相结合的网络流量分类系统及分类方法,包括DPI业务识别系统和DFI流量识别系统两个模块结合而成;其中DPI模块又包括流表检测模块和流量识别模块;DFI模块包括样本获取模块,分类器训练模块和分类器分类预测模块。样本获取模块将DPI中的流量识别模块能够准确识别的数据流划分成几个大类,并且将其作为样本对分类器训练模块进行训练,获得能对网络流量进行大类区分的分类模型,然后DPI 的流量识别模块无法识别的流量再通过DFI的分类器分类预测模块就能达到对DPI无法识别的流量进行大类区分的目的。”但是同样的,该技术仍旧没有解决上述的问题。因此科研工作者们就转换思路,利用网络流量的特征来进行机器学习,构造流量分类器来对数据流进行识别。因此本发明同样地继承了这一思路,利用目前十分常用的BoW 模型来对网络数据流进行识别。Boff(Bag Of Words)算法也称为词袋算法,起源于基于语义的文本检索算法,是一种有效地基于语义特征提取与描述的物体识别算法。以文本检索为例,介绍一下BoW模型的特性,Boff模型在进行信息检索时,假定对于一个文本,忽略其词序和语法、句法,将其仅仅看做是一个词集合,或者说是词的一个组合,文本中每一个词的出现都是独立的,不依赖于其他词的是否出现,或者说当这篇文章的作者在任意一个位置选择一个词汇都不受前面句子的影响而独立选择。简而言之,就是BoW对于特征的顺序以及它们之间的逻辑关系不敏感。这在一些情况下可能会导致一些问题的出现,然而在流量识别领域,这反倒成为了一个优势,使得在提取流量特征的时候不需要考虑按照特征的时序进行顺序排列,简化了特征提取的过程。另外,由于本发明BoW模型结合了非监督的聚类方法以及有监督的K-近邻方法,因而更适合于进行多分类。

发明内容
本发明的目的在于针对当前网络流量识别过程中DPI方法的种种缺陷,提供一种基于BoW模型和统计特征的流量识别方法,创造性地利用网络流量特征结合BoW方法,从而实现对于网络流量快速、精确的识别。为实现上述目的,本发明方法采用了 BoW模型,配合特征提取方法,训练采集到的网络流量特征,从而获得每一个网络类别所对应的特征向量。对于新来的网络流量,同样能够通过提取其流量特征,利用BoW建模得到其相应的特征向量,然后依次与先前建立好的每一个网络类别的特征向量进行比较,取匹配度最高的特征向量所对应的类别作为新来的网络流量的分类标签。本发明所述的基于BoW模型和统计特征的流量识别方法,包括以下步骤(1)如果类别特征向量尚未建立,执行步骤O),否则转入步骤⑷;(2)采用预设的特征采集方法获取训练集中各个网络流量对象的向量表示;(3)BoW模型第一步,先将这些训练集中的向量聚为k个中心点,即k个words ;G) BoW模型第二步,利用K-NN将对应类别的所有向量与这k个words进行近邻分析,最终得出各个类别的特征向量;(5)利用得到的类别特征向量与待测网络流经过处理后得到的特征向量进行匹配,预测出待测网络流的识别标签;(6)结束。上述方法步骤所述步骤O)中,首先必须从训练集中获取各个网络流量对象的特征,然后将其整理成为该流量对象的向量表示,具体过程如下①从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征向量,目前是提取前五个报文,每个报文是一个四维向量即源端口、目的端口、协议、报文长度;②将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小;③训练集当中的数据流个数为X个,则这样总共得到XM个N维向量。所述步骤(3),首先随机选取训练集中的若干向量对聚类中心进行初始化,然后通过一个循环体不断优化聚类结果,该循环体每一轮内嵌了两个子循环,具体过程如下①对上述训练集中的XM个N维向量,第一个子循环用来循环考察每一个向量与各聚类中心之间的距离,在该子循环的每一轮中,找出与所考察向量距离最近的聚类中心,并将所考察向量置于与该聚类中心对应的集合之中;②然后第二个子循环用来重置所有的聚类中心,在该子循环的每一轮中,将与当前集合中所有向量具有最小平均距离的向量作为新的聚类中心;③在第二个子循环结束以后,如果所有的聚类中心均未发生变化,则结束步骤
5(3),即生成了 k个words,否则返回第一个子循环继续聚类过程。步骤中,具体如下①对任一个类别的特征向量,初始化一个k维零向量;②假定某一类别的向量总数为m,则该类别共有mM个向量,计算每一个向量与k个 words之间的距离,选取最近的K个,这个参数K是由K-NN决定的,然后给这K个中心对应的k维向量相应维度上的值加上相应的权值;权值一般为1。③算完这mM个对象,就得到了该类别对应的k维特征向量。所述步骤(5),具体如下①对于新来的未知流,同样采用步骤( 方法处理,提取其前M个报文,每一个报文包含了 N维的特征向量,将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小,对于这M个N维向量,采用步骤4的办法即向量总数m= 1,从而得到该新来的未知流的k维向量;②最后将每一个类别的k维特征向量与该未知流的k维特征向量进行匹配,取匹配度最高的类别作为该未知流的预测类别标签。与背景技术相比,本发明具有的有益结果本发明给出了一种基于BoW模型和统计特征的流量识别方法,该方法基于BoW模型,对特征时序不敏感,简化了特征提取过程, 并且适合多分类,能够快速、准确地识别待测流量的类别,克服了 DPI所带来的隐私和效率问题。


图1是数据收集装置的工作流程图。图2是本发明方法步骤的流程图。图3是本发明使用的k-means聚类方法的训练流程图。图4是本发明基于聚类结果结合K-NN建立类别特征向量的流程图。
具体实施例方式下面对本发明的实施例作详细说明,本实施例以本发明技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。如图1所示,真实网络上的流量数据存放于数据对象收集装置中(具体来说这个装置就是一个个路由器或是交换机抑或是服务器,总之就是一系列网络的核心设置之中), 假设该装置中存储了 N个数据流对象,同时用其他技术(例如DPI或是手工识别等)对每
一个数据流对象所属的网络流量类别(如WEB,P2P,V0IP......等)进行标记,则这些流对
象就成为了机器学习的训练集数据对象了。之后通过预设的特征采集方法获取这些训练集数据对象的向量表示,然后采用基于BoW模型的机器学习方法进行建模,如图2所示。该技术采用了无监督的k-means聚类结合有监督K-近邻方法建立了各个类别的特征向量,最后利用这些类别的特征向量与新的待测数据流的特征向量进行匹配,将匹配度最大的类别赋予待测数据流,也就是预测出待测数据流的分类。本发明的方法步骤如图2所示。步骤1是起初动作。步骤2判断类别特征向量是否已经训练完毕,若训练好了则可以开始进行预测匹配了,执行步骤6 ;否则需要进行训练,执行步骤3。 步骤3采用预设的特征采集方法获取训练集中各个网络流量对象的特征,具体来说,从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征向量,目前是提取前五个报文,每个报文是一个四维向量(源端口、目的端口、协议、报文长度),最后将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小。由此,每一个数据流对
象&包含M个N维向量,即式
权利要求
1.一种基于BoW模型和统计特征的流量识别方法,包括以下步骤(1)如果类别特征向量尚未建立,执行步骤0),否则转入步骤;(2)采用特征采集方法获取训练集中各个网络流量对象的向量表示;(3)BoW模型第一步,先将这些训练集中的向量聚为k个中心点,即k个words;(4)Boff模型第二步,利用K-NN将对应类别的所有向量与这k个words进行近邻分析, 最终得出各个类别的特征向量;(5)利用得到的类别特征向量与待测网络流经过处理后得到的特征向量进行匹配,识别出待测网络流的分类标签;(6)结束。
2.根据权利要求1所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤 (2)中,首先必须从训练集中获取各个网络流量对象的特征,然后将其整理成为该流量对象的向量表示,具体过程如下①从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征向量,目前是提取前五个报文,每个报文是一个四维向量即源端口、目的端口、协议、报文长度;②将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小;③训练集当中的数据流个数为X个,则这样总共得到XM个N维向量。
3.根据权利要求1或2所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤(3),首先随机选取训练集中的若干向量对聚类中心进行初始化,然后通过一个循环体不断优化聚类结果,该循环体每一轮内嵌了两个子循环,具体过程如下①对上述训练集中的XM个N维向量,第一个子循环用来循环考察每一个向量与各聚类中心之间的距离,在该子循环的每一轮中,找出与所考察向量距离最近的聚类中心,并将所考察向量置于与该聚类中心对应的集合之中;②然后第二个子循环用来重置所有的聚类中心,在该子循环的每一轮中,将与当前集合中所有向量具有最小平均距离的向量作为新的聚类中心;③在第二个子循环结束以后,如果所有的聚类中心均未发生变化,则结束步骤(3),即生成了 k个words,否则返回第一个子循环继续聚类过程。
4.根据权利要求1所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤 (4)中,具体如下①对任一个类别的特征向量,初始化一个k维零向量;②假定某一类别的向量总数为m,则该类别共有mM个向量,计算每一个向量与k个 words之间的距离,选取最近的K个,这个参数K是由K-NN决定的,然后给这K个中心对应的k维向量相应维度上的值加上相应的权值;③算完这mM个对象,就得到了该类别对应的k维特征向量。
5.根据权利要求4所述的基于BoW模型和统计特征的流量识别方法,其特征是所述给这K个中心对应的k维向量相应维度上的值加上相应的权值,其权值为1。
6.根据权利要求1或2所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤(5),具体如下:①对于新来的未知流,同样采用步骤( 方法处理,提取其前M个报文,每一个报文包含了 N维的特征向量,将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小,对于这M个N维向量,采用步骤(4)的办法即向量总数m= 1,从而得到该新来的未知流的k维向量;②最后将每一个类别的k维特征向量与该未知流的k维特征向量进行匹配,取匹配度最高的类别作为该未知流的预测类别标签。
全文摘要
本发明公开了一种基于BoW模型和统计特征的流量识别方法,该方法采用了BoW模型,配合提出的特征提取方法,训练采集到的网络流量特征,从而获得每一个网络类别所对应的特征向量。对于新来的网络流量,同样能够通过提取其流量特征,利用BoW建模得到其相应的特征向量,然后依次与先前建立好的每一个网络类别的特征向量进行比较,取匹配度最高的特征向量所对应的类别作为新来的网络流量的分类标签。本发明使用的BoW方法是结合了非监督的k-means聚类方法以及有监督的K-近邻方法,因而更适合于进行多分类。由于Bow模型对于空间位置不敏感,因而在提取特征时不需要按照特征的时序进行排列,方便进行处理。
文档编号H04L12/26GK102571486SQ20111041926
公开日2012年7月11日 申请日期2011年12月14日 优先权日2011年12月14日
发明者周异, 周曲, 张寅 , 杨小康, 陈凯 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1