CN112422590B - 基于主动学习的网络流量分类方法及装置 - Google Patents
基于主动学习的网络流量分类方法及装置 Download PDFInfo
- Publication number
- CN112422590B CN112422590B CN202110093806.XA CN202110093806A CN112422590B CN 112422590 B CN112422590 B CN 112422590B CN 202110093806 A CN202110093806 A CN 202110093806A CN 112422590 B CN112422590 B CN 112422590B
- Authority
- CN
- China
- Prior art keywords
- network traffic
- prediction
- preset
- classification model
- training
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000011156 evaluation Methods 0.000 claims abstract description 185
- 238000012549 training Methods 0.000 claims abstract description 157
- 238000013145 classification model Methods 0.000 claims abstract description 138
- 239000013598 vector Substances 0.000 claims description 26
- 230000000737 periodic effect Effects 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000002372 labelling Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 4
- 239000000463 material Substances 0.000 abstract description 5
- 238000010801 machine learning Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- 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/24—Classification techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于主动学习的网络流量分类方法及装置,包括:离线训练过程:在历史积累的网络流量数据集上对初始化训练得到的网络流量分类模型进行多轮次的主动学习和性能评估,直至达到预设评估要求,输出达到预设评估要求的网络流量分类模型,并结束离线训练过程;在线预测过程:利用离线训练过程获得的网络流量分类模型对实时网络流量数据进行在线预测,同时对网络流量分类模型自身进行在线主动学习。本发明基于主动学习的网络流量分类方法,在降低人力物力开销的同时,能够保证网络流量分类模型很好的分类性能,且基于主动学习训练获得的网络流量分类模型特别适用于不平衡网络流量数据的分类预测。
Description
技术领域
本发明属于网络流量管理领域,具体是涉及到一种基于主动学习的网络流量分类方法及装置。
背景技术
随着互联网行业的快速发展和应用创新的突飞猛进,网络流量的类型多样性、演变性和复杂性都随着新型网络应用及网络协议的不断涌现而日益增长,同时网络运营服务商和网络监管部门对了解网络流量构成、实施网络差异化服务,以及净化网络环境等诉求也愈来愈多。因此,如何对源源不断的未知网络流量进行准确分类,支持快速再分配网络资源,从而提高网络资源的利用率和客户个性化服务的满意度是当前网络流量管理领域面临的一大挑战,迫切需要提出新的高效网络流量分类方法,以满足网络运营服务商和网络监管部门对网络服务与管理的新需求。
现有基于传统机器学习的网络流量分类方法,分类性能很大程度上依赖于基于包特征或者基于流特征的设计。这些传统方法一方面需要大量带有真实标签的训练样本来训练分类器,但获取大量真实标签需要耗费大量人力及物力,且一旦发生类型演变,往往会导致原先训练得到的分类器性能急剧降低。另一方面,随着新型网络应用层出不穷,流量类型不断出新,各种类型的流量占比总在动态演化,而传统方法往往偏向于不平衡流量中的大类数据,易于忽略新型网络应用在初期阶段所产生的小类流量数据,更难以识别伪装善变的恶意流量数据,这种恶意流量数据虽然占比小但危害大,是网络监管的重点目标。
发明内容
本发明的目的是克服现有技术存在的上述问题,提供一种基于主动学习的网络流量分类方法及装置。
基于上述目的,第一方面,本发明提供一种基于主动学习的网络流量分类方法,包括基于主动学习的网络流量分类模型离线训练过程和基于主动学习的网络流量分类模型在线预测过程,
所述基于主动学习的网络流量分类模型离线训练过程,包括:
获取初始化训练样本集,通过预设的有监督学习算法对初始化训练样本集进行有监督学习,得到初始网络流量分类模型;
根据获取的历史网络流量数据集,对所述初始网络流量分类模型进行预设总标签请求比例下的主动学习;
获取主动学习过程中随机标签请求策略得到的性能评估样本集,并根据所述性能评估样本集进行模型分类预测性能评估,以得到离线评估结果;
检测离线评估结果是否达到预设评估要求;
在所述离线评估结果达到预设评估要求时,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程;
所述基于主动学习的网络流量分类模型在线预测过程,包括:
获取离线训练得到的所述网络流量分类模型,并获取实时网络流量数据;
通过所述网络流量分类模型对所述实时网络流量数据进行在线分类预测,获得分类预测结果;同时对所述网络流量分类模型进行所述预设总标签请求比例下的主动学习;
获取主动学习过程中所述随机标签请求策略得到的所述性能评估样本集,并在预设时间周期内进行模型分类预测性能评估,以得到周期性评估结果;
根据所述周期性评估结果和所述预设评估要求判断是否按照所述预设时间周期输出所述网络流量分类模型。
优选地,所述基于主动学习的网络流量分类模型离线训练过程,还包括:
在所述离线评估结果未达到预设评估要求时,对未达到所述预设评估要求的所述网络流量分类模型进行下一轮的主动学习,直至检测到所述离线评估结果达到所述预设评估要求,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程。
优选地,所述通过预设的学习算法对初始化训练得到的网络流量分类模型进行预设总标签请求比例下的主动学习,包括:
通过所述网络流量分类模型,对不包含流量类型标签的网络流量数据进行分类预测,得到预测结果数据;所述预测结果数据为包含预测类型标签的网络流量数据;
判断所述预测结果数据是否被混合标签请求策略选中;所述混合标签请求策略为由随机标签请求策略、不确定性标签请求策略和选择性标签请求策略组合的标签请求策略;
若所述预测结果数据被混合标签请求策略选中,则请求人工标注类型,以获得同时包含预测类型标签和真实类型标签的训练样本;若判断到是被混合标签请求策略中的所述随机标签请求策略选中,则将获得的训练样本复制为性能评估样本插入至预设缓存滑窗中;否则,将预设占位符插入至预设缓存滑窗中;
若所述预测结果数据未被混合标签请求策略选中,则将预设占位符插入至预设缓存滑窗中;
基于所述预设缓存滑窗计算所述网络流量数据的各种流量类型的不平衡率,并获得不平衡率向量;
根据所述不平衡率向量和所述训练样本的预测难度获得所述训练样本的训练权重,并获得赋权后的训练样本;
根据赋权后的所述训练样本对所述网络流量分类模型进行训练学习,以更新所述网络流量分类模型。
优选地,所述基于所述预设缓存滑窗计算所述网络流量数据的各种流量类型的不平衡率,并获得不平衡率向量,包括:
获得所述预设缓存滑窗中的所述性能评估样本的数量;
通过计算所述预设缓存滑窗中的各种真实类型的标签数量与所述性能评估样本的数量的商值,得到各种所述真实类型的占比值;
通过计算各种所述真实类型的占比值与流量类型总数之间的乘积值,得到各种所述真实类型的不平衡率,并组合得到不平衡率向量。
优选地,所述根据所述不平衡率向量和所述训练样本的预测难度获得所述训练样本的训练权重,并获得赋权后的训练样本,包括:
优选地,所述判断所述预测结果数据是否被混合标签请求策略选中,包括:
判断所述预测结果数据是否被所述随机标签请求策略选中;
若所述预测结果数据未被所述随机标签请求策略选中,则判断所述预测结果数据是否被所述不确定性标签请求策略选中;
若所述预测结果数据未被所述不确定性标签请求策略选中,则判断实际标签请求比例是否达到所述预设总标签请求比例;
若实际标签请求比例未达到所述预设总标签请求比例,则判断所述预测结果数据是否被所述选择性标签请求策略选中;
若所述预测结果数据未被所述选择性标签请求策略中选中,则确定所述预测结果数据未被所述混合标签请求策略中的任意一种标签请求策略选中。
优选地,所述判断所述预测结果数据是否被所述随机标签请求策略选中,包括:
产生第一随机数;
检测所述第一随机数是否小于所述随机标签请求策略中的预设随机标签请求比例;
若所述第一随机数小于预设随机标签请求比例,则确定所述预测结果数据被所述随机标签请求策略选中;
若所述第一随机数大于或等于预设随机标签请求比例,则确定所述预测结果数据未被所述随机标签请求策略选中。
优选地,所述判断所述预测结果数据是否被所述不确定性标签请求策略选中,包括:
获取所述网络流量分类模型对所述网络流量数据进行预测时,在所述预测类型上的预测概率,并从所述不确定性标签请求策略中的不确定性阈值向量中获取所述预测类型对应的不确定性阈值;
判断在所述预测类型上的预测概率是否小于对应的不确定性阈值;
若在所述预测类型上的预测概率小于对应的不确定性阈值,则确定所述预测结果数据被所述不确定性标签请求策略选中;同时对所述预测类型对应的不确定性阈值按照预设收缩因子进行缩减调整;
若在所述预测类型上的预测概率大于或等于对应的不确定性阈值,则所述预测结果数据未被所述不确定性标签请求策略选中。
优选地,所述对所述预测类型对应的不确定性阈值按照预设收缩因子进行缩减调整,采用的调整公式为:
优选地,所述判断所述预测结果数据是否被所述选择性标签请求策略选中,包括:
计算选择阈值;
产生第二随机数,检测所述第二随机数是否小于所述选择阈值;
若所述第二随机数小于所述选择阈值,则确定所述预测结果数据被所述选择性标签请求策略选中;
若所述第二随机数大于或等于所述选择阈值,则确定所述预测结果数据未被所述选择性标签请求策略选中。
优选地,所述计算选择阈值,包括:
通过计算已请求标签的实际次数与总的预测次数之间的商值,得到实际标签请求比例;
通过计算预设总标签请求比例与实际标签请求比例之间的差值,得到标签请求比例余量;
通过计算在所述预测类型上的预测概率与对应的不确定性阈值之间的差值,得到选择因子;
根据所述标签请求比例余量和所述选择因子计算选择阈值,所述选择阈值的计算公式为:
第二方面,本发明提供一种基于主动学习的网络流量分类装置,包括离线训练模块和在线预测模块,
离线训练模块包括:
初始化训练单元,用于获取初始化训练样本集,通过预设的有监督学习算法对初始化训练样本集进行有监督学习,得到初始网络流量分类模型;
离线学习单元,用于根据获取的历史网络流量数据集,对所述初始网络流量分类模型进行预设总标签请求比例下的主动学习;
离线评估单元,用于获取主动学习过程中随机标签请求策略得到的性能评估样本集,并根据所述性能评估样本集进行模型分类预测性能评估,以得到离线评估结果;
评估检测单元,用于检测离线评估结果是否达到预设评估要求;
模型输出单元,用于在所述离线评估结果达到预设评估要求时,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程;
在线预测模块包括:
模型获取单元,用于获取离线训练得到的所述网络流量分类模型,并获取实时网络流量数据;
在线学习单元,用于通过所述网络流量分类模型对所述实时网络流量数据进行在线分类预测,获得分类预测结果;同时对所述网络流量分类模型进行所述预设总标签请求比例下的主动学习;
周期性评估单元,用于获取主动学习过程中所述随机标签请求策略得到的所述性能评估样本集,并在预设时间周期内进行模型分类预测性能评估,以得到周期性评估结果;
周期性输出单元,用于根据所述周期性评估结果和所述预设评估要求判断是否按照所述预设时间周期输出所述网络流量分类模型。
综上所述,本发明提供的基于主动学习的网络流量分类方法及装置,针对不平衡流量数据,在离线训练过程中,在历史积累的网络流量数据集上对初始化训练得到的网络流量分类模型在预设总标签请求比例下进行多轮次的主动学习和性能评估,直至检测到分类预测结果达到预设评估要求,输出达到预设评估要求的网络流量分类模型,并结束离线训练过程。在线预测过程,通过学习得到的网络流量分类模型对实时获得的网络流量数据进行在线预测的同时,对网络流量分类模型自身进行在线主动学习。本发明提供的基于主动学习的网络流量分类方法,相较于现有的基于传统机器学习技术的网络流量预测性能分类方法,在降低人力物力开销的同时,能够保证网络流量分类模型很好的分类性能;此外,基于主动学习训练获得的在网络流量分类模型,特别适用于不平衡网络流量的分类预测,能够准确地识别新型网络应用所产生的小类流量数据,能够有效地应对网络流量类型的演变问题以及识别伪装善变的恶意流量数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例中提供的基于主动学习的网络流量分类方法的流程图一;
图2为本发明一实施例中提供的基于主动学习的网络流量分类方法的流程图二;
图3为本发明一实施例中提供的基于主动学习的网络流量分类方法的流程图三;
图4为本发明一实施例中提供的基于主动学习的网络流量分类方法的流程图四;
图5为本发明一实施例中提供的基于主动学习的网络流量分类方法的流程图五;
图6为本发明一实施例中提供的基于主动学习的网络流量分类方法的流程图六;
图7为本发明一实施例中提供的基于主动学习的网络流量分类装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,本发明实施例提供了一种基于主动学习的网络流量分类方法,该方法包括主动学习的网络流量分类模型离线训练过程和基于主动学习的网络流量分类模型在线预测过程;
基于主动学习的网络流量分类模型离线训练过程,具体包括:
步骤S101,获取初始化训练样本集,通过预设的有监督学习算法对初始化训练样本集进行有监督学习,得到初始网络流量分类模型。
在本实施例中,初始化训练样本集包含预设数量的历史网络流量数据及其对应的真实类型标签,其中预设数量可以根据需求进行设置,例如500个。网络流量分类模型训练学习所采用的算法为自适应随机森林算法(Adaptive Random Forest,ARF),该算法是一种集成学习算法,其采用的基学习器为ARF霍夫丁树(ARF Hoeffding Tree)。在另一实施例中,网络流量分类模型集成学习所采用的算法是采用霍夫丁树(Hoeffding Tree)为基学习器的LB (Leveraging Bagging)算法。
具体的,首先获取原先积累下来的历史网络流量数据集,并从历史网络流量数据集中随机选取预设数量的历史网络流量数据,然后分别对每一个随机选取得到的历史网络流量数据进行流量类型人工标注,以获得每一个随机选取得到的历史网络流量数据的真实标签类型,进而生成初始化训练样本集,最后通过预设的自适应随机森林算法ARF对初始化训练样本集进行有监督学习,得到初始网络流量分类模型。
在本实施例中,可以将网络流量数据集建模为数据流的形式,也即将网络流量数据集建模为由大量的包含时间戳的数据按照时间有序组成的序列,网络流量数据集可以表示为,其中为t时刻的网络流量数据,且可以将不包含流量类型标签的网络流量数据表示为,将包含真实类型标签的网络流量数据表示为,将包含预测类型标签的网络流量数据表示为,将同时包含真实类型标签和预测类型标签的网络流量数据表示为。
步骤三,若预测结果数据被混合标签请求策略选中,则请求人工标注类型,以获得同时包含预测类型标签和真实类型标签的训练样本;若进一步判断到是被混合标签请求策略中的随机标签请求策略选中,则将获得的训练样本复制为性能评估样本插入至预设缓存滑窗中;否则,将预设占位符插入至预设缓存滑窗中
步骤S103,获取主动学习过程中随机标签请求策略得到的性能评估样本集,并根据性能评估样本集进行模型分类预测性能评估,以得到离线评估结果。
在本实施中,预设总标签请求比例根据人力和/或物力约束条件进行设置,且预设总标签请求比例大于随机标签请求策略中的预设随机标签请求比例。其中,随机标签请求策略为混合标签请求策略中的一种标签请求策略。例如,预设总标签请求比例设置为10%,随机标签请求策略中的预设随机标签请求比例设置为5%。
具体的,利用主动学习过程中随机标签请求策略得到的性能评估样本集,对主动学习获得的网络流量分类模型的分类预测性能进行评估,并获得离线评估结果。性能评估样本集中包含的每一个网络流量数据均具有预测类型标签和真实类型标签。
步骤S104,检测离线评估结果是否达到预设评估要求。
步骤S105,在离线评估结果达到预设评估要求时,获得达到预设评估要求的网络流量分类模型,并结束基于主动学习的网络流量分类模型离线训练过程。而在离线评估结果未达到预设评估要求时,对未达到预设评估要求的网络流量分类模型进行下一轮的主动学习,直至检测到离线评估结果达到预设评估要求,获得达到预设评估要求的网络流量分类模型,并结束基于主动学习的网络流量分类模型离线训练过程。
在本实施例中,离线评估结果包含两个或两个以上的分类预测性能评估指标,相应地,预设评估要求包含两个或两个以上的预设评估指标阈值,分类预测性能评估指标包括但不限于准确率和召回率。
具体的,检测离线评估结果是否达到预设评估要求,也即检测离线评估结果中的各个分类预测性能评估指标是否达到对应的预设评估指标阈值,若离线评估结果中的各个分类预测性能评估指标达到对应的预设评估指标阈值,则确定离线评估结果达到预设评估要求,则输出达到预设评估要求的网络流量分类模型,并结束离线训练过程;而若离线评估结果中存在任意一个分类预测性能评估指标未达到对应的预设评估指标阈值,则确定离线评估结果达到预设评估要求,则进行下一轮的主动学习——离线评估——达标检测。
基于主动学习的网络流量分类模型在线预测过程,具体包括:
步骤S201,获取离线训练得到的网络流量分类模型,并获取实时网络流量数据。
也即,获取基于主动学习的网络流量分类模型离线训练过程输出的网络流量分类模型,同时在线实时采集网络中的网络流量数据。
步骤S203,获取主动学习过程中随机标签请求策略得到的性能评估样本集,并在预设时间周期内进行模型分类预测性能评估,以得到周期性评估结果。
具体的,周期性地利用主动学习过程中随机标签请求策略得到的性能评估样本集,对网络流量分类模型的分类预测性能进行评估,将分类预测性能评估指标作为周期性评估结果输出。在本实施例中,预设时间周期可以根据需求进行设置,例如预设时间周期设置为24小时(1天)。
步骤S204,根据周期性评估结果和预设评估要求判断是否按照预设时间周期输出网络流量分类模型。
具体的,检测周期性评估结果是否达到预设评估要求,也即检测周期性评估结果中的各个分类预测性能评估指标是否达到对应的预设评估指标阈值,若周期性评估结果中的各个分类预测性能评估指标均达到对应的预设评估指标阈值,则确定周期性评估结果达到预设评估要求,按照预设时间周期输出网络流量分类模型;而若周期性评估结果中的任意一个分类预测性能评估指标未达到对应的预设评估指标阈值,则确定周期性评估结果未达到预设评估要求,加大主动学习过程中的预设总标签请求比例,从而增加网络流量分类模型的在线学习机会。其中,每次加大主动学习过程中的预设总标签请求比例的增幅为1%。作为优选,主动学习过程中得到的网络流量分类模型(也即达到预设评估要求的网络流量分类模型)特别适用于对不平衡网络流量数据进行分类预测。
步骤S303,若预测结果数据被混合标签请求策略选中,则请求人工标注类型,以获得同时包含预测类型标签和真实类型标签的训练样本;若判断到是被混合标签请求策略中的随机标签请求策略选中,则将获得的训练样本复制为性能评估样本插入至预设缓存滑窗中;否则,将预设占位符插入至预设缓存滑窗中。
具体的,若判断到预测结果数据被混合标签请求策略中的任意一种标签请求策略选中,则需要请求网络流量数据标注专家对预测结果数据进行人工标注类型,并获取网络流量数据标注专家返回的同时包含预测类型标签和真实类型标签的训练样本。而若判断到预测结果数据未被混合标签请求策略中的任意一种标签请求策略选中,则将预设占位符插入到预设缓存滑窗中。可选地,预设占位符为空的占位符。
进一步的,若确定预测结果数据被混合标签请求策略中的随机标签请求策略选中,则将根据随机标签请求策略选中获得的训练样本复制为性能评估样本插入到预设缓存滑窗中;若确定预测结果数据不是被混合标签请求策略中的随机标签请求策略选中,也即被混合标签请求策略中的不确定性标签请求策略或选择性标签请求策略选中,则将预设占位符插入到预设缓存滑窗中。
作为优选,步骤S305具体包括:
可理解的,根据流量类型的不平衡率可以判断流量类型的属性,其中,流量类型的属性包括平均类、大类以及小类。可理解的,若流量类型的不平衡率为=1,则判定流量类型是平均类;若>1,则判定流量类型是大类;若<1,则判定流量类型是小类。
作为优选,步骤S306具体包括:
在本实施例中,针对不平衡网络流量数据,首先通过网络流量分类模型对不平衡网络流量数据进行分类预测,得到预测结果数据,然后基于混合标签请求策略获得训练样本,并基于训练样本的真实类型的不平衡率和预测难度计算训练权重,最后根据赋权后的训练样本训练网络流量分类模型,得到更新的网络流量分类模型。本实施例中的主动学习训练得到的网络流量分类模型,特别适用于不平衡网络流量数据的分类预测,能够准确地识别新型网络应用中所产生的小类流量数据,能够有效地应对流量类型的概念漂移问题以及识别伪装善变的恶意流量类型。
可理解的,若预测结果数据被随机标签请求策略、不确定性标签请求策略和选择性标签请求策略中的任意一种标签请求策略选中,则确定预测结果数据被混合标签请求策略选中,此时需要请求人工标注类型,以获得同时包含预测类型标签和真实类型标签的训练样本。而若预测结果数据未被混合标签请求策略选中,此时无需请求人工标注类型。
可理解的,若<,则确定网络流量分类模型对网络流量数据进行预测时,在预测类型上的预测概率较低,且低于预测类型对应的不确定性阈值,因此认定网络流量分类模型作出预测类型的预测是具有较高的不确定性,此时需要选中预测结果数据请求人工标注类型。而若 ,则认定网络流量分类模型作出预测类型的预测是具有较高的确定性,因此预测结果数据不需被不确定性标签请求策略选中,此时无需选中预测结果数据请求人工标注类型。
作为优选,步骤S4041具体包括以下步骤:
步骤一,通过计算已请求标签的实际次数与总的预测次数之间的商值,得到实际标签请求比例S。
步骤二,通过计算预设总标签请求比例与实际标签请求比例S之间的差值,得到标签请求比例余量。其中,当,则退出选择性标签请求策略。若差值>0,则确定实际标签请求比例S小于预设总标签请求比例,则继续执行选择性标签请求策略。
也即,检测不等式<是否成立,若不等式<成立,则判定预测结果数据被选择性标签请求策略选中,此时需要请求人工标注类型;若不等式<不成立,也即 ,则判定预测结果数据未被选择性标签请求策略选中,此时无需为其请求人工标注类型。
综上所述,本实施例中的基于主动学习的网络流量分类方法,针对不平衡流量数据,在离线训练过程中,在历史积累的网络流量数据集上对初始化训练得到的网络流量分类模型在预设总标签请求比例下进行多轮次的主动学习和性能评估,直至检测到分类预测结果达到预设评估要求,输出达到预设评估要求的网络流量分类模型,并结束离线训练过程。在线预测过程,通过学习得到的网络流量分类模型对实时获得的不平衡网络流量数据进行在线预测的同时,对网络流量分类模型自身进行在线主动学习。本实施例中的基于主动学习的网络流量分类方法,相较于现有的基于传统机器学习技术的网络流量预测性能分类方法,在降低人力物力开销的同时,能够保证网络流量分类模型很好的分类性能;此外,基于主动学习训练获得的在网络流量分类模型,特别适用于不平衡网络流量的分类预测,能够准确地识别新型网络应用所产生的小类流量数据,能够有效地应对网络流量类型的演变问题以及识别伪装善变的恶意流量数据
此外,如图7所示,本发明实施例还提供一种基于主动学习的网络流量分类装置,该装置包括离线训练模块100和在线预测模块200,所述离线训练模块100包括:
初始化训练单元110,用于获取初始化训练样本集,通过预设的有监督学习算法对初始化训练样本集进行有监督学习,得到初始网络流量分类模型;
离线评估单元130,用于获取主动学习过程中随机标签请求策略得到的性能评估样本集,并根据所述性能评估样本集进行模型分类预测性能评估,以得到离线评估结果;
评估检测单元140,用于检测离线评估结果是否达到预设评估要求;
模型输出单元150,用于在所述离线评估结果达到预设评估要求时,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程;
在线预测模块200包括:
模型获取单元210,用于获取离线训练得到的所述网络流量分类模型,并获取实时网络流量数据;
周期性评估单元230,用于获取主动学习过程中所述随机标签请求策略得到的所述性能评估样本集,并在预设时间周期内进行模型分类预测性能评估,以得到周期性评估结果;
周期性输出单元240,用于根据所述周期性评估结果和所述预设评估要求判断是否按照所述预设时间周期输出所述网络流量分类模型。
本实施例的基于主动学习的网络流量分类装置用于执行如图1所示的基于主动学习的网络流量分类方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,所述模型输出单元150还用于在所述离线评估结果未达到预设评估要求时,对未达到所述预设评估要求的所述网络流量分类模型进行下一轮的主动学习,直至检测到所述离线评估结果达到所述预设评估要求,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于主动学习的网络流量分类方法,其特征在于,包括基于主动学习的网络流量分类模型离线训练过程和基于主动学习的网络流量分类模型在线预测过程,
所述基于主动学习的网络流量分类模型离线训练过程,包括:
获取初始化训练样本集,通过预设的有监督学习算法对初始化训练样本集进行有监督学习,得到初始网络流量分类模型;
根据获取的历史网络流量数据集,对所述初始网络流量分类模型进行预设总标签请求比例下的主动学习;
获取主动学习过程中随机标签请求策略得到的性能评估样本集,并根据所述性能评估样本集进行模型分类预测性能评估,以得到离线评估结果;
检测离线评估结果是否达到预设评估要求;
在所述离线评估结果达到预设评估要求时,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程;
所述基于主动学习的网络流量分类模型在线预测过程,包括:
获取离线训练得到的所述网络流量分类模型,并获取实时网络流量数据;
通过所述网络流量分类模型对所述实时网络流量数据进行在线分类预测,获得分类预测结果;同时对所述网络流量分类模型进行所述预设总标签请求比例下的主动学习;
获取主动学习过程中所述随机标签请求策略得到的所述性能评估样本集,并在预设时间周期内进行模型分类预测性能评估,以得到周期性评估结果;
根据所述周期性评估结果和所述预设评估要求判断是否按照所述预设时间周期输出所述网络流量分类模型;
其中,所述对所述网络流量分类模型进行所述预设总标签请求比例下的主动学习,包括:
通过所述网络流量分类模型,对不包含流量类型标签的网络流量数据进行分类预测,得到预测结果数据;所述预测结果数据为包含预测类型标签的网络流量数据;
判断所述预测结果数据是否被混合标签请求策略选中;所述混合标签请求策略为由随机标签请求策略、不确定性标签请求策略和选择性标签请求策略组合的标签请求策略;
若所述预测结果数据被混合标签请求策略选中,则请求人工标注类型,以获得同时包含预测类型标签和真实类型标签的训练样本;若判断到是被混合标签请求策略中的所述随机标签请求策略选中,则将获得的训练样本复制为性能评估样本插入至预设缓存滑窗中;否则,将预设占位符插入至预设缓存滑窗中;
若所述预测结果数据未被混合标签请求策略选中,则将预设占位符插入至预设缓存滑窗中;
基于所述预设缓存滑窗计算所述网络流量数据的各种流量类型的不平衡率,并获得不平衡率向量;
根据所述不平衡率向量和所述训练样本的预测难度获得所述训练样本的训练权重,并获得赋权后的训练样本;
根据赋权后的所述训练样本对所述网络流量分类模型进行训练学习,以更新所述网络流量分类模型;
其中,所述根据所述不平衡率向量和所述训练样本的预测难度获得所述训练样本的训练权重,并获得赋权后的训练样本,包括:
2.根据权利要求1所述的基于主动学习的网络流量分类方法,其特征在于,所述基于主动学习的网络流量分类模型离线训练过程,还包括:
在所述离线评估结果未达到预设评估要求时,对未达到所述预设评估要求的所述网络流量分类模型进行下一轮的主动学习,直至检测到所述离线评估结果达到所述预设评估要求,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程。
3.根据权利要求1所述的基于主动学习的网络流量分类方法,其特征在于,所述基于所述预设缓存滑窗计算所述网络流量数据的各种流量类型的不平衡率,并获得不平衡率向量,包括:
获得所述预设缓存滑窗中的所述性能评估样本的数量;
通过计算所述预设缓存滑窗中的各种真实类型的标签数量与所述性能评估样本的数量的商值,得到各种所述真实类型的占比值;
通过计算各种所述真实类型的占比值与流量类型总数之间的乘积值,得到各种所述真实类型的不平衡率,并组合得到不平衡率向量。
4.根据权利要求1所述的基于主动学习的网络流量分类方法,其特征在于,所述判断所述预测结果数据是否被混合标签请求策略选中,包括:
判断所述预测结果数据是否被所述随机标签请求策略选中;
若所述预测结果数据未被所述随机标签请求策略选中,则判断所述预测结果数据是否被所述不确定性标签请求策略选中;
若所述预测结果数据未被所述不确定性标签请求策略选中,则判断实际标签请求比例是否达到所述预设总标签请求比例;
若实际标签请求比例未达到所述预设总标签请求比例,则判断所述预测结果数据是否被所述选择性标签请求策略选中;
若所述预测结果数据未被所述选择性标签请求策略中选中,则确定所述预测结果数据未被所述混合标签请求策略中的任意一种标签请求策略选中。
5.根据权利要求4所述的基于主动学习的网络流量分类方法,其特征在于,所述判断所述预测结果数据是否被所述随机标签请求策略选中,包括:
产生第一随机数;
检测所述第一随机数是否小于所述随机标签请求策略中的预设随机标签请求比例;
若所述第一随机数小于预设随机标签请求比例,则确定所述预测结果数据被所述随机标签请求策略选中;
若所述第一随机数大于或等于预设随机标签请求比例,则确定所述预测结果数据未被所述随机标签请求策略选中。
6.根据权利要求4所述的基于主动学习的网络流量分类方法,其特征在于,所述判断所述预测结果数据是否被所述不确定性标签请求策略选中,包括:
获取所述网络流量分类模型对所述网络流量数据进行预测时,在所述预测类型上的预测概率,并从所述不确定性标签请求策略中的不确定性阈值向量中获取所述预测类型对应的不确定性阈值;
判断在所述预测类型上的预测概率是否小于对应的不确定性阈值;
若在所述预测类型上的预测概率小于对应的不确定性阈值,则确定所述预测结果数据被所述不确定性标签请求策略选中;同时对所述预测类型对应的不确定性阈值按照预设收缩因子进行缩减调整;
若在所述预测类型上的预测概率大于或等于对应的不确定性阈值,则所述预测结果数据未被所述不确定性标签请求策略选中。
8.根据权利要求4所述的基于主动学习的网络流量分类方法,其特征在于,所述判断所述预测结果数据是否被所述选择性标签请求策略选中,包括:
计算选择阈值;
产生第二随机数,检测所述第二随机数是否小于所述选择阈值;
若所述第二随机数小于所述选择阈值,则确定所述预测结果数据被所述选择性标签请求策略选中;
若所述第二随机数大于或等于所述选择阈值,则确定所述预测结果数据未被所述选择性标签请求策略选中。
10.一种基于主动学习的网络流量分类装置,其特征在于,包括离线训练模块和在线预测模块,
离线训练模块包括:
初始化训练单元,用于获取初始化训练样本集,通过预设的有监督学习算法对初始化训练样本集进行有监督学习,得到初始网络流量分类模型;
离线学习单元,用于根据获取的历史网络流量数据集,对所述初始网络流量分类模型进行预设总标签请求比例下的主动学习;
离线评估单元,用于获取主动学习过程中随机标签请求策略得到的性能评估样本集,并根据所述性能评估样本集进行模型分类预测性能评估,以得到离线评估结果;
评估检测单元,用于检测离线评估结果是否达到预设评估要求;
模型输出单元,用于在所述离线评估结果达到预设评估要求时,获得达到所述预设评估要求的网络流量分类模型,并结束所述基于主动学习的网络流量分类模型离线训练过程;
在线预测模块包括:
模型获取单元,用于获取离线训练得到的所述网络流量分类模型,并获取实时网络流量数据;
在线学习单元,用于通过所述网络流量分类模型对所述实时网络流量数据进行在线分类预测,获得分类预测结果;同时对所述网络流量分类模型进行所述预设总标签请求比例下的主动学习;
周期性评估单元,用于获取主动学习过程中所述随机标签请求策略得到的所述性能评估样本集,并在预设时间周期内进行模型分类预测性能评估,以得到周期性评估结果;
周期性输出单元,用于根据所述周期性评估结果和所述预设评估要求判断是否按照所述预设时间周期输出所述网络流量分类模型;
其中,所述离线学习单元或所述在线学习单元,还用于执行如下步骤:
通过所述网络流量分类模型,对不包含流量类型标签的网络流量数据进行分类预测,得到预测结果数据;所述预测结果数据为包含预测类型标签的网络流量数据;
判断所述预测结果数据是否被混合标签请求策略选中;所述混合标签请求策略为由随机标签请求策略、不确定性标签请求策略和选择性标签请求策略组合的标签请求策略;
若所述预测结果数据被混合标签请求策略选中,则请求人工标注类型,以获得同时包含预测类型标签和真实类型标签的训练样本;若判断到是被混合标签请求策略中的所述随机标签请求策略选中,则将获得的训练样本复制为性能评估样本插入至预设缓存滑窗中;否则,将预设占位符插入至预设缓存滑窗中;
若所述预测结果数据未被混合标签请求策略选中,则将预设占位符插入至预设缓存滑窗中;
基于所述预设缓存滑窗计算所述网络流量数据的各种流量类型的不平衡率,并获得不平衡率向量;
根据所述不平衡率向量和所述训练样本的预测难度获得所述训练样本的训练权重,并获得赋权后的训练样本;
根据赋权后的所述训练样本对所述网络流量分类模型进行训练学习,以更新所述网络流量分类模型;
其中,所述根据所述不平衡率向量和所述训练样本的预测难度获得所述训练样本的训练权重,并获得赋权后的训练样本,包括:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093806.XA CN112422590B (zh) | 2021-01-25 | 2021-01-25 | 基于主动学习的网络流量分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093806.XA CN112422590B (zh) | 2021-01-25 | 2021-01-25 | 基于主动学习的网络流量分类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112422590A CN112422590A (zh) | 2021-02-26 |
CN112422590B true CN112422590B (zh) | 2021-04-27 |
Family
ID=74782515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110093806.XA Active CN112422590B (zh) | 2021-01-25 | 2021-01-25 | 基于主动学习的网络流量分类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112422590B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116669B (zh) * | 2021-11-25 | 2024-07-12 | 燕山大学 | 一种基于霍夫丁树的多标签流数据分类方法 |
CN115632996B (zh) * | 2022-12-19 | 2023-02-24 | 中国人民解放军国防科技大学 | 基于联邦式在线主动学习的网络流量分类系统及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239516A (zh) * | 2014-09-17 | 2014-12-24 | 南京大学 | 一种不平衡数据分类方法 |
US10666640B2 (en) * | 2017-12-20 | 2020-05-26 | Cisco Technology, Inc. | Semi-active probing framework to gather threat intelligence for encrypted traffic and learn about devices |
CN111104951A (zh) * | 2018-10-25 | 2020-05-05 | 马上消费金融股份有限公司 | 一种主动学习方法、装置及终端设备 |
CN109462610A (zh) * | 2018-12-24 | 2019-03-12 | 哈尔滨工程大学 | 一种基于主动学习和迁移学习的网络入侵检测方法 |
CN111444931B (zh) * | 2019-01-17 | 2024-06-18 | 北京京东尚科信息技术有限公司 | 异常访问数据的检测方法和装置 |
US11521010B2 (en) * | 2019-01-23 | 2022-12-06 | Motional Ad Llc | Automatically choosing data samples for annotation |
CN110225055B (zh) * | 2019-06-22 | 2020-10-09 | 福州大学 | 一种基于knn半监督学习模型的网络流量异常检测方法与系统 |
CN111368924A (zh) * | 2020-03-05 | 2020-07-03 | 南京理工大学 | 基于主动学习的不平衡数据分类方法 |
CN111523685B (zh) * | 2020-04-22 | 2022-09-06 | 中国科学技术大学 | 基于主动学习的降低性能建模开销的方法 |
CN112149721B (zh) * | 2020-09-10 | 2023-11-17 | 南京大学 | 一种基于主动学习降低标注需求的目标检测方法 |
CN112187664B (zh) * | 2020-09-23 | 2023-04-18 | 东南大学 | 一种基于半监督学习的应用流自动分类方法 |
-
2021
- 2021-01-25 CN CN202110093806.XA patent/CN112422590B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112422590A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070117B (zh) | 一种数据处理方法及装置 | |
Žliobaitė et al. | Active learning with drifting streaming data | |
Błaszczyński et al. | Sequential covering rule induction algorithm for variable consistency rough set approaches | |
CN112422590B (zh) | 基于主动学习的网络流量分类方法及装置 | |
CN109842563A (zh) | 内容分发网络流量调度方法、装置和计算机可读存储介质 | |
US8560667B2 (en) | Analysis method and apparatus | |
Li et al. | Analysis of attribute weighting heuristics for analogy-based software effort estimation method AQUA+ | |
CN101018164A (zh) | 一种tcp/ip网络性能评估预测方法 | |
CN113537622B (zh) | 基于动态信任感知的服务偏好预测方法及系统 | |
WO2014053192A1 (en) | Method and apparatus for ranking users within a network | |
CN108062448A (zh) | 预测边坡稳定性的建模及分析方法、设备和存储介质 | |
CN111428885B (zh) | 一种联邦学习中用户的索引方法及联邦学习装置 | |
CN112990583A (zh) | 一种数据预测模型的入模特征确定方法及设备 | |
CN116560794A (zh) | 虚拟机的异常处理方法和装置、介质和计算机设备 | |
Colby et al. | Counterfactual Exploration for Improving Multiagent Learning. | |
CN111444930B (zh) | 一种确定二分类模型的预测效果的方法及装置 | |
CN110969261A (zh) | 基于加密算法的模型构建方法及相关设备 | |
CN110991538A (zh) | 样本分类方法、装置、存储介质和计算机设备 | |
CN111625720B (zh) | 数据决策项目执行策略的确定方法、装置、设备和介质 | |
CN106603336B (zh) | 一种云计算环境的机器状态预测方法及装置 | |
CN104283934B (zh) | 一种基于可靠性预测的web服务推送方法、装置及服务器 | |
CN112906896A (zh) | 信息处理方法及装置、计算设备 | |
CN108141377A (zh) | 网络流早期分类 | |
CN113822684B (zh) | 黑产用户识别模型训练方法、装置、电子设备及存储介质 | |
AU2021105543A4 (en) | A fuzzy entropy-based method for classification and selection of multi-faceted test case of software |
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 |