CN115438743A - 基于cnn基分类器改进的串行集成方法 - Google Patents
基于cnn基分类器改进的串行集成方法 Download PDFInfo
- Publication number
- CN115438743A CN115438743A CN202211153006.3A CN202211153006A CN115438743A CN 115438743 A CN115438743 A CN 115438743A CN 202211153006 A CN202211153006 A CN 202211153006A CN 115438743 A CN115438743 A CN 115438743A
- Authority
- CN
- China
- Prior art keywords
- model
- cnn
- sub
- weight
- data set
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000010354 integration Effects 0.000 title claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 131
- 238000001514 detection method Methods 0.000 claims abstract description 88
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 52
- 238000011156 evaluation Methods 0.000 claims abstract description 21
- 238000012216 screening Methods 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 94
- 239000013598 vector Substances 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 20
- 238000005070 sampling Methods 0.000 claims description 11
- 238000010606 normalization Methods 0.000 claims description 10
- 239000000126 substance Substances 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 229910052731 fluorine Inorganic materials 0.000 claims 1
- 125000001153 fluoro group Chemical group F* 0.000 claims 1
- 238000003745 diagnosis Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000013145 classification model Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 238000011176 pooling Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012774 diagnostic algorithm Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Environmental & Geological Engineering (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明具体涉及基于CNN基分类器改进的串行集成方法,包括:将网络连接记录输入经过训练的故障检测模型中输出对应的网络故障预测值;故障检测模型基于深度网络构建;训练时,首先获取若干个带网络故障标签的网络连接记录构建训练样本集;其次对训练样本集进行预处理,得到预处理数据集;然后基于XGBoost算法对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,得到高价值密度数据集;最后通过高价值密度数据集训练故障检测模型。本发明能够很好的适用于网络故障检测,且能够对网络故障数据进行特征属性重要性评估和特征筛选,进而剔除不相关或冗余特征属性来得到高价值密度数据集以训练模型。
Description
技术领域
本发明涉及深度学习技术领域,具体涉及基于CNN基分类器改进的串行集成方法。
背景技术
在当今这个信息化和智能化的时代,通信网络上运行的业务繁多且复杂,网络规模日益剧增且结构越来越复杂,当然也伴随着网络故障事件发生的概率和影响力不断扩大。所以网络故障的检测效率和精度直接影响网络是否正常运行及业务服务质量,因此研究高性能网络故障诊断算法以保证网络的正常运行至关重要。
从网络运行数据的总体统计分析情况来看,特征属性的取值各不相同,甚至有的特征属性取值情况相当复杂。如果直接在原始网络运行数据集上进行数据挖掘算法操作的话,过程将十分复杂,会耗费大量的人力物力,而且故障诊断结果也不理想。
申请人发现,网络连接记录的训练样本集数量之大,加上这些海量的网络数据含有不少无效的特征属性,不相关或者冗余的特征属性增加了算法在空间和时间上的消耗,还可能导致故障诊断精度降低。同时,传统的网络监管系统与人工排查故障的方式,很难规避网络故障表现出的层次性、扩散性和不确定性的特点,难以够削弱不相关的或者冗余的特征所带来的影响,已经难以应对现今大数据背景下复杂网络的故障诊断问题。因此,如何设计一种能够很好的适用于网络故障检测且能够对网络故障数据进行特征属性重要性评估和特征筛选的方法是亟需解决的技术问题。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种基于CNN基分类器改进的串行集成方法,以能够很好的适用于网络故障检测,且能够对网络故障数据进行特征属性重要性评估和特征筛选,进而剔除不相关或冗余特征属性来得到高价值密度数据集以训练模型,从而能够兼顾模型训练的效率和精度,并能够提高网络故障检测的效果。
为了解决上述技术问题,本发明采用了如下的技术方案:
基于CNN基分类器改进的串行集成方法,包括:
S1:获取待检测的网络连接记录;
S2:将网络连接记录输入经过训练的故障检测模型中,输出对应的网络故障预测值;
故障检测模型基于深度网络构建;
训练时,首先获取若干个带网络故障标签的网络连接记录构建训练样本集;其次对训练样本集进行预处理,得到预处理数据集;然后基于XGBoost算法对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,得到高价值密度数据集;最后通过高价值密度数据集训练故障检测模型;
S3:将故障检测模型输出的网络故障预测值作为网络连接记录的网络故障检测结果。
优选的,步骤S2中,通过如下步骤对训练样本集进行预处理:
S201:训练样本集D={(X1,Y1),…,(Xi,Yi),…,(XN,YN)},i=1,2,…,N中含有N条训练样本,其中Xi={xij,j=1,2,…,M}表示第i条训练样本,Y={Yi,i=1,2,…,N}表示训练样本的标签向量,M表示训练样本的原始特征属性维度;
S202:对特征属性向量X={X1,…,Xj,…,XM},j=1,2,…,M进行数值化处理;
优选的,步骤S203中,通过如下公式对特征属性向量进行归一化处理:
式中:表示归一化处理后的第j个维度的特征属性向量;Xj表示数值化处理后的第j个特征属性向量;xij表示第i条训练样本第j个维度的特征属性向量;Aj、Sj、Xjmin、Xjmax分别表示第j个特征属性Xj的平均值、方差、最小值和最大值。
优选的,步骤S2中,通过如下步骤生成高价值密度数据集:
式中:Gj表示特征属性的增益;(GjL+GjR)2/(HjL+HjR+λ)、和分别表示左子树分数、右子树分数和不分割时可以拿到的分数;GjL、HjL、GjR、HjR分别表示XGBoost损失函数泰勒二阶展开的左子树的梯度和二阶梯度、右子树的梯度和二阶梯度;λ表示希望所获取树的简易程度,其值越大,表示希望获取结构越简单的树;γ表示加入新叶子节点的复杂度代价;
S212:设定阈值η:若Gj<η,则剔除对应的特征属性,否则,保留对应的特征属性;
S213:重复步骤S211至S212,直至完成比较M个特征属性的增益,假设在该过程有b个特征属性的增益小于设定阈值η,则剔除该b个特征属性,且得到高价值密度数据集其中,特征属性向量为 b表示被剔除特征属性的数量。
优选的,步骤S2中,故障检测模型包括T个子决策组,每个子决策组中包含It个AB模型,且每个AB模型包含K个CNN基分类器;
训练时,首先将高价值密度数据集输入故障检测模型的卷积神经网络进行初步学习,得到若干个CNN基分类器;再通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,并基于CNN基分类器构建对应的AB模型;然后基于AB模型构建对应的子决策组,进而通过多重提升算法对T个子决策组的输出进行加权求和,生成对应的网络故障预测值;最后基于网络故障预测值和对应的网络故障标签计算训练损失,用以优化故障检测模型。
优选的,通过如下步骤训练故障检测模型:
S221:初始化标志变量It的下标,令t=1;
S222:初始化子决策组中AB模型的个数q=1;
S223:初始化AB模型中CNN基分类器的个数k=1;
S225:若k<K,则k=k+1,并返回步骤S205;否则,基于得到的K个CNN基分类器结合如下公式构建第t个子决策组中的第q个AB模型AB(tDq),并计算AB模型AB(tDq)的输出误差teq,进而基于输出误差teq调整高价值密度数据集中各个训练样本的权值;同时,得到对应的AB模型数据集向量
αt=log[(1-teq)/teq];
式中:αt表示第t个子决策组的权重;teq表示第t个子决策组中第q个AB模型的输出误差;
S227:若t<T,则t=t+1,并返回步骤S203进入下一个子决策组;否则,通过T个子决策组分别对训练样本进行分类,并结合如下公式计算得到权重最大的网络故障类别作为网络故障预测值;
tβq=teq/(1-teq);
式中:MB*(tDq)表示T个子决策组均对训练样本进行分类,并将权重最大的网路故障类别作为该网络连接记录的网络故障预测值;Yt表示AB模型数据集向量中训练样本对应网络故障标签组成的标签向量,即网络故障真实值;αt表示第t个子决策组的权重;tDq表示输入到第t个子决策组中第q个AB模型的输入数据集向量,即为AB模型中K个CNN基分类器的数据集;tβq表示第t个子决策组中第q个AB模型对故障检测模型的输出权重。
优选的,步骤S224中,通过如下公式计算标志变量It:若It=t,则将高价值密度数据集中每个训练样本的权重设置为否则根据输出误差teq调整每个训练样本的权值;进而根据高价值密度数据集中各个训练样本的权值进行有放回的抽样;
优选的,步骤S225中,通过如下公式计算AB模型的输出误差teq:
式中:teq表示第t个子决策组中第q个AB模型的输出误差;weight(Xt)表示训练样本Xt的权重;AB(Xt)表示AB模型的输出。
优选的,步骤S225中,通过如下逻辑调整高价值密度数据集中各个训练样本的权值:
1)若teq>0.5,则舍弃对应的AB模型,并基于连续泊松分布计算各个训练样本的权值;2)若teq=0,则设置输出权重tβq=10-10,并基于连续泊松分布计算各个训练样本的权值;
3)若0<teq<0.5,则设置输出权重tβq=teq/(1-teq),同时对于AB模型数据集向量tDq中的每个训练样本,错分样本的权重除以2teq,正分样本的权重除以2(1-teq),且最小权重为10-8。
优选的,通过如下公式表示连续泊松分布:
式中:p表示概率值,即为训练样本权重;Random(1,2,…,999)表示从1至999中随机生成一个整数。
本发明中基于CNN基分类器改进的串行集成方法,具有如下有益效果:
本发明通过深度网络构建故障检测模型,使得能够利用深度网络具有核共享、尺度不变性以及强大学习能力的优势来适应网络故障特征属性维度高、数据价值密度较低、数据量大的特点,进而能够很好的适用于网络故障检测并提高网络故障检测的精度;同时,本发明通过对训练样本集进行预处理,能够减小故障检测模型对度量单位的依赖,减弱由于特征属性度量的差异对故障检测模型产生的影响,进而能够提高网络故障检测的性能,并提高网络故障检测的效果;此外,本发明通过XGBoost算法对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,使得能够对网络故障数据进行特征属性重要性评估和特征筛选,进而能够剔除不相关或冗余的特征属性来得到高价值密度数据集以训练故障检测模型,从而能够提高故障检测模型训练的效率和精度,并能够进一步提高网络故障检测的效果。
附图说明
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为基于CNN基分类器改进的串行集成方法的逻辑框图;
图2为基于CNN基分类器改进的串行集成方法的网络架构图;
图3为数据预处理和特征属性评估、筛选的网络结构图;
图4为LetNet5模型的网络结构图;
图5为故障检测模型训练时的网络结构图;
图6为故障检测模型中子决策组的网络结构图;
图7为各类别数据的采样数量占比率;
图8为基于XGBoost方法的41个网络特征属性的重要性评估图;
图9为基于XGBoost方法的前15个网络特征属性的重要性评估图;
图10为本发明中的XGB-CNN+HB模型与CNN+HB模型性能比较示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。此外,术语“水平”、“竖直”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面通过具体实施方式进一步详细的说明:
实施例:
本实施例中公开了一种基于CNN基分类器改进的串行集成方法。
如图1和图2所示,基于CNN基分类器改进的串行集成方法,包括:
S1:获取待检测的网络连接记录;
S2:将网络连接记录输入经过训练的故障检测模型中,输出对应的网络故障预测值;
故障检测模型基于深度网络构建;
训练时,首先获取若干个带网络故障标签的网络连接记录构建训练样本集;其次对训练样本集进行预处理,得到预处理数据集;然后基于XGBoost算法(eXtreme GradientBoosting,极度梯度提升树)对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,得到高价值密度数据集;最后通过高价值密度数据集训练故障检测模型;
本实施例中,所述的XGBoost算法是一种现有成熟算法,其是boosting算法的一种实现方式,针对分类或回归问题,效果非常好。在各种数据竞赛中大放异彩,而且在工业界也是应用广泛,主要是因为其效果优异,使用简单,速度快等优点。
S3:将故障检测模型输出的网络故障预测值作为网络连接记录的网络故障检测结果。
本实施例中,可将某一时段的网络连接记录序列输入故障检测模型中,通过故障检测模型判断是否发生网络故障并检测出对应的网络故障类型(即网络故障预测值),如正常记录(Normal)、拒绝服务类型(DOS)、监视和其他探测活动(Probing)、来自远程机器的非法访问(R2L)、普通用户对本地超级用户特权的非法访问(U2R)等类型。
本发明通过深度网络构建故障检测模型,使得能够利用深度网络具有核共享、尺度不变性以及强大学习能力的优势来适应网络故障特征属性维度高、数据价值密度较低、数据量大的特点,进而能够很好的适用于网络故障检测并提高网络故障检测的精度;同时,本发明通过对训练样本集进行预处理,能够减小故障检测模型对度量单位的依赖,减弱由于特征属性度量的差异对故障检测模型产生的影响,进而能够提高网络故障检测的性能,并提高网络故障检测的效果;此外,本发明通过XGBoost算法对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,使得能够对网络故障数据进行特征属性重要性评估和特征筛选,进而能够剔除不相关或冗余的特征属性来得到高价值密度数据集以训练故障检测模型,从而能够兼顾故障检测模型训练的效率和精度,并能够进一步提高网络故障检测的效果。
具体实施过程中,考虑到训练样本集的网络连接记录的数量大,加上这些海量的网络数据含有不少无效的特征属性,不相关或者冗余的特征增加了算法在空间和时间上的消耗,还可能导致故障诊断精度降低。另一方面从网络运行数据的总体统计分析情况来看,特征属性的取值各不相同,甚至有的属性取值情况相当复杂。如果直接在原始网络运行数据集上进行数据挖掘算法操作的话,过程将十分复杂,会耗费大量的人力物力,而且故障诊断结果也不理想。因此,为了减小对度量单位的依赖,减弱由于特征属性度量的差异对诊断算法产生的影响,需要对特征属性进行数值化和标准化。
结合图3所示,通过如下步骤对训练样本集进行预处理:
S201:对原始数据进行(小类数据)过采样和(大类数据)欠采样,得到训练样本集D={(X1,Y1),…,(Xi,Yi),…,(XN,YN)},i=1,2,…,N中含有N条训练样本,其中Xi={xij,j=1,2,…,M}表示第i条训练样本,Y={Yi,i=1,2,…,N}表示训练样本的标签向量,M表示训练样本的原始特征属性维度;
S202:对特征属性向量X={X1,…,Xj,…,XM},j=1,2,…,M进行数值化处理;
通过如下公式对特征属性向量进行归一化处理:
式中:表示归一化处理后的第j个维度的特征属性向量;Xj表示数值化处理后的第j个特征属性向量;xij表示第i条训练样本第j个维度的特征属性向量;Aj、Sj、Xjmin、Xjmax分别表示第j个特征属性Xj的平均值、方差、最小值和最大值。
本发明通过对训练样本集进行数值化处理和归一化处理,能够减小故障检测模型对度量单位的依赖,减弱由于特征属性度量的差异对故障检测模型产生的影响,进而能够提高网络故障检测的性能,从而能够进一步提高网络故障检测的效果。
通过如下步骤生成高价值密度数据集:
式中:Gj表示特征属性的增益;(GjL+GjR)2/(HjL+HjR+λ)、和分别表示左子树分数、右子树分数和不分割时可以拿到的分数;GjL、HjL、GjR、HjR分别表示XGBoost损失函数泰勒二阶展开的左子树的梯度和二阶梯度、右子树的梯度和二阶梯度;λ表示希望所获取树的简易程度,其值越大,表示希望获取结构越简单的树;γ表示加入新叶子节点的复杂度代价;
S212:设定阈值η:若Gj<η,则剔除对应的特征属性,否则,保留对应的特征属性;
S213:重复步骤S211至S212,直至完成比较M个特征属性的增益,假设在该过程有b个特征属性的增益小于设定阈值η,则剔除该b个特征属性,且得到高价值密度数据集其中,特征属性向量为 b表示被剔除特征属性的数量。
本实施例中,基于XGBoost算法德得到高价值密度数据集后,对高价值密度数据集进行独热编码处理。独热编码即为采用分类变量进行编码,假设L种标签,首先将0至L-1的整数数值转换为二进制数据,则L种标签对应的独热编码为一串二进制数据,且除了整数对应的标记位为1,其他位均是0。具体如表3所示。
本发明通过XGBoost算法对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,使得能够对网络故障数据进行特征属性重要性评估和特征筛选,进而能够剔除不相关或冗余的特征属性来得到高价值密度数据集以训练故障检测模型,从而能够兼顾故障检测模型训练的效率和精度。
具体实施过程中,本发明的故障检测模型包括T个子决策组,每个子决策组中包含It个AB模型,且每个AB模型包含K个CNN基分类器;
训练时,首先将高价值密度数据集输入故障检测模型的卷积神经网络进行初步学习,得到若干个CNN基分类器;再通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,并基于CNN基分类器构建对应的AB模型;然后基于AB模型构建对应的子决策组,进而通过多重提升算法对T个子决策组的输出进行加权求和,生成对应的网络故障预测值;最后基于网络故障预测值和对应的网络故障标签计算训练损失,用以优化故障检测模型。
本实施例中,在训练样本中,样本携带的网络故障标签的作用有两个:一是判断输入样本是正确分类还是错误分类,若是错误分类的样本,则在算法下一次迭代中,将增加该样本权重,否则减小样本权重,从而优化故障检测模型;二是通过网络故障预测值和对应的网络故障标签计算训练损失(如交叉熵损失),进而通过现有成熟手段结合训练损失优化故障检测模型。而在测试样本中,样本携带的标签的作用是用于计算故障检测模型的性能指标,如精确度、F1值、检测率TPR和误报率FPR。
本发明通过将网络连接记录输入卷积神经网络进行初步学习,使得能够利用卷积神经网络具有核共享、尺度不变性以及强大学习能力的优势来适应网络故障特征属性维度高、数据价值密度较低、数据量大的特点,进而能够很好的适用于网络故障检测并提高网络故障检测的精度;同时,本发明通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,使得能够利用自适应提升算法偏差减小能力较强的优势来降低网络故障分类的误差,从而能够进一步提高网络故障检测的精度;此外,本发明通过多重提升算法对各个子决策组的输出进行加权求和生成对应的网络故障预测值,使得能够通过多重提升算法能够有效减小方差的优势来提高分类的精确度,改善了故障数据价值密度低的问题,进而能够降低网络故障检测的泛化误差。
具体实施过程中,卷积神经网络(CNN)算法具有一定的旋转不变性和平移不变性的特点,其卷积操作和池化操作均通过共享卷积核,这可以降低输入数据的维度。考虑到网络记录连接的特征属性维度有41,因此本发明将采用CNN作为基分类器模型。另外考虑降低算法对内存占用和计算量的要求,本发明采用经典的LetNet5模型,并采用填充后卷积的改进方法,避免输入数据的维度在卷积过程中减少从而导致丢失信息。
如图4所示,LetNet5模型包括输入层、卷积层、采样层、全连接层和输出层;
通过如下公式表示输出层的表达函数:
y=softmax(ωP+b);
式中:ω表示全连接层权重矩阵;P表示池化特征矩阵;b表示偏置项。
具体的,从高价值密度数据集中采样,获得K组平衡数据集,且这些数据集构成数据集向量为其中将这些数据作为训练样本集输入LeNet5 CNN模型中,直到K组数据全部训练完成,结合池化特征矩阵P、全连接层权重矩阵ω和偏置项b得到输出层值Zk=softmax(ωkPk+bk),进而得到K个对应的CNN基分类模型{Z1,Z2,…,ZK}。其中数据来自高价值密度数据集基分类样本总数分组的组数K≤N。
本发明通过将网络连接记录输入卷积神经网络进行初步学习,使得能够利用卷积神经网络具有核共享、尺度不变性以及强大学习能力的优势来适应网络故障特征属性维度高、数据价值密度较低、数据量大的特点,进而能够很好的适用于网络故障检测并提高网络故障检测的精度。
具体实施过程中,多重提升集成算法(MultiBoost,MB)是一种串行集成算法,其由若干个子决策组构成。在多重提升集成算法中定义了一个判断子决策组迭代次数的标志变量It(t=1,2,…,∞),是表示第t个子决策组中包含It个由AB算法构成的基分类器。将获得的CNN基分类模型输入到MB模型中,即获得K个CNN基分类模型输入到第t个子决策组中第q个AB算法模型中,得到第q个AB算法模型,不断经过CNN模型和对应的AB模型训练,直到T个子决策组训练完毕,根据对应的权重加权求和所有子决策组,最后获得MB集成模型。
AB算法模型是根据上一个基分类器的结果对下一个基分类器的输入样本进行调整,使得下一个基分类器更关注错误分类的样本。以第t个决策组中第q个AB算法模型为例,AB算法模型中K个CNN基分类模型向量可表示为每个基分类模型集构成的数据集向量为
基于CNN基分类器的多重提升集成算法分为四个步骤实现:获取训练样本集、输入数据、集成模型学习过程、输出诊断结果。如图5和图6所示,通过如下步骤训练故障检测模型:
训练开始前,从高价值密度数据集中等比例抽取样本,且即每个样本的权值设置为1/N,获得第一个基分类器的输入数据集其中数据来自XGBoost特征属性重要性评估特征后,经过比较阈值筛选后的数据集基分类样本总数分组的组数K≤N。
S221:初始化标志变量It的下标,令t=1;
S222:初始化子决策组中AB模型的个数q=1;
S223:初始化AB模型中CNN基分类器的个数k=1;
S225:若k<K,则k=k+1,并返回步骤S205;否则,基于得到的K个CNN基分类器结合如下公式构建第t个子决策组中的第q个AB模型AB(tDq),并计算AB模型AB(tDq)的输出误差teq,进而基于输出误差teq调整高价值密度数据集中各个训练样本的权值;同时,得到对应的AB模型数据集向量
通过如下公式计算AB模型的输出误差teq:
式中:teq表示第t个子决策组中第q个AB模型的输出误差;weight(Xt)表示训练样本Xt的权重;AB(Xt)表示AB模型的输出。
通过如下逻辑调整高价值密度数据集中各个训练样本的权值:
1)若teq>0.5,则舍弃对应的AB模型,并基于连续泊松分布计算各个训练样本的权值;2)若teq=0,则设置输出权重tβq=10-10,并基于连续泊松分布计算各个训练样本的权值;
3)若0<teq<0.5,则设置输出权重tβq=teq/(1-teq),同时对于AB模型数据集向量tDq中的每个训练样本,错分样本的权重除以2teq,正分样本的权重除以2(1-teq),且最小权重为10-8。
通过如下公式表示连续泊松分布:
式中:p表示概率值,即为训练样本权重;Random(1,2,…,999)表示从1至999中随机生成一个整数。
αt=log[(1-teq)/teq];
式中:αt表示第t个子决策组的权重;teq表示第t个子决策组中第q个AB模型的输出误差;
S227:若t<T,则t=t+1,并返回步骤S203进入下一个子决策组;否则,通过T个子决策组分别对训练样本进行分类,并结合如下公式计算得到权重最大的网络故障类别作为网络故障预测值;
tβq=teq/(1-teq);
式中:MB*(tDq)表示T个子决策组均对训练样本进行分类,并将权重最大的网路故障类别作为该网络连接记录的网络故障预测值;Yt表示AB模型数据集向量中训练样本对应网络故障标签组成的标签向量,即网络故障真实值;αt表示第t个子决策组的权重;tDq表示输入到第t个子决策组中第q个AB模型的输入数据集向量,即为AB模型中K个CNN基分类器的数据集;tβq表示第t个子决策组中第q个AB模型对故障检测模型的输出权重。
本发明通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,使得能够利用自适应提升算法偏差减小能力较强的优势来降低网络故障分类的误差,从而能够进一步提高网络故障检测的精度;同时,本发明通过多重提升算法对各个子决策组的输出进行加权求和生成对应的网络故障预测值,使得能够通过多重提升算法能够有效减小方差的优势来提高分类的精确度,改善了故障数据价值密度低的问题,进而能够降低网络故障检测的泛化误差。
训练故障检测模型时,通过各类训练样本的精度、F1值、检测率TPR和误报率FPR评估故障检测模型的性能;
1)通过如下公式计算各类训练样本的精度:
式中:Acctest表示各类训练样本的精度;Na表示被正确分类的样本数量;N表示总样本数量;
2)通过如下公式计算F1值F1-score值协调了模型的召回率和准确率):
式中:F1表示F1值;P表示查准率;R表示查全率。
本发明通过各类训练样本的精度和F1值能够很好的评估故障检测模型的性能,进而能够有效的获取得到性能最佳的故障检测模型,从而能够进一步提高网络故障检测的效果。
为了更好的说明本发明技术方案的优势,本实施例中公开了如下实验。
本实验利用Anaconda软件,引用tensorflow模块,采用Python编程实现本发明所提出的方法。
对于计算机网络故障诊断研究,需要海量的网络运行数据。本实验将使用网络安全研究人员公认的数据集KDDCup99数据集,该数据集是模拟美国空军局域网运行过程的TCP dump网络连接数据。基于欠采样反例类别和过采样正例类别,按照图7所示的数量占比率进行采样,获得含有450000余条网络连接记录被测数据集,10%的被测数据集作为训练样本集,5%的被测数据集作为测试数据集,其中网络故障的特征属性描述和某一条网络连接记录样本分别如表1和表2所示。
表1网络故障的特征属性描述
表2某条网络连接记录数据样本
为了模拟真实环境,同时检测所提算法的鲁棒性,本实验在原始数据集中加入50dB随机噪声,并对数据进行数值化、归一化处理后,采用XGBoost方法对各特征属性进行重要性评估,获得41个特征属性的重要性评估统计情况如图8所示。
从图8中发现某些特征属性的重要性评估值接近于零,可见这些特征对于分类预测的结果几乎没有影响。本实验中阈值设置为η=0.001,因此剔除不相关或冗余特征后,筛选出的特征属性重要性评估如图9所示。因此参数设置为N=450000,M=41,b=26,则预处理后数据集(高价值密度数据集)其中特征属性向量为
采用独热编码的方式分类变量进行编码,将0至4的整数数值转换为二进制向量,除了整数对应的标记位为1,其他位均是0,结果如表3所示。
表3网络故障所对应的5个分类类别编码
本实验中,CNN基分类器输入层的参数设置:W1=36,H1=36;卷积层C1和C2的参数设置为:卷积核的大小为2×2,步长大小为1,无填充;采样层S1和S2的参数设置:步长为1,无填充;输出层参数设置为:采用Softmax函数,故障类别数为5。设置基分类模型个数为K=6,样本数为则获得K组平衡数据集,且这些数据集构成数据集向量为
为了方便描述,将本发明所提基于XGB-CNN基分类器的MB网络故障诊断算法模型简称为XGB-CNN+HB模型,而没有进行XGBoost特征属性重要性评估的模型简称为CNN+HB模型。
本实验中,初始化XGB-CNN+HB模型的参数如下:训练样本的数量子决策组的个数T=5,计算每个子决策组包含的AB算法模型个数,每个AB模型包含基分类模型个数为K=6。则经训练后,计算本专利所提网络故障诊断算法的精度、F1值。获得Normal、DOS、Probing、R2L、U2R的平均诊断精度和F1值如表4所示。
表4基于XGB-CNN+HB模型的故障诊断结果
表4展示了XGB-CNN+HB模型的各网络类型的诊断精度,最低为95.24%,最高可达95.84%,且指标F1可达0.964,因此证明了本发明技术方案的可行性。
为了证明本发明模型的有效性和高精度性能,本实验将本专利所提XGB-CNN+HB与CNN+HB模型进行比较,比较结果如图10所示。
随着迭代次数增加,图10展示了将本专利所提XGB-CNN+HB和CNN+HB模型的网络故障诊断精度比较结果。从图10可得到,当训练期数为30时,XGB-CNN+HB和CNN+HB模型的平均诊断精度达到缓和,当训练期数为22时,两个模型的诊断精度达到最高分别为99.5%和95.4%。可见XGB-CNN+HB模型提前对网络特征属性重要性进行评估还筛选,使得该模型的检测误差更小,即提高了故障诊断的精度。
最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.基于CNN基分类器改进的串行集成方法,其特征在于,包括:
S1:获取待检测的网络连接记录;
S2:将网络连接记录输入经过训练的故障检测模型中,输出对应的网络故障预测值;
故障检测模型基于深度网络构建;
训练时,首先获取若干个带网络故障标签的网络连接记录构建训练样本集;其次对训练样本集进行预处理,得到预处理数据集;然后基于XGBoost算法对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,得到高价值密度数据集;最后通过高价值密度数据集训练故障检测模型;
S3:将故障检测模型输出的网络故障预测值作为网络连接记录的网络故障检测结果。
2.如权利要求1所述的基于CNN基分类器改进的串行集成方法,其特征在于:步骤S2中,通过如下步骤对训练样本集进行预处理:
S201:训练样本集D={(X1,Y1),…,(Xi,Yi),…,(XN,YN)},i=1,2,…,N中含有N条训练样本,其中Xi={xij,j=1,2,…,M}表示第i条训练样本,Y={Yi,i=1,2,…,N}表示训练样本的标签向量,M表示训练样本的原始特征属性维度;
S202:对特征属性向量X={X1,…,Xj,…,XM},j=1,2,…,M进行数值化处理;
4.如权利要求2所述的基于CNN基分类器改进的串行集成方法,其特征在于:步骤S2中,通过如下步骤生成高价值密度数据集:
式中:Gj表示特征属性的增益;(GjL+GjR)2/(HjL+HjR+λ)、和分别表示左子树分数、右子树分数和不分割时可以拿到的分数;GjL、HjL、GjR、HjR分别表示XGBoost损失函数泰勒二阶展开的左子树的梯度和二阶梯度、右子树的梯度和二阶梯度;λ表示希望所获取树的简易程度,其值越大,表示希望获取结构越简单的树;γ表示加入新叶子节点的复杂度代价;
S212:设定阈值η:若Gj<η,则剔除对应的特征属性,否则,保留对应的特征属性;
5.如权利要求1所述的基于CNN基分类器改进的串行集成方法,其特征在于:步骤S2中,故障检测模型包括T个子决策组,每个子决策组中包含It个AB模型,且每个AB模型包含K个CNN基分类器;
训练时,首先将高价值密度数据集输入故障检测模型的卷积神经网络进行初步学习,得到若干个CNN基分类器;再通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,并基于CNN基分类器构建对应的AB模型;然后基于AB模型构建对应的子决策组,进而通过多重提升算法对T个子决策组的输出进行加权求和,生成对应的网络故障预测值;最后基于网络故障预测值和对应的网络故障标签计算训练损失,用以优化故障检测模型。
6.如权利要求5所述的基于CNN基分类器改进的串行集成方法,其特征在于:通过如下步骤训练故障检测模型:
S221:初始化标志变量It的下标,令t=1;
S222:初始化子决策组中AB模型的个数q=1;
S223:初始化AB模型中CNN基分类器的个数k=1;
S225:若k<K,则k=k+1,并返回步骤S205;否则,基于得到的K个CNN基分类器结合如下公式构建第t个子决策组中的第q个AB模型AB(tDq),并计算AB模型AB(tDq)的输出误差teq,进而基于输出误差teq调整高价值密度数据集中各个训练样本的权值;同时,得到对应的AB模型数据集向量
αt=log[(1-teq)/teq];
式中:αt表示第t个子决策组的权重;teq表示第t个子决策组中第q个AB模型的输出误差;
S227:若t<T,则t=t+1,并返回步骤S203进入下一个子决策组;否则,通过T个子决策组分别对训练样本进行分类,并结合如下公式计算得到权重最大的网络故障类别作为网络故障预测值;
tβq=teq/(1-teq);
9.如权利要求8所述的基于CNN基分类器改进的串行集成方法,其特征在于:步骤S225中,通过如下逻辑调整高价值密度数据集中各个训练样本的权值:
1)若teq>0.5,则舍弃对应的AB模型,并基于连续泊松分布计算各个训练样本的权值;
2)若teq=0,则设置输出权重tβq=10-10,并基于连续泊松分布计算各个训练样本的权值;
3)若0<teq<0.5,则设置输出权重tβq=teq/(1-teq),同时对于AB模型数据集向量tDq中的每个训练样本,错分样本的权重除以2teq,正分样本的权重除以2(1-teq),且最小权重为10-8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211153006.3A CN115438743A (zh) | 2022-09-21 | 2022-09-21 | 基于cnn基分类器改进的串行集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211153006.3A CN115438743A (zh) | 2022-09-21 | 2022-09-21 | 基于cnn基分类器改进的串行集成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115438743A true CN115438743A (zh) | 2022-12-06 |
Family
ID=84249878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211153006.3A Pending CN115438743A (zh) | 2022-09-21 | 2022-09-21 | 基于cnn基分类器改进的串行集成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115438743A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115905926A (zh) * | 2022-12-09 | 2023-04-04 | 华中科技大学 | 基于样本差异的代码分类深度学习模型解释方法及系统 |
-
2022
- 2022-09-21 CN CN202211153006.3A patent/CN115438743A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115905926A (zh) * | 2022-12-09 | 2023-04-04 | 华中科技大学 | 基于样本差异的代码分类深度学习模型解释方法及系统 |
CN115905926B (zh) * | 2022-12-09 | 2024-05-28 | 华中科技大学 | 基于样本差异的代码分类深度学习模型解释方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784881B (zh) | 网络异常流量检测方法、模型及系统 | |
CN111353153B (zh) | 一种基于gep-cnn的电网恶意数据注入检测方法 | |
CN108737406A (zh) | 一种异常流量数据的检测方法及系统 | |
CN112070128A (zh) | 一种基于深度学习的变压器故障诊断方法 | |
CN108537259A (zh) | 基于粗糙集-神经网络模型的列控车载设备故障分类与识别方法 | |
CN111353373A (zh) | 一种相关对齐域适应故障诊断方法 | |
CN111556016B (zh) | 一种基于自动编码器的网络流量异常行为识别方法 | |
CN109446804B (zh) | 一种基于多尺度特征连接卷积神经网络的入侵检测方法 | |
CN111046961B (zh) | 基于双向长短时记忆单元和胶囊网络的故障分类方法 | |
CN112784031B (zh) | 一种基于小样本学习的客服对话文本的分类方法和系统 | |
CN112700324A (zh) | 基于CatBoost与受限玻尔兹曼机结合的用户借贷违约预测方法 | |
CN114048468A (zh) | 入侵检测的方法、入侵检测模型训练的方法、装置及介质 | |
CN117034143B (zh) | 一种基于机器学习的分布式系统故障诊断方法及装置 | |
CN111598187A (zh) | 一种基于核宽度学习系统的渐进式集成分类方法 | |
CN113032917A (zh) | 一种基于生成对抗及卷积循环神经网络的机电轴承故障检测方法及应用系统 | |
CN115438743A (zh) | 基于cnn基分类器改进的串行集成方法 | |
CN113065356A (zh) | 一种基于语义分析算法的it设备运维故障建议处理方法 | |
CN114841268B (zh) | 基于Transformer和LSTM融合算法的异常电力客户识别方法 | |
CN115879018A (zh) | 基于K-means算法和BP神经网络的机舱设备状态感知与故障诊断方法 | |
CN115600137A (zh) | 面向不完备类别数据的多源域变工况机械故障诊断方法 | |
CN115567367A (zh) | 一种基于多重提升集成学习的网络故障检测方法 | |
CN109164794B (zh) | 基于偏f值selm的多变量工业过程故障分类方法 | |
CN104537383A (zh) | 一种基于粒子群的海量组织机构数据分类方法及系统 | |
CN113837266A (zh) | 一种基于特征提取和Stacking集成学习的软件缺陷预测方法 | |
CN115545111B (zh) | 一种基于聚类自适应混合采样的网络入侵检测方法及系统 |
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 |