一种具有最优个体收敛速率网络流量分类方法转让专利

申请号 : CN201811051712.0

文献号 : CN109344204B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 潘志松陶蔚陶卿王彩玲丁钰段晔鑫易磊曹轶君

申请人 : 中国人民解放军陆军工程大学

摘要 :

本发明涉及一种具有最优个体收敛速率网络流量分类方法,它是一种新型的的随机一阶梯度算法,可以解决大规模网络数据分类问题。包括:输入网络流量,进行必要的预处理工作,划分训练样本与测试样本;每一轮迭代都只随机抽取一个训练样本,采用一种具有最优个体收敛速率的分类算法进行训练模型,计算每一轮迭代的具有稀疏性的权值w,根据w可以进一步计算目标函数值和个体收敛速率;最后用测试样本进行模型的测试,得到网络流量分类的精度。本发明提出一种网络流量分类方法,具有个体最优收敛速率,并且可以有效解决大规模网络流量分类、识别问题。无需进行特定协议解析,并且可以实时反映数据中对分类起作用的特征,因此所采用的方法具有一定通用性。

权利要求 :

1.一种最优个体收敛速率网络流量分类方法,包括以下步骤:(1)输入网络流量数据,进行预处理工作,并划分训练样本与测试样本;

将Moore数据集转换为一个二分类数据集,使用WWW流量作为正样本,使用其他流量作为负样本;

(2)随机抽取训练样本,采用随机一阶梯度算法进行训练模型;

所述的随机一阶梯度算法的具体步骤为:

步骤21、首先初始化权值w0,θ0;

步骤22、每一轮迭代都只随机抽取一个训练样本;

步骤23、计算抽取样本对应目标函数的次梯度步骤24、进行算法循环迭代:t=1,2,...,10000,其中,yt表示算法在第t轮迭代中求解梯度的位置,θ是一种权重参数,这里取 a和γ均为步长参数,at为常数取1, <·>表示内积运算, 的下标i表示随机抽取样本的序号, 表示对目标函数进行次梯度运算;B(·)表示Bregman函数,为 (二范数的平方);

步骤25、输出新一轮的权值wt+1,并计算目标函数l(wt+1)和个体收敛速率l(wt+1)-l(w*)(3)训练的输出结果是权值w,w向量的非零元素所对应的特征即对于网路流量分类有用的特征,然后计算目标函数值和个体收敛速率;

步骤(3)中随机一阶梯度优化方法包括以下步骤:假设训练样本集S是一些独立同分布样本组成,目标函数可以表示为:其中 li(w)是对应样本(xi,yi)的损失函数,Q有界闭凸集合,记w*是问题(1)的一个最优解;

个体收敛速率可以表示为:

l(wt)-l(w*)   (2);

所述的损失函数采用非光滑hinge损失函数li(w)=max{0,1-yi<w,xi>};

(4)用测试样本对训练好的模型进行测试,计算分类精度。

说明书 :

一种具有最优个体收敛速率网络流量分类方法

技术领域

[0001] 本发明涉及数据分类识别领域,具体涉及一种具有最优个体收敛速率网络流量分类方法。

背景技术

[0002] 众所周知,在越来越重视个人隐私保护与网络安全的今天,大规模网络流量给网络安全带来许多新的挑战。当前,国家成立了关于网络安全与信息化的工作小组,重点解决网络中的安全与发展性问题。目前网络安全形势复杂而又严峻,对网络流量进行有效的识别和管理对保护用户信息,监管非法数据,检测网络攻击,维护网络安全有着重要意义。目前网络流量分类研究中传统的分类方法正逐渐被机器学习方法所替代,特别是针对特定协议的流量数据,例如WWW协议、HTTP协议等等。
[0003] 目前的网络流量数据一般样本多、维数高以及稀疏冗余等特征,传统的批处理模式已经很难适用,批处理算法通常每一轮迭代都需要扫描所有的样本,并且需要知道样本所有维数信息。随机一阶优化算法具有较快运行的速度,又能减少了内存开销。
[0004] 另外,传统机器学习分类方法处理问题时的最优收敛速率是已知的,目前几乎所有的方法只是对所有迭代进行加权平均的输出方式得到最优收敛速率。个体解输出结果(也称:迭代瞬时输出结果)往往不具有稳定性和稀疏性,并且理论上不一定能证明具有最优收敛速率。

