本发明属于入侵检测和机器学习,具体涉及一种基于半监督自适应多分类平衡的网络异常检测方法。
背景技术:
1、随着网络技术的飞速发展,互联网给社会各个领域带来了极大便利,其重要地位突显。网络流量是互联网通信的基本信息流,由于恶意攻击带来的不可预估的严重后果,异常流量检测一直是学者们研究的热点课题。由于网络流量数据产生速度快、数量庞大,对每条数据流进行准确标注是不可能的。此外,网络流量中只有极少数流量是恶意攻击数据,并且各种恶意攻击流量的占比也存在差异性。因此,设计一种可以在类别不平衡与标签不充分的环境中有效检测异常流量的方法非常迫切和必要。
技术实现思路
1、鉴于现有技术存在的空白和不足,本发明的目的在于提供一种基于半监督自适应多分类平衡的网络异常检测方法,基于带标签与无标签数据分布一致性的假设,以及半监督学习与集成学习之间的互利性,通过从标签不充分和类别不平衡的流量数据中高效学习,提高了网络异常检测性能。
2、本发明解决其技术问题具体采用的技术方案是:
3、一种基于半监督自适应多分类平衡的网络异常检测方法,其特征在于,包括以下步骤:
4、步骤s1:从网络数据流中采集作为样本的流量数据,预处理后构成带标签数据集l与无标签数据集u;
5、步骤s2:利用多分类拆分平衡策略,将带标签数据集l拆分重组,构成类别平衡的带标签数据集:{d1,d2,...,dn};
6、步骤s3:利用自适应置信度阈值函数,从带标签数据集l中获取类别分布信息,计算各种类别数据的置信度阈值:{δ1,δ2,...,δm};
7、步骤s4:利用协同旋转森林算法,将类别平衡的带标签数据集{d1,d2,...,dn}作为输入,生成初始模型:{h1,h2,...,hn};
8、步骤s5:利用协同旋转森林算法,将类别平衡的带标签数据集{d1,d2,...,dn}与无标签数据集u作为输入,结合类别数据的置信度阈值{δ1,δ2,...,δm},对模型{h1,h2,...,hn}进行更新;
9、步骤s6:重复步骤s5,直至模型{h1,h2,...,hn}全部停止更新,构建最终模型:
10、进一步地,步骤s1具体为:
11、步骤s11:采用数值排序的方法处理原始数据中的离散型字符数据;
12、步骤s12:采用公式对数据的每个特征项进行归一化处理,把数据映射到0~1范围之内;
13、步骤s13:使带标签数据集l与无标签数据集u的数据分布具有一致性。
14、进一步地,步骤s2具体为:
15、步骤s21:计算带标签数据集l中各种类别数据的占比信息:{θ1,θ2,...,θm},其中,θi表示同类别标签的数据占比,m表示类别数;
16、步骤s22:若θi大于θ,θ表示将数据定义为多数类的占比信息阈值,则采取随机欠采样策略,生成n份多数类带标签采样数据集;
17、步骤s23:若θi小于或等于θ,则将其与n份多数类带标签采样数据集结合,生成n份类别平衡的带标签数据集:{d1,d2,...,dn}。
18、进一步地,步骤s3具体为:
19、步骤s31:将带标签数据集l按照类别标签进行分类:{c1,c2,...,cm},其中,ci表示同类别标签的数据集合,m表示类别数;
20、步骤s32:基于置信度阈值函数其中,δi表示ci的置信度阈值,δ表示基础置信度阈值,计算各种类别数据的置信度阈值:{δ1,δ2,...,δm}。
21、进一步地,步骤s4具体为:
22、步骤s41:将类别平衡的带标签数据集{d1,d2,...,dn}中的dj作为训练集x,将训练集x的特征集f={f1,f2...,fq},其中,fi表示特征项,q表示特征数,划分为k个不相交的特征子集,每个特征子集包含个特征项;特征子集与特征集的关系为
23、步骤s42:利用特征子集fi对训练集x进行75%重采样,得到相应的训练集xi;
24、步骤s43:对xi进行pca操作,得到主成分系数从而构造出对应的主成分系数矩阵
25、步骤s44:执行矩阵乘法xr,得到新训练集zj;
26、步骤s45:重复步骤s41-步骤s44,构建新训练集{z1,z2,...,zn};
27、步骤s46:利用决策树算法,将新训练集{z1,z2,...,zn}作为输入,生成初始模型{h1,h2,...,hn}。
28、进一步地,步骤s5具体为:
29、步骤s51:当模型第t轮更新时,其中,t=1,将初始模型{h1,h2,...,hn}中hi的分类错误率et设为50%,置信度权重之和wt设为类别平衡的带标签数据集{d1,d2,...,dn}中di的数据条数;
30、步骤s52:当模型第t轮更新时,其中,t>1,利用初始模型{h1,h2,...,hn}中的hi,将di作为输入,得到分类错误率et+1;当et+1≥et时,模型hi停止更新;
31、步骤s53:按照采样率ξ,ξ初始为100%,对无标签数据集u进行子采样,得到无标签子数据集u′;
32、步骤s54:利用模型hi,将无标签子数据集u′作为输入,为u′中的每条数据生成伪标签以及伪标签置信度;
33、步骤s55:将伪标签置信度大于置信度阈值{δ1,δ2,...,δm}的数据加入到伪标签数据集st+1,置信度权重之和为wt+1;
34、步骤s56:当et+1*wt+1≥et*wt时,ξ减少10%,如果ξ等于0%,则模型hi停止更新,否则重复步骤s54-步骤s56;
35、步骤s57:将类别平衡的带标签数据集di与伪标签数据集st+1作为输入,更新模型hi;
36、步骤s58:重复步骤s51-步骤s57,更新所有模型{h1,h2,...,hn}。
37、以及,一种基于半监督自适应多分类平衡的网络异常检测系统,基于计算机系统,用于执行如上所述的基于半监督自适应多分类平衡的网络异常检测方法,包括数据采集与预处理模块、多分类拆分平衡策略模块、自适应置信度阈值函数模块和协同旋转森林算法模块。
38、相比于现有技术,本发明及其优选方案充分利用了各种流量数据提供的信息,包括标签信息与数据分布信息,使模型在初始与更新阶段保持了稳定性,并且优化了检测性能,在保证多数类数据检测性能的同时,提高了少数类数据的检测性能。
1.一种基于半监督自适应多分类平衡的网络异常检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于半监督自适应多分类平衡的网络异常检测方法,其特征在于,步骤s1具体为:
3.根据权利要求1所述的基于半监督自适应多分类平衡的网络异常检测方法,其特征在于,步骤s2具体为:
4.根据权利要求1所述的基于半监督自适应多分类平衡的网络异常检测方法,其特征在于,步骤s3具体为:
5.根据权利要求1所述的基于半监督自适应多分类平衡的网络异常检测方法,其特征在于,步骤s4具体为:
6.根据权利要求1所述的基于半监督自适应多分类平衡的网络异常检测方法,其特征在于,步骤s5具体为:
7.一种基于半监督自适应多分类平衡的网络异常检测系统,基于计算机系统,其特征在于:用于执行如权利要求1-6其中任一所述的基于半监督自适应多分类平衡的网络异常检测方法,包括数据采集与预处理模块、多分类拆分平衡策略模块、自适应置信度阈值函数模块和协同旋转森林算法模块。