基于SOM与K-means融合算法的网络流量分类方法技术

技术编号:24333889 阅读:86 留言:0更新日期:2020-05-29 21:13
本发明专利技术公开了一种基于SOM与K‑means融合算法的网络流量分类方法,首先采用SOM算法对流量数据进行一次聚类,求出聚类结果中各个簇的簇中心及簇的数目,将簇中心作为K‑means的初始聚类中心,再将簇的数目作为K值,执行K‑means算法进行二次聚类得到输出结果。采用S_Dbw指数作为聚类结果评价指标,对于包含各种噪声和不同密度的数据集,该指数具有较强的鲁棒性。本发明专利技术与基于监督学习的流量分类算法相比,减少了标注类别的成本,与其他基于无监督学习的的算法相比性能更优。

Network traffic classification method based on SOM and K-means fusion algorithm

【技术实现步骤摘要】
基于SOM与K-means融合算法的网络流量分类方法
本专利技术涉及网络流量分析及网络安全等领域,具体涉及一种基于SOM与K-means融合算法的网络流量分类方法。
技术介绍
随着互联网的迅猛发展,大数据时代的到来,越来越多的新型网络应用逐渐兴起,网络规模不断扩大,网络组成愈发复杂,对于网络的管理和分析需求增加。网络流量分类技术作为网络可控性的基础技术之一,可以帮助网络运营商提供更好的服务质量,对网络进行有效地监管。对网络流量进行分析,可以识别并过滤掉网络病毒,检测出垃圾邮件和非法入侵,提高了网络的安全性能。因此网络流量分类技术对于提高网络的管理效率,保障网络环境的绿色和安全有着至关重要的作用。常用的流量分类技术主要有以下三类:①基于端口号的流量分类方法:端口号与所需应用程序之间的对应关系由IANA(互联网数字分配机构)定义,这种方法存在着严重的局限性,例如服务器端口可以动态分配,具有不同QoS级别服务可以使用相同的端口号等,这些原因导致基于端口号的流量分类方法不再适用当前网络;②基于有效载荷的流量分类方法:这种方法需要精确了解应用层数据以及其数据包的格式,只能用于非加密流量,而当前网络的应用程序有效负载的加密性好,这种方法的局限性较大;③基于流量统计特征的分类方法:通过流量的特征来建立机器学习的模型,然后再用数据集训练并完善模型,通过模型来预测未知流量的种类,由于其适用范围广泛,该方法被广泛地研究和使用。目前针对流量分类的机器学习模型主要是基于监督学习算法,如基于K近邻、支持向量机、NaiveBayes,而基于无监督学习的机器学习模型研究较少,无监督学习的优点在于不需要将训练数据贴上标签,从而大大减少了人工标注类别的成本,因此本专利技术提出基于以无监督学习中的K-means算法为核心的流量分类方法。
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,本专利技术提供一种基于SOM与K-means融合算法的网络流量分类方法,与其他方法不同之处,本专利技术以无监督学习的K-means算法为核心将SOM算法与其结合从而进行优化。技术方案:为实现上述目的,本专利技术采用的技术方案为:一种基于SOM与K-means融合算法的网络流量分类方法,包括以下步骤:步骤1,采集网络流量数据集,确定训练集,并统计流量特征;步骤2,采用基于相关性的特征选择算法对统计后的流量特征进行筛选,然后从筛选后的训练集中计算特征-类相关矩阵和特征-特征相关矩阵,其次用最佳优先搜索方法搜索特征子集空间,计算特征子集的估计值,找出估计值最大的特征子集,作为最优特征子集;步骤3,融合算法将聚类分为两阶段进行,第一阶段:将最优特征子集对应的特征向量作为输入样本输入SOM网络,执行SOM算法不断更新各个神经元的权值,直至达到设定的迭代次数,结束算法运行,输出聚类结果,计算出聚类后的簇中心和簇的数目;第二阶段:将第一阶段聚类后的簇中心和簇的数目分别作为K-means算法的初始聚类中心和初始K值,执行K-means算法直至算法收敛,输出最终的聚类结果;步骤4,使用S_Dbw指数评估算法的聚类效果。优选的:步骤2中所述的基于相关性的特征选择算法包括以下步骤:预设一个集合D,集合D开始于空集,第一步先计算所有可能的单个特征的估计值,由merit值表示,并选择merit值最大的一个特征加入D,使D成为了一维的特征向量,然后选择剩余特征中拥有最大的merit值的特征加入D,如果这个二维的特征向量D的merit值小于原来的merit值,则去除这个特征,寻找下一个merit值最大的特征加入D,维度依次增加,不断重复上述过程,直至集合D的merit值无法再增大,得到估计值最大的特征子集;merit值的公式如下:其中,merit为特征子集的估计值,n为特征的个数,rcf为特征-类平均相关系数,rff为特征-特征平均相关系数。优选的:步骤3中SOM算法包括三个过程:竞争过程、合作过程、突触自适应过程,竞争过程:当网络得到一个输入向量X时,竞争层的所有神经元对应的权重向量Wi(t)均与其进行相似性比较,并将最相似的权重向量所对应的神经元判为竞争获胜神经元,相似度最大即向量的内积最大;合作过程:获胜神经元决定兴奋神经元的拓扑邻域的空间位置,从而提供相邻神经元合作的基础;突触自适应过程:在确定获胜神经元的拓扑邻域之后,调整邻域内各个神经元对应的权值向量,距离获胜神经元越远,被抑制的程度越大,即权重所占比例越小。三个过程依次循环进行,直至学习率衰减为0,算法收敛,随着竞争过程的进行,神经元逐渐趋近于聚类中心。优选的:步骤4中S_Dbw指数的评估原理如下所示:S_Dbw指数由两项组成,分别是簇间密度和簇内方差,使用它评价不同参数下的聚类算法结果时,取S_Dbw值最小的一组参数即可;S_Dbw(k)=Scat(k)+Dens_bw(k)其中,Dens_bw(k)表示簇间密度,用来评估含有两个簇的簇群密度和单个簇的密度的关系,k表示簇的数目,density(u)用来表示u周围点的数目,ca,cb分别表示簇a和簇b的簇中心,uab表示ca,cb连线的中点;Scat(k)表示簇内方差,用来表示簇之间的平均分散度;σ(va)表示簇a的方差,σ(S)表示数据集S的方差;S_Dbw(k)表示聚类效果评估指数。本专利技术相比现有技术,具有以下有益效果:1.本专利技术为基于无监督学习的流量分类算法,大大减少了人工标注数据类别的成本,算法简单,能够快速处理大量数据。2.解决了K-means算法随机的初始聚类中心导致聚类效果不佳,以及K值的不确定性问题。3.本专利技术所采用的聚类效果评估指标S_Dbw指数,对于包含各种干扰因素的数据集,该指数的鲁棒性较强。附图说明图1为基于SOM与K-means融合算法的网络流量分类方法设计流程图。具体实施方式下面结合附图和具体实施例,进一步阐明本专利技术,应理解这些实例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。一种基于SOM与K-means融合算法的网络流量分类方法,如图1所示,包括以下步骤:步骤1,采集数据:采集网络流量数据集,确定训练集,并统计流量特征;引用文献“InternettrafficclassificationusingBayesiananalysistechniques.”中的实验数据集中作为研究对象,数据集中每个样本都是从一条完整的TCP双向流抽取而来,一共包含249项属性,最后一项表示样本的流量类型。步骤2,对数据集进行特征选择:采用基于相关性的特征选择算法(CFS)对统计后的流量特征进行筛选,然后从筛选后的训练集中计算特征-类相关矩阵和特征-特征相关矩阵,其次用最佳优先搜索方法(bestfirstsear本文档来自技高网
...

【技术保护点】
1.一种基于SOM与K-means融合算法的网络流量分类方法,其特征在于,包括以下步骤:/n步骤1,采集网络流量数据集,确定训练集,并统计流量特征;/n步骤2,采用基于相关性的特征选择算法对统计后的流量特征进行筛选,然后从筛选后的训练集中计算特征-类相关矩阵和特征-特征相关矩阵,其次用最佳优先搜索方法搜索特征子集空间,计算特征子集的估计值,找出估计值最大的特征子集,作为最优特征子集;/n步骤3,融合算法将聚类分为两阶段进行,第一阶段:将最优特征子集对应的特征向量作为输入样本输入SOM网络,执行SOM算法不断更新各个神经元的权值,直至达到设定的迭代次数,结束算法运行,输出聚类结果,计算出聚类后的簇中心和簇的数目;第二阶段:将第一阶段聚类后的簇中心和簇的数目分别作为K-means算法的初始聚类中心和初始K值,执行K-means算法直至算法收敛,输出最终的聚类结果;/n步骤311,设置初始学习率η

【技术特征摘要】
1.一种基于SOM与K-means融合算法的网络流量分类方法,其特征在于,包括以下步骤:
步骤1,采集网络流量数据集,确定训练集,并统计流量特征;
步骤2,采用基于相关性的特征选择算法对统计后的流量特征进行筛选,然后从筛选后的训练集中计算特征-类相关矩阵和特征-特征相关矩阵,其次用最佳优先搜索方法搜索特征子集空间,计算特征子集的估计值,找出估计值最大的特征子集,作为最优特征子集;
步骤3,融合算法将聚类分为两阶段进行,第一阶段:将最优特征子集对应的特征向量作为输入样本输入SOM网络,执行SOM算法不断更新各个神经元的权值,直至达到设定的迭代次数,结束算法运行,输出聚类结果,计算出聚类后的簇中心和簇的数目;第二阶段:将第一阶段聚类后的簇中心和簇的数目分别作为K-means算法的初始聚类中心和初始K值,执行K-means算法直至算法收敛,输出最终的聚类结果;
步骤311,设置初始学习率η0,竞争层的神经元个数为m,迭代次数设为T;
输入向量为X(n)=(x1(n),x2(n),L,xn(n))
权值向量为Wi(t)=(wi1(t),wi2(t),L,win(t)),i=1,2,L,m
步骤312,取区间[0,1]内的随机值对竞争层各个神经元的权值向量Wi进行初始化,并对当前输入向量X和初始权值向量Wi(0)全部进行归一化处理:






其中,表示归一化的当前输入向量,表示归一化的第i个神经元初始权值向量;
步骤313,将与竞争层所有神经元对应的权值向量进行相似性对比,即将两者做点积,选出点积值最大的作为获胜神经元i*;
步骤314,定义优胜邻域一般初始优胜邻域N(t0)较大,训练过程中会随着迭代次数的增加而不断收缩,对优胜邻域内的所有神经元调整权值向量,权值更新过程如下所示:



式中,Wi(t)为第i个神经元在t时刻的权值,η(t)表示t时刻的学习率,学习率会随着迭代次数增加而衰减,d表示拓扑距离,e-d表明离获胜神经元越远,权值更新比例越小;
步骤315,更新学习率η(t)和优胜邻域N(t),如下所示,并将更新后的权值向量重新归一化处理;






步骤316,当学习率η<ηmin或达到指定迭代次数时,结束训练;否则转至步骤312不断重复此流程,直至满足结束判定条件;
步骤321,选取阶段一训练后的聚类中心作为初始聚类中心,选取簇数作为初始K值;
步骤322,使用阶段一归一化处理后的数据集作为输入样本;
步骤323,遍历所有数据,计算数据点到聚类中心的距离,并将其划分到最近的中心点中,形成K个簇;
步骤324,使用误差平方和SSE作为聚类的目标函数:



其中,k表示簇类数目,cj表示第j个聚类中心,dist表示的是欧几里得距离,簇的最小...

【专利技术属性】
技术研发人员:赵莎莎肖毅张登银宁越强王飞李速
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1