CN115567367A - 一种基于多重提升集成学习的网络故障检测方法 - Google Patents
一种基于多重提升集成学习的网络故障检测方法 Download PDFInfo
- Publication number
- CN115567367A CN115567367A CN202211153019.0A CN202211153019A CN115567367A CN 115567367 A CN115567367 A CN 115567367A CN 202211153019 A CN202211153019 A CN 202211153019A CN 115567367 A CN115567367 A CN 115567367A
- Authority
- CN
- China
- Prior art keywords
- model
- sub
- weight
- training sample
- network
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 103
- 238000012549 training Methods 0.000 claims abstract description 131
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 85
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 45
- 239000013598 vector Substances 0.000 claims description 47
- 238000003745 diagnosis Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 23
- 238000005070 sampling Methods 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 7
- 238000013145 classification model Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 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
- 230000010485 coping Effects 0.000 description 1
- 238000007418 data mining 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
- 238000011161 development Methods 0.000 description 1
- 238000012774 diagnostic algorithm Methods 0.000 description 1
- 229910052731 fluorine Inorganic materials 0.000 description 1
- 125000001153 fluoro group Chemical group F* 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- 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
- 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/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明具体涉及一种基于多重提升集成学习的网络故障检测方法,包括:将网络连接记录输入经过训练的故障检测模型中,输出对应的网络故障预测值;训练时,首先获取训练样本集;其次将训练样本集输入故障检测模型的卷积神经网络进行初步学习,得到若干个CNN基分类器;再通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,并基于CNN基分类器构建对应的AB模型;然后基于AB模型构建对应的子决策组,进而通过多重提升算法对各个子决策组的输出进行加权求和,生成对应的网络故障预测值,进而优化故障检测模型。本发明能够很好的适用于网络故障检测,且能够保证网络故障检测的精度和泛化误差,从而能够提高网络故障检测的效果。
Description
技术领域
本发明涉及深度学习网络技术领域,具体涉及一种基于多重提升集成学习的网络故障检测方法。
背景技术
随着信息化和智能化的发展,通信网络上运行的业务越来越多样化,网络规模日益剧增且结构越来越复杂,网络故障事件发生的概率和影响力不断扩大。而引发网络故障的原因层出不穷。这些网络故障事件造成了巨大的经济损失和社会影响。网络故障的检测效率和准确度直接影响网络是否正常运行及业务服务质量,因此研究高性能网络故障诊断模型以保证网络的正常运行至关重要。
随着网络连接记录数据呈现数据价值密度低,传统的网络故障诊断模型相继出现,如很多研究者采用专家系统诊断法、信号处理诊断法、统计分析诊断法、状态估计诊断法等。但这些传统方法很难规避网络故障表现出的层次性、扩散性和不确定性的特点,已经难以应对现今大数据背景下复杂网络的故障诊断问题。传统网络监管系统与人工排查故障的方式,难以削弱不相关的或者冗余的特征所带来的影响。因此,需要探索能够应对如今复杂网络系统的新故障诊断技术。
申请人发现,机器学习具有学习能力强的特点,基于机器学习方法常被使用在网络故障诊断中,如BP算法、RBF算法、CNN算法等网络故障诊断模型。然而,网络故障具有特征属性维度高、数据价值密度较低、数据量大等特点,导致现有的BP算法和RBF算法不适用于网络故障的高精度识别。同时,单一基学习器难以保证故障诊断的精度和泛化误差,同样导致网络故障检测的准确性不高。因此,如何设计一种适用于网络故障检测且能够保证检测精度和泛化误差的方法是亟需解决的技术问题。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种基于多重提升集成学习的网络故障检测方法,以能够很好的适用于网络故障检测,且能够保证网络故障检测的精度和泛化误差,从而能够提高网络故障检测的效果。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种基于多重提升集成学习的网络故障检测方法,包括:
S1:获取待检测的网络连接记录;
S2:将网络连接记录输入经过训练的故障检测模型中,输出对应的网络故障预测值;
故障检测模型包括T个子决策组,每个子决策组中包含It个AB模型,且每个AB模型包含K个CNN基分类器;
训练时,首先获取若干个带网络故障标签的网络连接记录构建训练样本集;其次将训练样本集输入故障检测模型的卷积神经网络进行初步学习,得到若干个CNN基分类器;再通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,并基于CNN基分类器构建对应的AB模型;然后基于AB模型构建对应的子决策组,进而通过多重提升算法对T个子决策组的输出进行加权求和,生成对应的网络故障预测值;最后基于网络故障预测值和对应的网络故障标签计算训练损失,用以优化故障检测模型;
S3:将故障检测模型输出的网络故障预测值作为网络连接记录的网络故障检测结果。
优选的,步骤S2中,故障检测模型的卷积神经网络为LetNet5模型,其包括输入层、卷积层、采样层、全连接层和输出层。
优选的,通过如下步骤训练故障检测模型:
S201:获取若干个携带网络故障标签的网络连接记录构建训练样本集;然后对训练样本集进行预处理得到预处理数据集,并设置预处理数据集中各个训练样本的权值;
S202:初始化标志变量It的下标,令t=1;
S203:初始化子决策组中AB模型的个数q=1;
S204:初始化AB模型中CNN基分类器的个数k=1;
S206:若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模型的输出误差;
S208:若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模型对故障检测模型的输出权重。
优选的,步骤S201中,通过如下步骤对训练样本集进行预处理:
S2011:训练样本集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表示训练样本的原始特征属性维度;
S2012:对特征属性向量X={X1,…,Xj,…,XM},j=1,2,…,M进行数值化处理;
优选的,步骤S2013中,通过如下公式对特征属性向量进行归一化处理:
式中:表示归一化处理后的第j个维度的特征属性向量;Xj表示数值化处理后的第j个特征属性向量;xij表示第i条训练样本第j个维度的特征属性向量;Aj、Sj、Xjmin、Xjmax分别表示第j个特征属性Xj的平均值、方差、最小值和最大值。
优选的,步骤S205中,通过如下公式计算标志变量It:若It=t,则将预处理数据集中每个训练样本的权重设置为否则根据输出误差teq调整每个训练样本的权值;进而根据预处理数据集中各个训练样本的权值进行有放回的抽样;
优选的,步骤S206中,通过如下公式计算AB模型的输出误差teq:
式中:teq表示第t个子决策组中第q个AB模型的输出误差;weight(Xt)表示训练样本Xt的权重;AB(Xt)表示AB模型的输出。
优选的,步骤S206中,通过如下方式调整预处理数据集中各个训练样本的权值:
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中随机生成一个整数。
优选的,训练故障检测模型后,通过各类训练样本的精度、F1值、检测率TPR和误报率FPR评估故障检测模型的性能;
1)通过如下公式计算各类训练样本的精度:
式中:Acctest表示各类训练样本的精度;Na表示被正确分类的样本数量;N表示总样本数量;
2)通过如下公式计算F1值:
式中:F1表示F1值;P表示查准率;R表示查全率;
3)通过如下公式计算检测率TPR和误报率FPR:
式中:TP表示实际为正的样本且故障诊断模型预测为正的样本数量;FN表示实际为正的样本且故障诊断模型预测为负的样本数量;FP表示实际为负的样本且故障诊断模型预测为正的样本数量;TN表示实际为负的样本且故障诊断模型预测为负的样本数量。
本发明中基于多重提升集成学习的网络故障检测方法,具有如下有益效果:
本发明通过将网络连接记录输入卷积神经网络进行初步学习,使得能够利用卷积神经网络具有核共享、尺度不变性以及强大学习能力的优势来适应网络故障特征属性维度高、数据价值密度较低、数据量大的特点,进而能够很好的适用于网络故障检测并提高网络故障检测的精度;同时,本发明通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,使得能够利用自适应提升算法偏差减小能力较强的优势来降低网络故障分类的误差,从而能够进一步提高网络故障检测的精度;此外,本发明通过多重提升算法对各个子决策组的输出进行加权求和生成对应的网络故障预测值,使得能够通过多重提升算法能够有效减小方差的优势来提高分类的精确度,改善了故障数据价值密度低的问题,进而能够降低网络故障检测的泛化误差。因此,本发明能够很好的适用于网络故障检测,且能够保证网络故障检测的精度和泛化误差,从而能够提高网络故障检测的效果。
附图说明
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为基于多重提升集成学习的网络故障检测方法的逻辑框图;
图2为卷积神经网络的网络结构图;
图3为故障检测模型训练时的网络结构图;
图4为故障检测模型中子决策组的网络结构图;
图5为网络故障的特征属性盒图;
图6为本发明的故障检测模型与现有其他模型的比较示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。此外,术语“水平”、“竖直”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面通过具体实施方式进一步详细的说明:
实施例:
本实施例中公开了一种基于多重提升集成学习的网络故障检测方法。
如图1所示,基于多重提升集成学习的网络故障检测方法,包括:
S1:获取待检测的网络连接记录;
S2:将网络连接记录输入经过训练的故障检测模型中,输出对应的网络故障预测值;
故障检测模型包括T个子决策组,每个子决策组中包含It个AB模型,且每个AB模型包含K个CNN基分类器;
训练时,首先获取若干个带网络故障标签的网络连接记录构建训练样本集;其次将训练样本集输入故障检测模型的卷积神经网络进行初步学习,得到若干个CNN基分类器;再通过自适应提升算法(AdaBoost,AB)关注CNN基分类器训练过程中错误分类的训练样本,并基于CNN基分类器构建对应的AB模型;然后基于AB模型构建对应的子决策组,进而通过多重提升算法(MultiBoost,MB)对T个子决策组的输出进行加权求和,生成对应的网络故障预测值;最后基于网络故障预测值和对应的网络故障标签计算训练损失,用以优化故障检测模型;
本实施例中,在训练样本中,样本携带的网络故障标签的作用有两个:一是判断输入样本是正确分类还是错误分类,若是错误分类的样本,则在算法下一次迭代中,将增加该样本权重,否则减小样本权重,从而优化故障检测模型;二是通过网络故障预测值和对应的网络故障标签计算训练损失(如交叉熵损失),进而通过现有成熟手段结合训练损失优化故障检测模型。而在测试样本中,样本携带标签的作用是用于计算故障检测模型的性能指标,如精确度、F1值、检测率TPR和误报率FPR。
S3:将故障检测模型输出的网络故障预测值作为网络连接记录的网络故障检测结果。
本实施例中,可将某一时段的网络连接记录序列输入故障检测模型中,通过故障检测模型判断是否发生网络故障并检测出对应的网络故障类型(即网络故障预测值),如正常记录(Normal)、拒绝服务类型(DOS)、监视和其他探测活动(Probing)、来自远程机器的非法访问(R2L)、普通用户对本地超级用户特权的非法访问(U2R)等类型。
本发明通过将网络连接记录输入卷积神经网络进行初步学习,使得能够利用卷积神经网络具有核共享、尺度不变性以及强大学习能力的优势来适应网络故障特征属性维度高、数据价值密度较低、数据量大的特点,进而能够很好的适用于网络故障检测并提高网络故障检测的精度;同时,本发明通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,使得能够利用自适应提升算法偏差减小能力较强的优势来降低网络故障分类的误差,从而能够进一步提高网络故障检测的精度;此外,本发明通过多重提升算法对各个子决策组的输出进行加权求和生成对应的网络故障预测值,使得能够通过多重提升算法能够有效减小方差的优势来提高分类的精确度,改善了故障数据价值密度低的问题,进而能够降低网络故障检测的泛化误差。因此,本发明能够很好的适用于网络故障检测,且能够保证网络故障检测的精度和泛化误差,从而能够提高网络故障检测的效果。
具体实施过程中,卷积神经网络(CNN)算法具有一定的旋转不变性和平移不变性的特点,其卷积操作和池化操作均通过共享卷积核,这可以降低输入数据的维度。考虑到网络记录连接的特征属性维度有41,因此本发明将采用CNN作为基分类器模型。另外考虑降低算法对内存占用和计算量的要求,本发明采用现有技术中成熟使用的LetNet5模型,并采用填充后卷积的改进方法,避免输入数据的维度在卷积过程中减少从而导致丢失信息。
如图2所示,LetNet5模型包括输入层、卷积层、采样层、全连接层和输出层;
通过如下公式表示输出层的表达函数:
y=soft max(ωP+b);
式中:ω表示全连接层权重矩阵;P表示池化特征矩阵;b表示偏置项。
从预处理数据集中采样K组平衡数据作为训练样本集输CNN模型中,训练得到对应的CNN基分类模型。具体的,从预处理后数据集中采样,获得K组平衡数据集,且这些数据集构成数据集向量为其中将这些数据作为训练样本集输入LeNet5 CNN模型中,直到K组数据全部训练完成,结合池化特征矩阵P、全连接层权重矩阵ω和偏置项b得到输出层值Zk=soft max(ω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集成模型。
基于CNN基分类器的多重提升集成算法分为四个步骤实现:获取训练样本集、输入数据、集成模型学习过程、输出诊断结果。如图3和图4所示,通过如下步骤训练故障检测模型:
循环次数T:子决策组的个数。
循环次数q:子决策组中AB模型的个数。
循环次数K:AB模型中CNN基分类器的个数。
CNN基分类器函数:M=CNN(·)。
整数It:子决策组迭代终止标志变量。
S201:获取若干个带网络故障标签的网络连接记录构建训练样本集;然后对训练样本集进行预处理得到预处理数据集,并设置预处理数据集中各个训练样本的权值;
S202:初始化标志变量It的下标,令t=1;
S203:初始化子决策组中AB模型的个数q=1;
S204:初始化AB模型中CNN基分类器的个数k=1;
S206:若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模型的输出误差;
S208:若t<T,则t=t+1,并返回步骤S203进入下一个子决策组;否则,通过T个子决策组分别对训练样本进行分类,并结合如下公式计算得到权重最大的网络故障类别作为网络故障预测值;
tβq=teq/(1-teq);
式中:MB*(tDq)表示T个子决策组均对训练样本进行分类,将权重最大的网络故障类别作为该网络连接记录的网络故障预测值;Yt表示数据集向量中训练样本对应网络故障标签组成的标签向量,即网络故障真实值;αt表示第t个子决策组的权重;tDq表示输入到第t个子决策组中第q个AB模型的输入数据集向量,即为AB模型中K个CNN基分类器的数据集;tβq表示第t个子决策组中第q个AB模型对故障检测模型的输出权重。
本发明通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,使得能够利用自适应提升算法偏差减小能力较强的优势来降低网络故障分类的误差,从而能够进一步提高网络故障检测的精度;同时,本发明通过多重提升算法对各个子决策组的输出进行加权求和生成对应的网络故障预测值,使得能够通过多重提升算法能够有效减小方差的优势来提高分类的精确度,改善了故障数据价值密度低的问题,进而能够降低网络故障检测的泛化误差。
具体实施过程中,考虑到训练样本集的网络连接记录的数量大,加上这些海量的网络数据含有不少无效的特征属性,不相关或者冗余的特征增加了算法在空间和时间上的消耗,还可能导致故障诊断精度降低。另一方面从网络运行数据的总体统计分析情况来看,特征属性的取值各不相同,甚至有的属性取值情况相当复杂。如果直接在原始网络运行数据集上进行数据挖掘算法操作的话,过程将十分复杂,会耗费大量的人力物力,而且故障诊断结果也不理想。因此,为了减小对度量单位的依赖,减弱由于特征属性度量的差异对诊断算法产生的影响,需要对特征属性进行数值化和标准化。
通过如下步骤对训练样本集进行预处理:
S2011:训练样本集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表示训练样本的原始特征属性维度;
S2012:对特征属性向量X={X1,…,Xj,…,XM},j=1,2,…,M进行数值化处理;
通过如下公式对特征属性向量进行归一化处理:
式中:表示归一化处理后的第j个维度的特征属性向量;Xj表示数值化处理后的第j个特征属性向量;xij表示第i条训练样本第j个维度的特征属性向量;Aj、Sj、Xjmin、Xjmax分别表示第j个特征属性Xj的平均值、方差、最小值和最大值。
本实施例中,在数值化处理和归一化处理之后对预处理数据集进行独热编码处理。独热编码即为采用分类变量进行编码,假设L种标签,首先将0至L-1的整数数值转换为二进制数据,则L种标签对应的独热编码为一串二进制数据,且除了整数对应的标记位为1,其他位均是0。具体如表4所示。
本发明通过对训练样本集进行数值化处理和归一化处理,能够减小故障检测模型对度量单位的依赖,减弱由于特征属性度量的差异对故障检测模型产生的影响,进而能够提高网络故障检测的性能,从而能够进一步提高网络故障检测的效果。
其他优选实施例中,还可通过XGBoost算法生成高价值密度数据集:
式中:Gj表示特征属性的增益;(GjL+GjR)2/(HjL+HjR+λ)、和分别表示左子树分数、右子树分数和不分割时可以拿到的分数;GjL、HjL、GjR、HjR分别表示XGBoost损失函数泰勒二阶展开的左子树的梯度和二阶梯度、右子树的梯度和二阶梯度;λ表示希望所获取树的简易程度,其值越大,表示希望获取结构越简单的树;γ表示加入新叶子节点的复杂度代价;
设定阈值η:若Gj<η,则剔除对应的特征属性,否则,保留对应的特征属性;
本发明通过XGBoost算法对预处理数据集中训练样本的特征属性进行重要性评估和特征筛选,使得能够对网络故障数据进行特征属性重要性评估和特征筛选,进而能够剔除不相关或冗余的特征属性来得到高价值密度数据集以训练故障检测模型,从而能够兼顾故障检测模型训练的效率和精度。
具体实施过程中,训练故障检测模型后,通过各类训练样本的精度、F1值、检测率TPR和误报率FPR评估故障检测模型的性能;
1)通过如下公式计算各类训练样本的精度:
式中:Acctest表示各类训练样本的精度;Na表示被正确分类的样本数量;N表示总样本数量;
2)通过如下公式计算F1值F1-score值协调了模型的召回率和准确率):
式中:F1表示F1值;P表示查准率;R表示查全率;
3)通过如下公式计算检测率TPR和误报率FPR:
式中:TP表示实际为正的样本且故障诊断模型预测为正的样本数量;FN表示实际为正的样本且故障诊断模型预测为负的样本数量;FP表示实际为负的样本且故障诊断模型预测为正的样本数量;TN表示实际为负的样本且故障诊断模型预测为负的样本数量。
本发明通过各类训练样本的精度、F1值、检测率和误报率能够很好的评估故障检测模型的性能,进而能够有效的获取得到性能最佳的故障检测模型,从而能够进一步提高网络故障检测的效果。
为了更好的说明本发明技术方案的优势,本实施例中公开了如下实验。
本实验使用网络安全研究人员公认的数据集KDDCup99数据集,该数据集是模拟美国空军局域网运行过程的TCP dump网络连接数据。被测数据集含有450000条连接记录,其中网络故障的特征属性描述和某一条网络连接记录样本分别如表1和表2所示。按照表1所示的数量占比率进行采样,获得10%的被测数据集作为训练样本集,获取5%的被测数据集作为测试数据集。为了验证本专利所提算法的有效性,本实验引用tensorflow模块,采用Python编程实现本专利所提算法。
表1网络故障的特征属性描述
表2某条网络连接记录数据样本
(1)特征属性预处理
为了模拟真实环境,同时检测所提算法的鲁棒性,本实验在原始数据集中加入50dB随机噪声,并对数据进行数值化、归一化处理,各特征属性的统计分析情况如图5所示,“盒图(boxplot)”发现某些特征的数值几乎全部为零,可见这些特征对于分类的结果几乎没有影响,可以去除实现数据降维,去除的特征属性如表3所示。本实验中参数设置为N=450000,M=41,b=5,则预处理后数据集其中特征属性向量为
表3被剔除的网络故障的特征属性
(2)建立CNN基分类器
采用独热编码的方式分类变量进行编码,将0至4的整数数值转换为二进制向量,除了整数对应的标记位为1,其他位均是0,结果如表4所示。
表4网络故障所对应的5个分类类别编码
CNN基分类器输入层的参数设置:W1=36,H1=36;卷积层C1和C2的参数设置为:卷积核的大小为2×2,步长大小为1,无填充;采样层S1和S2的参数设置:步长为1,无填充;输出层参数设置为:采用Softmax函数,故障类别数为5。本实验中设置基分类模型个数为K=6,样本数为则获得K组平衡数据集,且这些数据集构成数据集向量为
(3)基于CNN基分类器的MB串行集成模型网络故障诊断
初始化本发明中的故障检测模型(后续也称为CNN+HB模型)的参数如下:训练样本的数量子决策组的个数T=5,然后计算每个子决策组包含的AB算法模型个数,每个AB模型包含基分类模型个数为K=6。则经训练后,计算本发明所提网络故障诊断模型的精度、F1值。获得Normal、DOS、Probing、R2L、U2R的平均诊断精度和F1值如表5所示。计算本发明所提故障检测模型的检测率TPR和误报率FPR分别为0.92和2.16。
表5基于CNN+HB模型的故障诊断结果
表5展示了CNN+HB模型的各网络类型的诊断精度,最低为90.43%,最高可达95.84%,且指标F1可达0.964,因此证明了该发明的可行性。
为了证明该模型的有效性和高精度性能,本实验将本专利所提CNN+HB模型、LSTM模型和VSM模型进行比较,比较结果如图6所示。
随着迭代次数增加,图6展示了将本专利所提CNN+HB模型、LSTM模型和VSM模型的网络故障诊断精度比较结果。从图6可得到,当训练期数为30时,CNN+HB模型、LSTM模型和VSM模型的平均诊断精度达到缓和,当训练期数为22时,三个模型的诊断精度分别为95.4%、90.7%和89.1%。此外CNN+HB将多个CNN基分类模型进行集成,集成模型CNN+HB的诊断误差更小,即提高了故障诊断精度。
最后需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制技术方案,本领域的普通技术人员应当理解,那些对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于多重提升集成学习的网络故障检测方法,其特征在于,包括:
S1:获取待检测的网络连接记录;
S2:将网络连接记录输入经过训练的故障检测模型中,输出对应的网络故障预测值;
故障检测模型包括T个子决策组,每个子决策组中包含It个AB模型,且每个AB模型包含K个CNN基分类器;
训练时,首先获取若干个携带网络故障标签的网络连接记录构建训练样本集;其次将训练样本集输入故障检测模型的卷积神经网络进行初步学习,得到若干个CNN基分类器;再通过自适应提升算法关注CNN基分类器训练过程中错误分类的训练样本,并基于CNN基分类器构建对应的AB模型;然后基于AB模型构建对应的子决策组,进而通过多重提升算法对T个子决策组的输出进行加权求和,生成对应的网络故障预测值;最后基于网络故障预测值和对应的网络故障标签计算训练损失,用以优化故障检测模型;
S3:将故障检测模型输出的网络故障预测值作为网络连接记录的网络故障检测结果。
2.如权利要求1所述的基于多重提升集成学习的网络故障检测方法,其特征在于:步骤S2中,故障检测模型的卷积神经网络为LetNet5模型,其包括输入层、卷积层、采样层、全连接层和输出层。
3.如权利要求1所述的基于多重提升集成学习的网络故障检测方法,其特征在于:通过如下步骤训练故障检测模型:
S201:获取若干个携带网络故障标签的网络连接记录构建训练样本集;然后对训练样本集进行预处理得到预处理数据集,并设置预处理数据集中各个训练样本的权值;
S202:初始化标志变量It的下标,令t=1;
S203:初始化子决策组中AB模型的个数q=1;
S204:初始化AB模型中CNN基分类器的个数k=1;
S206:若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模型的输出误差;
S208:若t<T,则t=t+1,并返回步骤S203进入下一个子决策组;否则,通过T个子决策组分别对训练样本进行分类,并结合如下公式计算得到权重最大的网络故障类别作为网络故障预测值;
tβq=teq/(1-teq);
4.如权利要求3所述的基于多重提升集成学习的网络故障检测方法,其特征在于:步骤S201中,通过如下步骤对训练样本集进行预处理:
S2011:训练样本集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表示训练样本的原始特征属性维度;
S2012:对特征属性向量X={X1,…,Xj,…,XM},j=1,2,…,M进行数值化处理;
8.如权利要求7所述的基于多重提升集成学习的网络故障检测方法,其特征在于:步骤S206中,通过如下方式调整预处理数据集中各个训练样本的权值:
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。
10.如权利要求1所述的基于多重提升集成学习的网络故障检测方法,其特征在于:训练故障检测模型后,通过各类训练样本的精度、F1值、检测率TPR和误报率FPR评估故障检测模型的性能;
1)通过如下公式计算各类训练样本的精度:
式中:Acctest表示各类训练样本的精度;Na表示被正确分类的样本数量;N表示总样本数量;
2)通过如下公式计算F1值:
式中:F1表示F1值;P表示查准率;R表示查全率;
3)通过如下公式计算检测率TPR和误报率FPR:
式中:TP表示实际为正的样本且故障诊断模型预测为正的样本数量;FN表示实际为正的样本且故障诊断模型预测为负的样本数量;FP表示实际为负的样本且故障诊断模型预测为正的样本数量;TN表示实际为负的样本且故障诊断模型预测为负的样本数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211153019.0A CN115567367A (zh) | 2022-09-21 | 2022-09-21 | 一种基于多重提升集成学习的网络故障检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211153019.0A CN115567367A (zh) | 2022-09-21 | 2022-09-21 | 一种基于多重提升集成学习的网络故障检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115567367A true CN115567367A (zh) | 2023-01-03 |
Family
ID=84741436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211153019.0A Pending CN115567367A (zh) | 2022-09-21 | 2022-09-21 | 一种基于多重提升集成学习的网络故障检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115567367A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821730A (zh) * | 2023-08-30 | 2023-09-29 | 北京科锐特科技有限公司 | 风机故障检测方法、控制装置及存储介质 |
-
2022
- 2022-09-21 CN CN202211153019.0A patent/CN115567367A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821730A (zh) * | 2023-08-30 | 2023-09-29 | 北京科锐特科技有限公司 | 风机故障检测方法、控制装置及存储介质 |
CN116821730B (zh) * | 2023-08-30 | 2024-02-06 | 北京科锐特科技有限公司 | 风机故障检测方法、控制装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784881B (zh) | 网络异常流量检测方法、模型及系统 | |
CN112070128B (zh) | 一种基于深度学习的变压器故障诊断方法 | |
CN111353153B (zh) | 一种基于gep-cnn的电网恶意数据注入检测方法 | |
CN109408389B (zh) | 一种基于深度学习的代码缺陷检测方法及装置 | |
CN110929843A (zh) | 一种基于改进深度自编码网络的异常用电行为辨识方法 | |
CN111353373A (zh) | 一种相关对齐域适应故障诊断方法 | |
CN111046961B (zh) | 基于双向长短时记忆单元和胶囊网络的故障分类方法 | |
CN114760098A (zh) | 一种基于cnn-gru的电网虚假数据注入检测方法及装置 | |
CN113569243A (zh) | 基于自监督变分lstm的深层半监督学习网络入侵检测方法 | |
CN110940523A (zh) | 一种无监督域适应故障诊断方法 | |
CN109446804B (zh) | 一种基于多尺度特征连接卷积神经网络的入侵检测方法 | |
CN113705396A (zh) | 一种电机故障诊断方法、系统及设备 | |
CN116400168A (zh) | 一种基于深度特征聚类的电网故障诊断方法及系统 | |
CN113988177A (zh) | 一种水质传感器异常数据检测与故障诊断方法 | |
CN115567367A (zh) | 一种基于多重提升集成学习的网络故障检测方法 | |
CN116185817A (zh) | 一种软件缺陷预测规则的筛选方法及系统 | |
CN115438743A (zh) | 基于cnn基分类器改进的串行集成方法 | |
CN116776134B (zh) | 一种基于PCA-SFFS-BiGRU的光伏出力预测方法 | |
CN118018272A (zh) | 针对数据管理平台实现入侵防御处理的方法、装置、处理器及其计算机可读存储介质 | |
CN115545111B (zh) | 一种基于聚类自适应混合采样的网络入侵检测方法及系统 | |
CN117375983A (zh) | 一种基于改进cnn-lstm的电网虚假数据注入辨识方法 | |
CN116307097A (zh) | 基于深度学习的储能系统剩余电量预测方法 | |
CN115599698A (zh) | 一种基于类关联规则的软件缺陷预测方法及系统 | |
Milani et al. | A coevolutionary optimization approach with deep sparse autoencoder for the extraction of equipment degradation indicators | |
Binu et al. | Support vector neural network and principal component analysis for fault diagnosis of analog circuits |
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 |