发明内容

[0005] 1、本发明目的
[0006] 本发明提出了一种具有最优个体收敛速率网络流量分类技术,以实现在未进行协议解析的情形下,利用较少的计算资源解决大规模网络流量检测问题,同时可以快速提取流量对于分类结果的稀疏特征。
[0007] 2、本发明所采用的技术方案为:
[0008] 本发明提出的具有最优个体收敛速率网络流量分类方法,包括以下步骤:
[0009] (1)输入网络流量数据,进行必要的预处理工作,划分训练样本与测试样本;
[0010] (2)随机抽取训练样本,采用的是一种具有最优个体收敛速率的随机一阶梯度算法进行训练模型;
[0011] (3)训练的输出结果是权值w,w向量的非零元素所对应的特征即对于网路流量分类有用的特征,然后计算目标函数值和个体收敛速率,
[0012] (4)用测试样本对训练好的模型进行测试,计算分类精度。
[0013] 为实现对上述流量特征值进行分类,本发明具有最优收敛速率的网络流量分类方法包括以下步骤:
[0014] 假设训练样本集S是一些独立同分布样本组成,目标函数可以表示为:
[0015]
[0016] 其中 li(w)是对应样本(xi,yi)的损失函数,Q有界闭凸集合。w*是问题(1)的一个最优解。
[0017] 个体收敛速率表示为:
[0018] l(wt)-l(w*),(2)
[0019] 更进一步具体实施方式中,所述的损失函数采用非光滑hinge损失函数,即li(w)=max{0,1-yi}。
[0020] 更进一步具体实施方式中,随机一阶梯度优化算法的具体步骤为:
[0021] 步骤21、首先初始化权值w0,θ0;
[0022] 步骤22、随机抽取一个训练样本;
[0023] 步骤23、计算抽取样本对应目标函数的次梯度▽li(yt);
[0024] 步骤24、进行算法循环迭代:t=1,2,...,10000,
[0025]
[0026] 其中,yt表示算法在第t轮迭代中求解梯度的位置,θ是一种权重参数,这里取a为步长参数,at为常数取1,<·>表示内积运算,▽li(yt)的下标i表示随机抽取样本的序号,▽表示对目标函数进行次梯度运算。B(·)表示Bregman函数,这里我们取特殊的形式 (二范数的平方)。
[0027] 步骤25、输出新一轮的权值wt+1,并计算目标函数l(wt+1)和个体收敛速率l(wt+1)-l(w*)。
[0028] 3、本发明的有益效果:
[0029] (1)本发明提出一种具有个体收敛速率的分类算法,用以解决大规模网络流量分类、识别问题;随机抽取样本的方式与传统方法相比,时间复杂度大大降低。
[0030] (2)本发明提出的新型随机一阶梯度优化算法,可以达到最优的个体收敛速率的同时得到稀疏的解,其中稀疏的特征即为对于网路流量分类有用的特征。传统方法仅仅是平均输出方式可以得到最优的收敛速率,本发明的新型分类方法可以实现个体输出,并且满足最优的收敛速率。

附图说明

[0031] 图1为本发明具有个体收敛速率网络流量分类方法流程图。
[0032] 图2为本发明具体实施方式中网络流量数据集样本类别分布图。
[0033] 图3为本发明具体实施方式中WWW类别所占比例示意图。
[0034] 图4为本发明具体实施方式中收敛速率比较图。
[0035] 图5为本发明具体实施方式中稀疏性比较图。

具体实施方式

