CN108650194B - 基于K_means和KNN融合算法的网络流量分类方法 - Google Patents
基于K_means和KNN融合算法的网络流量分类方法 Download PDFInfo
- Publication number
- CN108650194B CN108650194B CN201810454425.8A CN201810454425A CN108650194B CN 108650194 B CN108650194 B CN 108650194B CN 201810454425 A CN201810454425 A CN 201810454425A CN 108650194 B CN108650194 B CN 108650194B
- Authority
- CN
- China
- Prior art keywords
- classification
- category
- algorithm
- classifiers
- samples
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 44
- 230000004927 fusion Effects 0.000 title claims abstract description 13
- 230000000694 effects Effects 0.000 claims abstract description 22
- 238000000926 separation method Methods 0.000 claims abstract description 6
- 238000012549 training Methods 0.000 claims description 38
- 238000012360 testing method Methods 0.000 claims description 34
- 238000013145 classification model Methods 0.000 claims description 20
- 238000003064 k means clustering Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010835 comparative analysis Methods 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 claims description 3
- 238000002156 mixing Methods 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 108010064775 protein C activator peptide Proteins 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了基于K_means和KNN融合算法的网络流量分类方法。该方法的框架是针对每个应用协议构建一个二分类器,由决策规则将所有分类器的输出整合为最终输出。算法上融合了无监督的K_means算法和有监督的KNN算法,此外,该方法还提出了基于K_means迭代的特征选择算法,目的是选出高分离度的特征,以节省时间、空间和提高分类效果。实验结果表明,在真实流量数据上,本发明对流量识别的准确率和召回率可达90%以上,相比现有典型的流量分类方法效果更好;本发明还可识别出未登录流量,与典型的分类方法相比在功能上有了扩展。
Description
技术领域
本发明涉及流量工程、网络安全等领域,具体涉及用于网络流量分类、网络管理、Qos和未登录流量识别。
背景技术
网络流量分类技术作为众多网络研究课题的基础和支撑技术,正受到越来越多的网络研究工作者和ISPs的关注。在网络安全方面,大量应用程序和网络服务的出现,隐含着各式各样的恶意流量和非法行为,如网络病毒、垃圾邮件、网络攻击等。对网络流量进行正确的分类和识别,不仅能够过滤这些不良信息,也能深入了解当前网络的健康程度,优化、管理指定流量,对互联网起到一定的保护作用,保障网络带宽的质量以及应用服务的正常运行,保障网络环境的绿色、健康。在网络管理方面,网络管理员通过流量分类的结果,可以及时了解管辖网络区域内各种网络应用的变化情况,进而发现网络设备故障、网络拥塞等问题。在Qos方面,P2P、VoIP等新型应用流量已经占据了网络流量的绝大部分,并影响其它应用的正常使用。所以,ISPs迫切的希望能够为各种不同的用户提供不同的网络服务,而几乎所有的Qos策略都依赖于网络流量分类。
目前常用的流量识别技术主要有三种模式:基于端口、基于负载、基于流统计特征。由于各种应用在端口的多变性使得基于端口方法具有很大的局限性。而基于负载的方法无法应对负载加密的流量。基于流统计特征的方法可以克服上述方法的缺陷,它是在数据流层面来分类流量,通过使用一些统计特征(包长、包时间间隔等)建立机器学习模型,通过训练模型参数来预测未知流量类别,该方法取得的效果要优于之前两种,所以在业界被广泛研究和使用。
在目前这些研究大多使用有监督的机器学习模型(如KNN、SVM、Adaboost)来分类,无监督的模型(如K_means)使用很少,无监督的模型的好处在于可以发掘未登录的流量类别而不受预定义类别数量的限制,而有监督的模型分类效果好但只能将流量分到预先定义好的类别。基于这些技术背景,将有监督和无监督的方法融合起来就是本发明的设计思路。
发明内容
本发明目的在于解决目前网络流量分类方法形式单一且准确率低、无法识别未登录流量的问题,提供一种基于K_means和KNN融合算法的网络流量分类方法。与其他方法不同之处在于,本发明融合了无监督的K_means算法和有监督的KNN算法,在计算测试样本所属类别时引入了权重因子给训练样本加权,考虑了对结果有重要影响的两个距离do和du,极大的提高了分类准确率;通过建立多个二分类器共同对分类结果作出贡献,使得算法可以有效的识别出未登录流量,相比传统的分类模型有了功能扩展;为了提取重要度高的特征,提供了一种基于迭代K_means的特征选择算法,对各个应用类别选取其最优特征子集。
本发明的技术方案:
一种基于K_means和KNN融合算法的网络流量分类方法,该方法构建的框架是针对每一种预先定义的协议类别,构建一个二分类器,多个二分类器的结果由决策规则合并为最终分类结果;每个二分类器的构建采用了K_means和KNN融合算法;还提出了一种基于迭代K_means的特征选择算法用于提取高分离度的特征;该方法具体包括以下步骤:
第1步、采集流量数据集;使用的流量涵盖各种应用类别,来源包括网络公开数据集和自己捕获的数据集;将数据集按照相同的五元组分割为数据流,随机选取其中80%为训练集,剩余20%为测试集;
第2步、计算流统计特征;使用的特征包括数据流中包总数、字节总数、包长的最大/最小/平均/标准差、包间隔时间的最大/最小/平均/标准差和信息熵;为避免量纲的影响,将特征进行归一化处理;
第3步、利用基于迭代K_means的特征选择算法选取高分离度的特征;以K_means聚类算法为基础,从1维特征空间开始聚类,逐渐向高维合并,以熵值评估聚类效果判断特征能否进入下一轮合并过程,算法收敛后选出的即为最优特征子集;针对每个应用类别,选出各自对应的最优特征子集;
第4步、在第3步最优特征子集的基础上,利用训练集建立(N+1)分类模型;针对N个应用类别,利用K_means和KNN融合算法构建分类器,判定流量是否属于该应用,即二分类器,所有N个二分类器的分类结果经由决策规则整合为最终分类结果;(N+1)分类模型最终可将流量分到N个预先定义的类别之一以及“未登录”类别中,N为正整数;
第5步、在第4步建立分类器之后,使用测试集进行分类准确率和召回率测试,与KNN、SVM、Adaboost以及K_means作对比分析。
所述的基于迭代K_means的特征选择算法,算法中衡量聚类效果的方法是:
对任一应用类别,初始时,最优特征子集为空;建立1维的最优特征子集,把总的特征集合中的每一个特征单独拿出来用于K_means聚类,针对每个特征的聚类结果按照公式(1)计算熵值,熵值越小证明簇的纯度越好,即聚类效果越好;选取熵值大于平均熵的特征加入到最优特征子集的候选集,剩下的特征作为无用特征被放弃;
针对一次聚类结果C={c1,c2,L ck},簇cj中熵值定义为:
其中|A|是分类器要区分的类别数,因为是二分类器所以|A|=2,即属于对应类别和不属于对应类别;Pij表示簇cj属于第i个类别的概率,通过cj中属于第i类的样本的数量与cj中总样本数的比值来得到;整个聚类结果C的熵值E(C)通过k个簇的熵值按簇的大小加权求和得到,如公式(2)所示,其中n为所有样本数,nj为簇cj中的所有样本数:
所述的基于迭代K_means的特征选择算法,算法中将特征由低维向高维合并的方法是:
将上一步形成的低维的最优特征子集的候选对象,两两结合取并集之后形成更高维的最优特征子集;因为取并集之后集合的元素数不固定,例如{f1,f2}与{f1,f3}合并后为{f1,f2,f3}是一个三维空间,而{f1,f2}与{f3,f4}合并后为{f1,f2,f3,f4}是一个四维空间,所以高维候选特征子空间的维数不一定都相同;然后用高维特征子集进行K_means聚类,按照熵值的阈值,即所有熵值的平均值,保留聚类效果好的最优特征子集;
不断重复上述过程,直至合并后的所有特征子集候选对象都不如合并之前候选对象的表现好,或者已合并到最高维,则停止合并,选择当前表现最优的特征子集作为最终的最优特征子集。
所述的(N+1)分类模型,将K_means和KNN融合的方法是:
对训练样本进行K_means聚类;根据测试样本与训练样本各个簇之间的距离对训练样本进行剪裁,如果距离大于簇的最大半径,则裁剪掉该簇,距离计算如公式(3)所示;
在剩余的簇中,融入KNN的思想,取前k'个距离最近的邻居训练样本,计算归属度P1:属于对应类别的程度和P0:不属于对应类别的程度,如公式(4)和(5)所示;
在计算归属度P1和P0时引入权重因子对裁剪后的训练样本基于簇内样本分布进行样本赋权,λ+η是训练样本的权重,λ考虑了训练样本在其所在簇内的位置,即到簇心的距离do,越靠近簇心的样本权重越大,η考虑了训练样本到测试样本的距离du,越靠近测试样本的权重越大,计算方法如公式(6)和(7)所示,其中rmax表示簇的半径;
所述的(N+1)分类模型,将N个二分类器的分类结果整合为最终结果的方法是:
对N个二分类器,若P1>P0,则输出1,否则输出0;若只有一个二分类器输出的结果为1,则将测试样本标记为该二分类器对应的应用类别;若所有二分类器输出的结果都为0,则将该测试样本标记为“未登录”类别;若有多个二分类器输出的结果为1,则比较这些分类器计算出的P1的大小,选择P1最大的分类器对应的类别作为测试样本的类别;由此可将测试样本划分到N个预先定义的类别以及一个“未登录”类别;“未登录”类别是指该流量不属于任意一个预先定义的应用类别,对分类系统来说属于新的,即未登录的类别。
本发明具有如下有益效果:
1.本发明提出的基于迭代K_means的特征选择方法,在提取特征子空间时采用从低维向高维合并的原理,避免了遍历所有维度排列组合的特征子集,节省了时间,找到的最优特征子集也可达到预期效果。
2.本发明提出的K_means和KNN融合算法,通过裁剪、引入权重因子等措施,大幅度提高了分类性能。
3.本发明提出的(N+1)分类模型,通过建立多个二分类器预分类,由决策规则最终分类的方法,可以识别出未登录流量,从而解决传统流量分类方法的不足,实现功能上的扩展。
本发明通过建立上述的分类模型,取得了较高的分类准确率和召回率。在预先定义的类别上,准确率和召回率达到90%以上,在未登录流量的识别上,准确率和召回率达到80%以上,相比现有的典型流量分类方法在功能和性能上都有提升。
附图说明
图1是分类模型整体框架
图2是特征选择效果曲线图
图3是(N+1)分类模型准确率曲线图
图4是(N+1)分类模型召回率曲线图
具体实施方式
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整的描述。
如附图1所示,本发明提出一种基于K_means和KNN融合算法的网络流量分类方法。整体框架分为两个阶段:特征选择和(N+1)分类模型。在特征选择阶段,本发明提出了基于迭代K_means的特征选择方法,为每个应用类别选出最优特征子集;在(N+1)分类模型阶段,建立N个二分类器,由决策规则将N个结果整合后输出最终分类结果。
第1步、采集流量数据集。下载MAWI网络公开数据集,在本地手动捕获各种应用类别的流量生成本地数据集。本地捕获时使用Wireshark工具,捕获的数据包存成PCAP文件。将数据集按照相同的五元组分割为数据流,五元组包括源IP地址、目的IP地址、源端口、目的端口、协议,其中源、目IP地址相反及源、目端口相反的数据包被认为是一个流。在所有数据流中随机选取其中80%为训练集,剩余20%为测试集。数据集中各个应用类别及其数据流数量如表1所示。
表1实验中使用的数据集
第2步、计算流统计特征。对每个数据流计算如表2所示的各项特征,为避免量纲的影响,将特征的值进行归一化处理。
首先,协议指的是传输层协议TCP/UDP,一个数据流包括客户端-服务器和服务器-客户端两个方向的数据包,因此除了传输层协议之外其他特征都有双向的两个值。第二,在一个网络流中数据包总数是受不同应用协议的限制的,数据包的大小同样因为传输内容的不同要有不同的限制条件,例如FTP协议的数据包就比其他协议的数据包更大,因为FTP传输的内容是文件,需要更高的链路利用率。第三,包长的最大、最小、平均、标准差可以在不同层面上反映数据包长的差异,多角度区分应用协议。第四,包间隔时间可以反映不同应用协议之间的差别,不同应用根据功能需求设置有不同的间隔时间限制,例如即时通信或者实时视频类应用的包间隔时间较短,因为它们需要保证实时性。
表2实验中使用的流统计特征
本发明的归一化采用z-score归一化,如公式(1)所示:
第3步、利用基于迭代K_means的特征选择算法选取高分离度的特征。针对每个应用类别,选出各自对应的最优特征子集。
对任一应用类别,初始时,最优特征子集为空;建立1维的最优特征子集,把总的特征集合中的每一个特征单独拿出来用于K_means聚类,针对每个特征的聚类结果按照公式(3)计算熵值,熵值越小证明簇的纯度越好,即聚类效果越好;选取熵值大于平均熵的特征加入到最优特征子集的候选集,剩下的特征作为无用特征被放弃。
针对一次聚类结果C={c1,c2,L ck},簇cj中熵值定义为:
其中|A|是分类器要区分的类别数,因为是二分类器所以|A|=2,即属于对应类别和不属于对应类别;Pij表示簇cj属于第i个类别的概率,通过cj中属于第i类的样本的数量与cj中总样本数的比值来得到;整个聚类结果C的熵值E(C)通过k个簇的熵值按簇的大小加权求和得到,如公式(3)所示,其中n为所有样本数,nj为簇cj中的所有样本数:
接下来是特征从低维向高维合并的过程。将上一步形成的低维的最优特征子集的候选对象,两两结合取并集之后形成更高维的最优特征子集;因为取并集之后集合的元素数不固定,例如{f1,f2}与{f1,f3}合并后为{f1,f2,f3}是一个三维空间,而{f1,f2}与{f3,f4}合并后为{f1,f2,f3,f4}是一个四维空间,所以高维候选特征子空间的维数不一定都相同;然后用高维特征子集进行K_means聚类,按照熵值的阈值(设置为所有熵值的平均值)保留聚类效果好的最优特征子集。
不断重复上述过程,直至合并后的所有特征子集候选对象都不如合并之前候选对象的表现好,或者已合并到最高维,则停止合并,选择当前表现最优的特征子集作为最终的最优特征子集。
第4步、在第3步最优特征子集的基础上,利用训练集建立(N+1)分类模型;针对N个应用类别,利用K_means和KNN融合算法构建分类器,判定流量是否属于该应用(即二分类器),所有N个二分类器的分类结果经由决策规则整合为最终分类结果。
首先,对训练样本进行K_means聚类;根据测试样本与训练样本各个簇之间的距离对训练样本进行剪裁,如果距离大于簇的最大半径,则裁剪掉该簇,距离计算如公式(4)所示。
在剩余的簇中,融入KNN的思想,取前k'个距离最近的邻居训练样本,计算归属度P1(属于对应类别的程度)和P0(不属于对应类别的程度),如公式(5)和(6)所示。
在计算归属度P1和P0时引入权重因子对裁剪后的训练样本基于簇内样本分布进行样本赋权,λ+η是训练样本的权重,λ考虑了训练样本在其所在簇内的位置(即到簇心的距离do),越靠近簇心的样本权重越大,η考虑了训练样本到测试样本的距离du,越靠近测试样本的权重越大,计算方法如公式(7)和(8)所示,其中rmax表示簇的半径。
通过λ可以使得位于簇边缘的样本对分类的作用降低,簇中心的样本的作用更大,体现了簇内不同位置样本对分类结果的影响的差异。通过η可以使得距离测试样本越近的训练样本在分类个起到的作用越大,因为距离越近代表越相似。
最后,建立决策规则,将N个二分类器的分类结果整合为最终结果输出。(N+1)分类模型最终可将流量分到N个预先定义的类别之一以及“未登录”类别中。
对N个二分类器,若P1>P0,则输出1,否则输出0,决策规则为:
1.若只有一个二分类器输出的结果为1,则将测试样本标记为该二分类器对应的应用类别;
2.若所有二分类器输出的结果都为0,则将该测试样本标记为“未登录”类别;
3.若有多个二分类器输出的结果为1,则比较这些分类器计算出的P1的大小,选择P1最大的分类器对应的类别作为测试样本的类别。
由此可将测试样本划分到N个预先定义的类别以及一个“未登录”类别;“未登录”类别是指该流量不属于任意一个预先定义的应用类别,对分类系统来说属于新的(即未登录的)类别。事实上,在互联网中,大量新应用在不断出现,而且可以预先定义的应用类型是有限的无法涵盖如此庞大的基数。所以分类模型要能处理未登录类别流量才可视为具有强的鲁棒性,这也是本发明相比其他现有方法的创新之处。
第5步、在第4步建立分类器之后,使用测试集进行分类准确率和召回率测试,与其他四种现有典型的算法作对比分析。
在分析特征选择的效果时,除了使用算法选择的最优特征子集(FSS)外,还随机抽取了10组特征子集,验证它们的分类效果,图2记录了最优特征子集在10种预先定义类别上的分类精度,以及10组额外抽取的特征子集中最大(MAX)、最小(MIN)、平均(AVG)分类精度。实验结果表明本发明提出的算法选出的最优特征子集分类效果最好。
在分析(N+1)分类模型的效果时,采用准确率和召回率2个指标来评估算法在N个预先定义的类别及未登录类别的分类性能。
准确率(precision)定义为:
召回率(recall)定义为:
此外,选取四种现有典型分类方法作为对比实验,它们是:朴素贝叶斯(Bayes)、C4.5决策树、RTC、一对多SVM。朴素贝叶斯和C4.5决策树代表了传统的机器学习模型,拿来作对比实验是由于其在流量分类中的良好表现;RTC模型是使用半监督的方法通过建立一个随机森林模型来分类流量,属于现有方法中准确度很高的;一对多SVM使用了和本文类似的思路,即针对每一个类别建立一个二分类器,所以该方法也拿来作对比实验。
图3和图4分别记录了五种方法在N个预先定义类别及未登录类别上的分类准确率和召回率。可以观测到,本发明提出的算法整体表现最优,在未登录类别上,只有本发明的算法和一对多SVM可以识别未登录流量,且本发明的算法比SVM效果好很多。
Claims (5)
1.一种基于K_means和KNN融合算法的网络流量分类方法,该方法构建的框架是针对每一种预先定义的协议类别,构建一个二分类器,多个二分类器的结果由决策规则合并为最终分类结果;每个二分类器的构建采用了K_means和KNN融合算法;还提出了一种基于迭代K_means的特征选择算法用于提取高分离度的特征;该方法具体包括以下步骤:
第1步、采集流量数据集;使用的流量涵盖各种应用类别,来源包括网络公开数据集和自己捕获的数据集;将数据集按照相同的五元组分割为数据流,随机选取其中80%为训练集,剩余20%为测试集;
第2步、计算流统计特征;使用的特征包括数据流中包总数、字节总数、包长的最大/最小/平均/标准差、包间隔时间的最大/最小/平均/标准差和信息熵;为避免量纲的影响,将特征进行归一化处理;
第3步、利用基于迭代K_means的特征选择算法选取高分离度的特征;以K_means聚类算法为基础,从1维特征空间开始聚类,逐渐向高维合并,以熵值评估聚类效果判断特征能否进入下一轮合并过程,算法收敛后选出的即为最优特征子集;针对每个应用类别,选出各自对应的最优特征子集;
第4步、在第3步最优特征子集的基础上,利用训练集建立(N+1)分类模型;针对N个应用类别,利用K_means和KNN融合算法构建分类器,判定流量是否属于该应用,即二分类器,所有N个二分类器的分类结果经由决策规则整合为最终分类结果;(N+1)分类模型最终可将流量分到N个预先定义的类别之一以及“未登录”类别中,N为正整数;
第5步、在第4步建立分类器之后,使用测试集进行分类准确率和召回率测试,与KNN、SVM、Adaboost以及K_means作对比分析。
2.根据权利要求1所述的方法,其特征在于第3步所述的基于迭代K_means的特征选择算法,算法中衡量聚类效果的方法是:
对任一应用类别,初始时,最优特征子集为空;建立1维的最优特征子集,把总的特征集合中的每一个特征单独拿出来用于K_means聚类,针对每个特征的聚类结果按照公式(1)计算熵值,熵值越小证明簇的纯度越好,即聚类效果越好;选取熵值大于平均熵的特征加入到最优特征子集的候选集,剩下的特征作为无用特征被放弃;
针对一次聚类结果C={c1,c2,L ck},簇cj中熵值定义为:
其中|A|是分类器要区分的类别数,因为是二分类器所以|A|=2,即属于对应类别和不属于对应类别;Pij表示簇cj属于第i个类别的概率,通过cj中属于第i类的样本的数量与cj中总样本数的比值来得到;整个聚类结果C的熵值E(C)通过k个簇的熵值按簇的大小加权求和得到,如公式(2)所示,其中n为所有样本数,nj为簇cj中的所有样本数:
3.根据权利要求1所述的方法,其特征在于第3步所述的基于迭代K_means的特征选择算法,算法中将特征由低维向高维合并的方法是:
将上一步形成的低维的最优特征子集的候选对象,两两结合取并集之后形成更高维的最优特征子集;因为取并集之后集合的元素数不固定,例如{f1,f2}与{f1,f3}合并后为{f1,f2,f3}是一个三维空间,而{f1,f2}与{f3,f4}合并后为{f1,f2,f3,f4}是一个四维空间,所以高维候选特征子空间的维数不一定都相同;然后用高维特征子集进行K_means聚类,按照熵值的阈值,即所有熵值的平均值,保留聚类效果好的最优特征子集;
不断重复上述过程,直至合并后的所有特征子集候选对象都不如合并之前候选对象的表现好,或者已合并到最高维,则停止合并,选择当前表现最优的特征子集作为最终的最优特征子集。
4.根据权利要求1所述的方法,其特征在于第4步所述的(N+1)分类模型,算法中将K_means和KNN融合的方法是:
对训练样本进行K_means聚类;根据测试样本与训练样本各个簇之间的距离对训练样本进行剪裁,如果距离大于簇的最大半径,则裁剪掉该簇,距离计算如公式(3)所示;
在剩余的簇中,融入KNN的思想,取前k'个距离最近的邻居训练样本,计算归属度P1:属于对应类别的程度和P0:不属于对应类别的程度,如公式(4)和(5)所示;
在计算归属度P1和P0时引入权重因子对裁剪后的训练样本基于簇内样本分布进行样本赋权,λ+η是训练样本的权重,λ考虑了训练样本在其所在簇内的位置,即到簇心的距离do,越靠近簇心的样本权重越大,η考虑了训练样本到测试样本的距离du,越靠近测试样本的权重越大,计算方法如公式(6)和(7)所示,其中rmax表示簇的半径;
5.根据权利要求1所述的方法,其特征在于第4步所述的(N+1)分类模型,算法中将N个二分类器的分类结果整合为最终结果的方法是:
对N个二分类器,若P1>P0,则输出1,否则输出0;若只有一个二分类器输出的结果为1,则将测试样本标记为该二分类器对应的应用类别;若所有二分类器输出的结果都为0,则将该测试样本标记为“未登录”类别;若有多个二分类器输出的结果为1,则比较这些分类器计算出的P1的大小,选择P1最大的分类器对应的类别作为测试样本的类别;由此可将测试样本划分到N个预先定义的类别以及一个“未登录”类别;“未登录”类别是指该流量不属于任意一个预先定义的应用类别,对分类系统来说属于新的,即未登录的类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810454425.8A CN108650194B (zh) | 2018-05-14 | 2018-05-14 | 基于K_means和KNN融合算法的网络流量分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810454425.8A CN108650194B (zh) | 2018-05-14 | 2018-05-14 | 基于K_means和KNN融合算法的网络流量分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108650194A CN108650194A (zh) | 2018-10-12 |
CN108650194B true CN108650194B (zh) | 2022-03-25 |
Family
ID=63755034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810454425.8A Expired - Fee Related CN108650194B (zh) | 2018-05-14 | 2018-05-14 | 基于K_means和KNN融合算法的网络流量分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108650194B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726734B (zh) * | 2018-11-23 | 2023-05-23 | 山东航天电子技术研究所 | 一种基于辐射源侦察信息的目标平台自动识别系统 |
CN109685767A (zh) * | 2018-11-26 | 2019-04-26 | 西北工业大学 | 一种基于聚类融合算法的双模态脑肿瘤mri分割方法 |
CN109787979B (zh) * | 2019-01-22 | 2020-03-10 | 电子科技大学 | 一种电力网络事件和入侵的检测方法 |
CN109816034B (zh) * | 2019-01-31 | 2021-08-27 | 清华大学 | 信号特征组合选取方法、装置、计算机设备及存储介质 |
CN109831454B (zh) * | 2019-03-13 | 2022-02-25 | 北京深演智能科技股份有限公司 | 虚假流量的识别方法和装置 |
CN110113338B (zh) * | 2019-05-08 | 2020-06-26 | 北京理工大学 | 一种基于特征融合的加密流量特征提取方法 |
CN110111814B (zh) * | 2019-05-20 | 2021-09-21 | 国家计算机网络与信息安全管理中心 | 网络类型识别方法及装置 |
CN110225055B (zh) * | 2019-06-22 | 2020-10-09 | 福州大学 | 一种基于knn半监督学习模型的网络流量异常检测方法与系统 |
CN112017028B (zh) * | 2020-08-28 | 2024-04-30 | 中国银行股份有限公司 | 一种汇款路径推荐方法及装置 |
CN112202686B (zh) * | 2020-09-07 | 2022-09-13 | 鹏城实验室 | 一种差分流量控制的自适应接入识别方法及终端设备 |
CN112507332A (zh) * | 2020-11-27 | 2021-03-16 | 兰州理工大学 | 人工智能网络安全攻击流量检索方法 |
CN114500387A (zh) * | 2022-02-14 | 2022-05-13 | 重庆邮电大学 | 基于机器学习的移动应用流量识别方法及系统 |
CN114866485B (zh) * | 2022-03-11 | 2023-09-29 | 南京华飞数据技术有限公司 | 一种基于聚合熵的网络流量分类方法及分类系统 |
CN114897096B (zh) * | 2022-06-02 | 2024-08-23 | 中国银联股份有限公司 | 模型融合方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571486A (zh) * | 2011-12-14 | 2012-07-11 | 上海交通大学 | 一种基于BoW模型和统计特征的流量识别方法 |
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及系统 |
CN106487535A (zh) * | 2015-08-24 | 2017-03-08 | 中兴通讯股份有限公司 | 一种网络流量数据的分类方法及装置 |
CN106982230A (zh) * | 2017-05-10 | 2017-07-25 | 深信服科技股份有限公司 | 一种流量检测方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10187413B2 (en) * | 2016-03-25 | 2019-01-22 | Cisco Technology, Inc. | Network-based approach for training supervised learning classifiers |
-
2018
- 2018-05-14 CN CN201810454425.8A patent/CN108650194B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571486A (zh) * | 2011-12-14 | 2012-07-11 | 上海交通大学 | 一种基于BoW模型和统计特征的流量识别方法 |
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及系统 |
CN106487535A (zh) * | 2015-08-24 | 2017-03-08 | 中兴通讯股份有限公司 | 一种网络流量数据的分类方法及装置 |
CN106982230A (zh) * | 2017-05-10 | 2017-07-25 | 深信服科技股份有限公司 | 一种流量检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108650194A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650194B (zh) | 基于K_means和KNN融合算法的网络流量分类方法 | |
US9729571B1 (en) | System, method, and computer program for detecting and measuring changes in network behavior of communication networks utilizing real-time clustering algorithms | |
Williams et al. | A preliminary performance comparison of five machine learning algorithms for practical IP traffic flow classification | |
US8676729B1 (en) | Network traffic classification using subspace clustering techniques | |
Yang et al. | Deep learning and zero-day traffic classification: Lessons learned from a commercial-grade dataset | |
Barut et al. | NetML: A challenge for network traffic analytics | |
Gu et al. | Realtime Encrypted Traffic Identification using Machine Learning. | |
Lu et al. | A heuristic-based co-clustering algorithm for the internet traffic classification | |
Liu et al. | Dynamic traffic classification algorithm and simulation of energy Internet of things based on machine learning | |
Qin et al. | IP traffic classification based on machine learning | |
Min et al. | Online Internet traffic identification algorithm based on multistage classifier | |
Yang et al. | Deep learning and traffic classification: Lessons learned from a commercial-grade dataset with hundreds of encrypted and zero-day applications | |
Alizadeh et al. | Timely classification and verification of network traffic using Gaussian mixture models | |
Niemczyk et al. | Identification over encrypted channels | |
Maia et al. | Internet traffic classification using a Hidden Markov Model | |
Cui et al. | Semi-2DCAE: a semi-supervision 2D-CNN AutoEncoder model for feature representation and classification of encrypted traffic | |
SE | Survey of traffic classification using machine learning | |
CN108307231B (zh) | 基于遗传算法的网络视频流特征选择与分类方法 | |
Lu et al. | TCFOM: a robust traffic classification framework based on OC-SVM combined with MC-SVM | |
Ertam et al. | Classification with intelligent systems for internet traffic in enterprise networks | |
Hsieh et al. | On the classification of mobile broadband applications | |
Zhang et al. | Video traffic identification with novel feature extraction and selection method | |
Hurley et al. | Classifying network protocols: a ‘two-way’flow approach | |
Perepelkin et al. | Problem of network traffic classification in multiprovider cloud infrastructures based on machine learning methods | |
Li et al. | Traffic classification using cluster analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220325 |