[0036] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0037] 本发明的方法及系统结合附图及实施例详细说明如下。
[0038] 实施例1
[0039] 如图1所示,本发明提出了一种具有最优个体收敛速率网络流量分类方法,包括以下步骤:
[0040] (1)输入网络流量数据,对网络流量进行预处理工作;
[0041] 如图2所示,由于WWW特征为328091,其他特征总量为50010,如图3所示,WWW特征所占比例为86.91%,为简单起见,我们只区分网络中的WWW特征与其他特征两类,所采用的一种具有个体收敛速率的网络流量分类方法(记为PSM_Nesterov方法),训练样本:测试样本=1:1;
[0042] (2)每一轮迭代都只随机抽取一个训练样本,采用本发明具有个体收敛速率的网络流量分类算法进行训练模型,并计算目标函数值;
[0043] (3)训练的输出结果是权值w,w向量的非零元素所对应的特征即对于网路流量分类有用的特征,然后计算目标函数值和个体收敛速率;
[0044] (4)用测试样本对训练好的模型进行测试,计算分类精度。
[0045] 具体步骤(2)中具有个体收敛速率的网络流量分类方法包括以下步骤:
[0046] 假设训练样本集S是一些独立同分布样本组成,目标函数可以表示为:
[0047]
[0048] 其中 li(w)是对应样本(xi,yi)的损失函数,Q有界闭凸集合,记w*是问题(1)的一个最优解。
[0049] 个体收敛速率可以表示为:
[0050] l(wt)-l(w*)。(2)
[0051] 本发明中具有最优个体收敛速率的网络流量分类算法的具体步骤为:
[0052] 步骤21、首先初始化权值w0,θ0;
[0053] 步骤22、随机抽取一个训练样本;
[0054] 步骤23、计算抽取样本对应目标函数的次梯度▽li(yt);
[0055] 步骤24、进行算法循环迭代:t=1,2,...,10000,
[0056]
[0057] 其中,yt表示算法在第t轮迭代中求解梯度的位置,θ是一种权重参数,这里取a为步长参数,at为常数取1,<·>表示内积运算,▽li(yt)的下标i表示每一轮迭代随机抽取样本的序号,▽表示对目标函数进行次梯度运算。B(·)表示Bregman函数,这里我们取特殊的形式 (二范数的平方)。
[0058] 步骤25、输出新一轮的权值wt+1,并计算目标函数l(wt+1)和个体收敛速率l(wt+1)-l(w*)。
[0059] 实验中采用的Moore数据集发布于2004年,采集了某实验室网络出口24h内10个时间段的双向流量数据,每个时间段的平均抽样时间约为1680s。该数据集共包含10中类别的377526个网络流量样本。每个样本均是由一条完整的双向TCP流提取248维流量统计特征而来。本文中,将Moore数据集转换为一个二分类数据集,使用WWW流量作为正样本,使用其他流量作为负样本。Moore数据集包括了10个子数据集,所有数据集的规模基本相同(训练集大约有10000左右的样本数,特征为248维),本发明的实验结果仅仅选取了其中4个数据集。
[0060] 实验结果如图4和5所示,实验中迭代步数设置为10000次为横坐标,纵坐标表示当前目标函数值与最优目标函数值之差的值。这里最优目标函数值是通过初始设置的w0计算得到。我们对比了3种经典的网络流量分类方法,分别是:
[0061] PSM_average是平均输出形式的一阶梯度方法,它仅仅是具有最优平均收敛速率的分类方法,并没有个体收敛速率,且输出的权值w不具有稀疏性,即不能实时反映流量分类特征。
[0062] PSM_individual是个体输出形式的一阶梯度方法,但没有理论保证具有最优的收敛速率。
[0063] PSM_interpolation是一种嵌入插值操作的网络流量分类方法,它是具有个体最优收敛速率的分类方法,但是输出的权值w不具有稀疏性,并不能反应网络流量特征重要性。
[0064] PSM_Nesterov即本发明提出的一种具有最优个体收敛速率,并且可以实时反应网络流量特征的分类方法。
[0065] 根据图4的结果,我们发现四种方法的收敛趋势具有一致性。由于PSM_average具有最优的收敛速率,因此我们可以从实验上验证本发明所述的方法PSM_Nesterov具有最优的收敛性,另一方面我们也可以从理论上证明该方法具有最优的个体收敛性。
[0066] 根据图5,纵坐标为sparsity,定义为非零元素所占的百分比,也就意味着sparsity越小,稀疏性越好。我们发现PSM_individual是稀疏性最好的方法,但是没有理论保证,即从理论上无法证明该方法具有最优的收敛界(见式(2))。本发明的方法PSM_Nesterov的结果也具有一定的稀疏性,效果比PSM_individual稍差,但是比其他方法都要好。最重要的是我们证明了该方法具有最优个体收敛速率。因此本发明的方法在理论和实际应用中均具有一定优势。
[0067] 根据下表1的结果,本发明的方法在分类正确性保持原先的水平的基础上,提高了结果的稀疏性问题,因此是一种适用于大规模网络流量分类、识别问题。
[0068] 表1 Moore数据集上算法分类精度结果
[0069]