CN111967343B - 基于简单神经网络和极端梯度提升模型融合的检测方法 - Google Patents
基于简单神经网络和极端梯度提升模型融合的检测方法 Download PDFInfo
- Publication number
- CN111967343B CN111967343B CN202010733466.8A CN202010733466A CN111967343B CN 111967343 B CN111967343 B CN 111967343B CN 202010733466 A CN202010733466 A CN 202010733466A CN 111967343 B CN111967343 B CN 111967343B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- neural network
- detection
- fusion
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- 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
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本发明公开了一种基于简单神经网络和极端梯度提升模型融合的检测方法,包括:获取数据集,对数据集进行预处理并划分训练集和测试集;对数据集中的少数类样本进行数据增量操作,使数据集均衡;利用训练集对融合检测模型进行训练;所述融合检测模型包括简单神经网络和极端梯度提升模型,分别对数据集进行有监督的学习训练,直至模型收敛;利用收敛后的融合检测模型对待检测的数据进行入侵检测,得到入侵检测结果。本发明方法改善了单一机器学习模型在面对不同场景时泛化能力不够的局限性,以及机器学习对深层信息的关联规则挖掘能力不强的缺陷;与传统的方法相比,节省了人工挖掘关联规则的成本,更有效的利用了数据特征,提高了入侵检测率。
Description
技术领域
本发明涉及网络安全领域,具体涉及一种基于简单神经网络和极端梯度提升模型融合的检测方法。
背景技术
随着互联网技术的高速发展以及互联网与人类生活融合的不断加深,网络在给人们带来各种便利的同时,人们所面临的网络安全问题也越来越多样。如何实时和有效的检测出各种网络攻击,是目前一个必须面对的问题。入侵检测系统(IDS)作为识别异常访问一个重要防护手段,它已经成为安全领域的重要研究对象。
网络入侵检测的目的是分析网络传输的数据流量,从中发现和检测出异常流量。从而对网络安全进行保护。NSL-KDD入侵检测数据集包含一类正常数据和四种攻击类型数据,网络安全领域现今最经典的公开数据集,解决了KDD99数据集中存在的大量冗余和重复数据的问题。近几年国内外有许多学者使用机器学习进行入侵检测的研究,主要有决策树,朴素贝叶斯,随机森林,K-近邻,逻辑回归,支持向量机等等,上述机器学习算法在入侵检测中都取得了不错的效果。研究人员为减少机器学习算法的学习时间,首先对数据集进行主成分分析降维,将降维后的数据集交叉验证分为训练集和测试集,利用数据集构建机器学习算法模型,并对模型进行稀疏化操作,对模型进行剪枝处理。
现今基于机器学习的入侵检测方法相对于传统的以规则匹配的传统检测技术效果得到了很大的提升,但仍旧存在一些缺点:
1.现今入侵检测实验普遍使用的公开数据集NSL-KDD或者KDD99等等都存在数据不均衡现象,都有一类或者两类攻击数据相对其他数据样本数量太少,所以模型在学习时都存在过于拟合样本数多的特征,对少数类样本的检测能力极弱,模型的实际应用效果不理想。
2.现在模型在优化目标时存在优化不灵活,梯度惩罚不合理,边界决策时收敛目标不明确的现象,尤其在多分类时准确率下降明显。
3.传统的机器学习算法需要大量人工选择的数据特征,迁移性不强,且不论是有监督还是无监督都属于浅层学习,无法学习到数据的深层信息。
4.单一模型存在其缺陷性,在场景复杂多样时,泛化能力不强。
发明内容
本发明的目的是提供一种基于简单神经网络和极端梯度提升模型融合的检测方法,用于克服现有技术中单一模型所存在的局限性。
为了实现上述任务,本发明采用以下技术方案:
一种基于简单神经网络和极端梯度提升模型融合的检测方法,包括:
获取数据集,对数据集进行预处理并划分训练集和测试集;
对数据集中的少数类样本进行数据增量操作,使数据集均衡;
利用训练集对融合检测模型进行训练;所述融合检测模型包括简单神经网络和极端梯度提升模型,分别对数据集进行有监督的学习训练,直至模型收敛;
所简单神经网络包括一层输入层,四层隐藏层和一层输出层,除去输出层之外,每一层都使用了RELU激活函数,隐藏层都采用了批归一化机制和随机失活算法;所述简单神经网络设置重置门和遗忘门对上一个状态信息进行遗忘或加权处理来解决长期依赖的现象;当上一隐藏层信息h(t-1)和新的输入x(t)输入神经元时,由遗忘门f(t)来决定上一隐藏层信息h(t-1)对输出h(t)的重要性有多大,如果f(t)约等于0,则上一隐藏层单元信息h(t-1)不会传递给h(t);重置门z(t)负责决定h(t-1)传递的多少,对其进行加权计算;
所述极端梯度提升模型的目标函数包含两个部分:
式中,是极端梯度提升模型的训练误差,为模型的预测结果/>与样本真实值yi的差值;Ω(fk)是正则项,用于控制模型的复杂度,其中γ和λ是惩罚系数,T和w分别代表样本的个数和分数;
利用收敛后的融合检测模型对待检测的数据进行入侵检测,得到入侵检测结果。
进一步地,所述对数据集进行预处理,包括特征选择、特征数值化和数据归一化,其中:
特征数值化是将数据集中的非数值化特征换为二进制数值特征;特征选择是指将特征中不发散、与攻击类型特征无关的特征去除掉,具体为通过卡方检验法对数据的特征重要性进行计算,根据重要性进行特征选择;数据归一化,将经过特征选择和特征数值化后所得到的数据统一线性映射到[0,1]区间之内。
进一步地,所述对数据集中的少数类样本进行数据增量操作,包括:
对于数据集中少数类样本中的每一个数据a,以欧氏距离为标准计算数据a到少数类样本集中所有样本的距离,得到数据a的k个近邻;然后根据样本不平衡比例设置一个采样比例以确定采样倍率;对于数据a,按照所述采样倍率从其k近邻中随机选择若干个样本,形成近邻样本集;对于近邻样本集中的每个数据b,分别与数据a按照以下公式构建新的数据c:
c=a+rand(0,1)*|a-b|
其中rand(0,1)为随机生成的一个(0,1)之间的值。
进一步地,所述分别对数据集进行有监督的学习训练,采用的损失计算方法为:
对不同的相似分数采用了不同的惩罚力度,将(Sn-Sp)转化成(anSn-apSp),Sn表示类内相似度区间,Sp表示类间相似度序列,an和ap是独立的权重因子,分别与Sn和Sp线性相关,这样不仅使得Sn和Sp能以不同的步伐进行学习,还可以根据相似分数调整幅值;
这样的优化策略使得(anSn-apSp)在(Sn,Sp)空间内呈圆形,在圆形的决策边界,该方法有更具倾向性的决策状态。
进一步地,所述融合检测模型的有监督学习训练过程如下:
利用简单神经网络在训练集上进行监督学习,将检测结果作为入侵检测的第一概率;将极端梯度提升模型在训练集上进行监督学习,检测结果作为入侵检测的第二概率;
利用所述的损失计算方法计算入侵检测的第一概率与实际结果的第一误差值,并同时计算入侵检测的第二概率与实际结果的第二误差值;
根据所述第一误差值利用梯度下降算法循环迭代优化所述简单神经网络的权值和偏置,直至简单神经网络收敛;根据所述第二参数值利用梯度下降算法循环迭代极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。
一种基于简单神经网络和极端梯度提升模型融合的检测系统,包括:
获取模块,用于获取公共数据集;
数据预处理模块,用于对数据集进行预处理,划分训练集和测试集;
数据增量模块,用于对数据集中的少数类样本进行数据增量操作,使数据集均衡;
模型训练模块,用于利用训练集对融合检测模型进行训练,直至模型收敛;所述融合检测模型包括简单神经网络SRU和极端梯度提升模型XGBoost;
入侵检测模块;用于利用收敛后的融合检测模型对待检测的数据进行入侵检测,得到入侵检测结果。
进一步地,所述入侵检测模块包括:
第一预测单元,用于将待检测的数据输入到训练后的简单神经网络中,将检测结果作为第一检测概率;
第二预测单元,用于将待检测的数据输入到训练后的极端梯度提升模型中,将检测结果作为第二检测概率;
加权子单元,用于将第一检测概率和第二检测概率进行加权计算,得到入侵检测结果。
进一步地,所述训练模块包括:
第一检测单元,用于利用简单神经网络在训练集上进行监督学习,将检测结果作为入侵检测的第一概率;
第二检测单元,用于将极端梯度提升模型在训练集上进行监督学习,检测结果作为入侵检测的第二概率;
第二计算单元,用于利用所述的损失计算方法计算入侵检测的第一概率与实际结果的第一误差值,并同时计算入侵检测的第二概率与实际结果的第二误差值;
第一优化单元,用于根据所述第一误差值利用梯度下降算法循环迭代优化所述简单神经网络的权值和偏置,直至简单神经网络收敛;
第二优化单元,用于根据所述第二参数值利用梯度下降算法循环迭代极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。
进一步地,所述数据增量模块包括:
距离计算单元,用于对于少数类样本中的每一个数据a,以欧氏距离为标准计算数据a到少数类样本集中所有样本的距离,得到数据a的k个近邻;
采样单元,用于根据样本不平衡比例设置一个采样比例以确定采样倍率;对于数据a,按照所述采样倍率从其k近邻中随机选择若干个样本,形成近邻样本集;
新样本生成单元,用于对于近邻样本集中的每个数据b,分别与数据a按照以下公式构建新的数据c:
c=a+rand(0,1)*|a-b|
其中rand(0,1)为随机生成的一个(0,1)之间的值。
进一步地,所述数据预处理模块包括:
数值化处理单元,用于在所述公开数据集中的数据进行特征数值化处理,得到目标数据;
第一计算单元,用于利用卡方检验法对所述目标数据的特征重要性进行计算,得到第一特征集合;
特征选择单元,用于对所述第一特征集合进行特征选择,得到第二特征集合;
填充子模块,用于对所述第二特征集合中的缺失值进行数据归一化处理,并将归一化处理后的第二特征集合划分为训练集和测试集。
一种终端设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,计算机程序被处理器执行时,实现所述基于简单神经网络和极端梯度提升模型融合的检测方法的步骤。
一种计算机可读存储介质,可读存储介质存储有计算机程序,计算机程序被处理器执行时,实现所述基于简单神经网络和极端梯度提升模型融合的检测方法的步骤。
与现有技术相比,本发明具有以下技术特点:
1.本发明方法将机器学习算法和深度学习神经网络模型融合,结合二者的优点,改善了单一机器学习模型在面对不同场景时泛化能力不够的局限性,以及机器学习对深层信息的关联规则挖掘能力不强,无法有效学习深层特征的规则。本发明方法的入侵检测结果更为准确,与传统的机器学习方法相比,节省了人工挖掘关联规则的成本,更有效的利用了数据特征,提高了入侵检测率。
2.在针对因为数据集不均衡的情况,模型过于拟合样本数多的特征,对少数类特征检测能力不强的现象,对少数类样本进行数据增量,解决数据集数据不均衡现象,使得少数类特征也得以被充分学习。针对现在模型在优化时存在的梯度惩罚不合理,收敛目标不明确从而导致的分类不精确的现象,提出了损失计算方法,对类内相似度区间和最小化类间相似度序列加上权重因子使其能够以不同的步伐学习,使得梯度惩罚更灵活合理。同时,圆形决策边界也具有更具倾向性的决策状态。
附图说明
图1为本发明一个实施例提供的基于简单神经网络和极端梯度提升模型融合的检测方法的流程示意图;
图2为简单神经网络的结构示意图;
图3为简单神经网络单元示意图;
图4为数据增量操作的流程示意图;
图5为利用训练集对融合检测模型进行训练的流程示意图;
图6为本发明一个实施例提供的基于简单神经网络和极端梯度提升模型融合的检测系统的结构示意图。
具体实施方式
参见图1,本发明提出了一种基于简单循环神经网络和极端梯度提升模型融合的入侵检测方法,具体包括以下步骤:
S101,获取数据集,对数据集进行预处理并划分训练集和测试集。
本实施例中所采用的训练数据集为NSL-KDD入侵检测数据集,该数据集包括三部分:KDDTrain+,KDDTest+,KDDTest-21。数据集包括41个数据特征,一项攻击类型特征;攻击类型特征中分为正常和异常两种类型。
对所述数据集进行预处理操作,包括特征选择、特征数值化和数据归一化。
特征数值化是将特征中的非数值化特征换为数值特征,从而才可以作为模型的输入。在数据集中存在protocol_type、service和flag以及label4个特征属性的取值为离散的字符型,对于protocol_type的3种类型数据的属性:udp,icmp,tcp将其分别编码为二进制特征向量(1,0,0),(0,1,0)和(0,0,1);将service型特征的70种不同类型的符号属性编码为70维二进制向量;将flag型特征包含的11种符号属性编码为11维二进制特征向量;将label型特征包含的2种攻击类型编码为2维的二进制向量。
特征选择,是指将特征中不发散、与攻击类型特征无关的特征去除掉,具体为通过卡方检验法对数据的特征重要性进行计算,根据重要性进行特征选择。例如在所述数据集中第7,8,11,14个特征几乎全为0,经过卡方检验的第15,17,19,32,40个特征不发散,第9,20,21个特征与目标类型毫无关联,所以需要将其都删除。
数据归一化,将经过特征选择和特征数值化后所得到的数据统一线性映射到[0,1]区间之内,该步骤的目的是按照原有数据的统计分布特性,将每个属性特征的统计性统一归纳,使不同维度的数据特征具有可比性对基于多模型融合的网络入侵检测结果的贡献相同;经过归一化的数据可以更好的被预设融合模型所学习。
对于预处理后的数据集,本实施例中使用KDDTrain+作为训练集,KDDTest+,KDDTest-21作为测试集。
S102,对数据集中的少数类样本进行数据增量操作,使数据集均衡。
由于入侵检测数据集存在数据不均衡现象,数据量较少的入侵检测数据在模型学习过程中容易被忽略,其特征难以被学习,导致模型检测能力不全面。所以对于训练集和测试集中少数类样本的数据,本方案采用以下数据增量方法:
如图4所示,对于数据集中少数类样本中的每一个数据a,以欧氏距离为标准计算数据a到少数类样本集中所有样本的距离,得到数据a的k个近邻;然后根据样本不平衡比例设置一个采样比例以确定采样倍率;对于数据a,按照所述采样倍率从其k近邻中随机选择若干个样本,形成近邻样本集;对于近邻样本集中的每个数据b,分别与数据a按照以下公式构建新的数据c:
c=a+rand(0,1)*|a-b|
其中rand(0,1)为随机生成的一个(0,1)之间的值。
通过上述数据增量方法,对于训练集和测试集中的少数类样本,分别利用其中的数据与其k近邻中的每个数据样本构建新的数据,达到数据增量的目的。
S103,利用训练集对融合检测模型进行训练;所述融合检测模型包括简单神经网络SRU和极端梯度提升模型XGBoost,分别对数据集进行有监督的学习训练,直至模型收敛。
首先XGBoost通过近似分位点算法对传统的GBDT算法进行了改进,使得该算法模型更适合处理工业级的海量数据,在网络入侵数据集上该算法表现同样优秀;其次SRU神经网络针对XGBoost处理海量数据时无法解决长期依赖的现象,采用了门控技术,在模型中加入重置门和遗忘门。利用遗忘门对上一层网络传入的信息做一个遗忘或者保留,之后利用重置门对保留的过往信息进行加权。使得模型不仅解决了长期依赖的现象,更通过重置门对过去时刻的信息进行加权,区分了不同的信息的重要程度。最后为了进一步解决传统损失函数缺乏灵活性,且在遇到边界决策问题时,边界不明确的现象,引入了一种新的损失计算方法,使用其优化更为灵活,圆形决策边界有更明确的收敛目标和更倾向的决策状态来解决目前传统损失函数带来的问题。
(1)简单神经网络SRU训练:
图2是本方法的所提供的一种SRU的模型架构示意图,SRU神经网络模型架构由一层输入层,四层隐藏层和一层输出层组成,除去输出层之外,每一层都使用了RELU激活函数,隐藏层都采用了Batch Normalization批归一化机制和随机失活算法DropOut,使得简单循环神经网络更快的收敛和避免过拟合。
该神经网络主要采用门控技术,设置重置门和遗忘门对上一个状态信息进行遗忘或加权处理来解决长期依赖的现象。图3为SRU模型的单元示意图,当上一隐藏层单元信息h(t-1)和新的输入x(t)输入神经元时,由遗忘门f(t)来决定上一隐藏层单元信息h(t-1)对new memory输出h(t)的重要性有多大,如果f(t)约等于0,则上一隐藏层单元信息h(t-1)不会传递给new memory h(t),重置门z(t)负责决定h(t-1)传递的多少,对其进行加权计算。
其中,Batch Normalization机制是使神经网络训练过程中的每一层神经网络的输入保持相同的分布;DropOut算法是对神经元随机失活,使得神经网络不会过拟合。
利用训练集对简单神经网络SRU进行训练,其具体可以为:
将预处理后对应着M条N维维度的训练集数据输入简单神经网络中;
利用简单神经网络对输入数据进行计算,得到分类结果,其结果为M条数据的二维二进制向量表示攻击类型,例如[1,0]向量表示正常类型,[0,1]表示为异常类型。
(2)极端梯度提升模型XGBoost训练:
极端梯度提升模型XGBoost是根据CART树的一种boosting算法,高效地实现了GBDT算法,并进行了算法和工程上的许多改进。该模型通过改变训练样本的权重,学习多个分类器,最终获得最优分类器。在每一轮训练结束之后,降低被正确分类的训练样本权重,增大分类错误的样本权重,多次训练之后,一些被错误分类的训练样本会获得更多关注,而正确的训练样本权重趋近于0,得到多个简单的分类器,通过对这些分类器进行组合得到该XGBoost模型。
本方案中XGBoost模型的目标函数主要包含两个部分:
式中,第一部分是模型的训练误差,即模型的预测结果/>与样本真实yi的差值;第二部分Ω(fk)是正则项,用于控制模型的复杂度,其中γ和λ是惩罚系数,T和w分别代表样本节点的个数和分数。
XGBoost模型每次训练一棵新的树都要拟合上一次结果的残差,每次增加的函数的增量要使新一轮的残差尽可能的减小,在进行到第t次时,模型的目标函数写为:
式中:是模型每个样本第t-1次的预测结果;ft(xi)是第t次迭代的函数增量;Ω(fi)是正则项。
模型训练的最终目标是要找到一个能够最小化目标函数的ft(xi),对上式采用其在x=0处的泰勒二阶展开式来近似,得到其近似的目标函数后去掉不影响目标函数的项,从而得到最终优化。
(3)损失计算方法:
该算法主要针对传统损失函数存在的优化时灵活性不够,收敛目标不明确的现象做出改进。基础的特征学习方法如triplet loss和softmax plus cross-entropy loss均是在为了最大化训练集中类内相似度区间Sn,最小化类间相似度序列Sp,然后用各自研究的策略最小化(Sn-Sp)的值。但这种对称优化方法有以下问题:
缺乏一定的灵活性,由于基于损失函数同时优化Sn和Sp,导致二者的梯度的幅值是一样的,当二者均很小时,依然会用较大的梯度惩罚Sn,这显然是不高效不合理的。
收敛目标不明确,优化Sn-Sp通常会遇到决策边界的问题Sn-Sp=m。但这个边界目前是不明确的,从而破坏了特征空间的可分离性,区别性高的特性。
针对上述缺点,本方案中对不同的相似分数采用了不同的惩罚力度,将(Sn-Sp)转化成(anSn-apSp),an和ap是独立的权重因子,分别与Sn和Sp线性相关,这样不仅使得Sn和Sp能以不同的步伐进行学习,还可以根据相似分数调整幅值。这样的优化策略使得(anSn-apSp)=m在(Sn,Sp)空间内呈圆形,在圆形的决策边界,该方法有更具倾向性的决策状态。
基于上述提出的损失计算方法,如图5所示,本申请中所述融合检测模型的有监督学习训练过程如下:
S103-1,利用简单神经网络在训练集上进行监督学习,将检测结果作为入侵检测的第一概率;将极端梯度提升模型在训练集上进行监督学习,检测结果作为入侵检测的第二概率;
S103-2,利用所述的损失计算方法计算入侵检测的第一概率与实际结果的第一误差值,并同时计算入侵检测的第二概率与实际结果的第二误差值;
S103-3,根据所述第一误差值利用梯度下降算法循环迭代优化所述简单神经网络的权值和偏置,直至简单神经网络收敛;根据所述第二参数值利用梯度下降算法循环迭代极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。
S104,利用收敛后的融合检测模型对待检测的数据进行入侵检测,得到入侵检测结果。
将待检测的数据输入到训练后的简单神经网络SRU中,将检测结果作为第一检测概率;将待检测的数据输入到训练后的极端梯度提升模型XGBoost中,将检测结果作为第二检测概率。将第一检测概率和第二检测概率进行加权计算,得到入侵检测结果。
基于上述技术方案,本申请所提供的一种基于SRU和XGBoost模型融合的入侵检测方法,先通过对数据集中的数据进行预处理,减少了不相关特征和冗余信息对检测结果的影响;然后对数据集中的少类别数据进行数据增量,使数据集均衡。再通过模型网络自学习的方法提取数据集中的特征,能够更好的挖掘数据与数据之间的相互依赖性,采用的损失计算方法解决传统损失函数存在的优化时灵活性不够,收敛目标不明确的现象。最后利用收敛后的预设融合模型对待测数据集进行基于SRU和XGBoost模型融合的入侵检测,使得入侵检测结果更为准确。与传统的机器学习方法相比,节省了人工挖掘关联规则的成本,更有效的利用了数据特征,提高了基于简单循环神经网络入侵检测率。
图6为一种基于简单神经网络和极端梯度提升模型融合的检测系统的结构图,该系统包括:
获取模块1,用于获取公共数据集;
数据预处理模块2,用于对数据集进行预处理,划分训练集和测试集;
数据增量模块3,用于对数据集中的少数类样本进行数据增量操作,使数据集均衡;
模型训练模块4,用于利用训练集对融合检测模型进行训练,直至模型收敛;所述融合检测模型包括简单神经网络SRU和极端梯度提升模型XGBoost;
入侵检测模块5;用于利用收敛后的融合检测模型对待检测的数据进行入侵检测,得到入侵检测结果。
其中,入侵检测模块5包括:
第一预测单元,用于将待检测的数据输入到训练后的简单神经网络SRU中,将检测结果作为第一检测概率;
第二预测单元,用于将待检测的数据输入到训练后的极端梯度提升模型XGBoost中,将检测结果作为第二检测概率;
加权子单元,用于将第一检测概率和第二检测概率进行加权计算,得到入侵检测结果。
所述训练模块4包括:
第一检测单元,用于利用简单神经网络在训练集上进行监督学习,将检测结果作为入侵检测的第一概率;
第二检测单元,用于将极端梯度提升模型在训练集上进行监督学习,检测结果作为入侵检测的第二概率;
第二计算单元,用于利用所述的损失计算方法计算入侵检测的第一概率与实际结果的第一误差值,并同时计算入侵检测的第二概率与实际结果的第二误差值;
第一优化单元,用于根据所述第一误差值利用梯度下降算法循环迭代优化所述简单神经网络的权值和偏置,直至简单神经网络收敛;
第二优化单元,用于根据所述第二参数值利用梯度下降算法循环迭代极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。
数据增量模块3包括:
距离计算单元,用于对于少数类样本中的每一个数据a,以欧氏距离为标准计算数据a到少数类样本集中所有样本的距离,得到数据a的k个近邻;
采样单元,用于根据样本不平衡比例设置一个采样比例以确定采样倍率;对于数据a,按照所述采样倍率从其k近邻中随机选择若干个样本,形成近邻样本集;
新样本生成单元,用于对于近邻样本集中的每个数据b,分别与数据a按照以下公式构建新的数据c:
c=a+rand(0,1)*|a-b|
其中rand(0,1)为随机生成的一个(0,1)之间的值。
数据预处理模块2包括:
数值化处理单元,用于在所述公开数据集中的数据进行特征数值化处理,得到目标数据;
第一计算单元,用于利用卡方检验法对所述目标数据的特征重要性进行计算,得到第一特征集合;
特征选择单元,用于对所述第一特征集合进行特征选择,得到第二特征集合;
填充子模块,用于对所述第二特征集合中的缺失值进行数据归一化处理,并将归一化处理后的第二特征集合划分为训练集和测试集。
以上仅对本发明的部分实施例进行了说明,凡在本发明技术方案基础上作出的同等变换,均落入本发明的保护范围之内。
Claims (7)
1.一种基于简单神经网络和极端梯度提升模型融合的检测方法,其特征在于,包括:
获取数据集,对数据集进行预处理并划分训练集和测试集;
对数据集中的少数类样本进行数据增量操作,使数据集均衡;
利用训练集对融合检测模型进行训练;所述融合检测模型包括简单神经网络和极端梯度提升模型,分别对数据集进行有监督的学习训练,直至模型收敛;
所简单神经网络包括一层输入层,四层隐藏层和一层输出层,除去输出层之外,每一层都使用了RELU激活函数,隐藏层都采用了批归一化机制和随机失活算法;所述简单神经网络设置重置门和遗忘门对上一个状态信息进行遗忘或加权处理来解决长期依赖的现象;当上一隐藏层信息h(t-1)和新的输入x(t)输入神经元时,由遗忘门f(t)来决定上一隐藏层信息h(t-1)对输出h(t)的重要性有多大,如果f(t)约等于0,则上一隐藏层单元信息h(t-1)不会传递给h(t);重置门z(t)负责决定h(t-1)传递的多少,对其进行加权计算;
所述极端梯度提升模型的目标函数包含两个部分:
式中,是极端梯度提升模型的训练误差,为模型的预测结果/>与样本真实值yi的差值;Ω(fk)是正则项,用于控制模型的复杂度,其中γ和λ是惩罚系数,T和w分别代表样本的个数和分数;
所述分别对数据集进行有监督的学习训练,采用的损失计算方法为:
对不同的相似分数采用了不同的惩罚力度,将(Sn-Sp)转化成(anSn-apSp),Sn表示类内相似度区间,Sp表示类间相似度序列,an和ap是独立的权重因子,分别与Sn和Sp线性相关,这样不仅使得Sn和Sp能以不同的步伐进行学习,还可以根据相似分数调整幅值;
这样的优化策略使得(anSn-apSp)在(Sn,Sp)空间内呈圆形,在圆形的决策边界,该方法有更具倾向性的决策状态;
利用收敛后的融合检测模型对待检测的数据进行入侵检测,得到入侵检测结果;
所述融合检测模型的有监督学习训练过程如下:
利用简单神经网络在训练集上进行监督学习,将检测结果作为入侵检测的第一概率;将极端梯度提升模型在训练集上进行监督学习,检测结果作为入侵检测的第二概率;
利用所述的损失计算方法计算入侵检测的第一概率与实际结果的第一误差值,并同时计算入侵检测的第二概率与实际结果的第二误差值;
根据所述第一误差值利用梯度下降算法循环迭代优化所述简单神经网络的权值和偏置,直至简单神经网络收敛;根据所述第二误差值利用梯度下降算法循环迭代极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。
2.根据权利要求1所述的基于简单神经网络和极端梯度提升模型融合的检测方法,其特征在于,所述对数据集进行预处理,包括特征选择、特征数值化和数据归一化,其中:
特征数值化是将数据集中的非数值化特征换为二进制数值特征;特征选择是指将特征中不发散、与攻击类型特征无关的特征去除掉,具体为通过卡方检验法对数据的特征重要性进行计算,根据重要性进行特征选择;数据归一化,将经过特征选择和特征数值化后所得到的数据统一线性映射到[0,1]区间之内。
3.根据权利要求1所述的基于简单神经网络和极端梯度提升模型融合的检测方法,其特征在于,所述对数据集中的少数类样本进行数据增量操作,包括:
对于数据集中少数类样本中的每一个数据a,以欧氏距离为标准计算数据a到少数类样本集中所有样本的距离,得到数据a的k个近邻;然后根据样本不平衡比例设置一个采样比例以确定采样倍率;对于数据a,按照所述采样倍率从其k近邻中随机选择若干个样本,形成近邻样本集;对于近邻样本集中的每个数据b,分别与数据a按照以下公式构建新的数据c:
c=a+rand(0,1)*|a-b|
其中rand(0,1)为随机生成的一个(0,1)之间的值。
4.一种基于简单神经网络和极端梯度提升模型融合的检测系统,其特征在于,包括:
获取模块,用于获取公共数据集;
数据预处理模块,用于对数据集进行预处理,划分训练集和测试集;
数据增量模块,用于对数据集中的少数类样本进行数据增量操作,使数据集均衡;
模型训练模块,用于利用训练集对融合检测模型进行训练,直至模型收敛;所述融合检测模型包括简单神经网络和极端梯度提升模型;
所简单神经网络包括一层输入层,四层隐藏层和一层输出层,除去输出层之外,每一层都使用了RELU激活函数,隐藏层都采用了批归一化机制和随机失活算法;所述简单神经网络设置重置门和遗忘门对上一个状态信息进行遗忘或加权处理来解决长期依赖的现象;当上一隐藏层信息h(t-1)和新的输入x(t)输入神经元时,由遗忘门f(t)来决定上一隐藏层信息h(t-1)对输出h(t)的重要性有多大,如果f(t)约等于0,则上一隐藏层单元信息h(t-1)不会传递给h(t);重置门z(t)负责决定h(t-1)传递的多少,对其进行加权计算;
所述极端梯度提升模型的目标函数包含两个部分:
式中,是极端梯度提升模型的训练误差,为模型的预测结果/>与样本真实值yi的差值;Ω(fk)是正则项,用于控制模型的复杂度,其中γ和λ是惩罚系数,T和w分别代表样本的个数和分数;
分别对数据集进行有监督的学习训练,采用的损失计算方法为:
对不同的相似分数采用了不同的惩罚力度,将(Sn-Sp)转化成(anSn-apSp),Sn表示类内相似度区间,Sp表示类间相似度序列,an和ap是独立的权重因子,分别与Sn和Sp线性相关,这样不仅使得Sn和Sp能以不同的步伐进行学习,还可以根据相似分数调整幅值;
这样的优化策略使得(anSn-apSp)在(Sn,Sp)空间内呈圆形,在圆形的决策边界,该方法有更具倾向性的决策状态;
入侵检测模块;用于利用收敛后的融合检测模型对待检测的数据进行入侵检测,得到入侵检测结果;
所述融合检测模型的有监督学习训练过程如下:
利用简单神经网络在训练集上进行监督学习,将检测结果作为入侵检测的第一概率;将极端梯度提升模型在训练集上进行监督学习,检测结果作为入侵检测的第二概率;
利用所述的损失计算方法计算入侵检测的第一概率与实际结果的第一误差值,并同时计算入侵检测的第二概率与实际结果的第二误差值;
根据所述第一误差值利用梯度下降算法循环迭代优化所述简单神经网络的权值和偏置,直至简单神经网络收敛;根据所述第二误差值利用梯度下降算法循环迭代极端梯度提升模型的权值和偏置,直至极端梯度提升模型收敛。
5.根据权利要求4所述的基于简单神经网络和极端梯度提升模型融合的检测系统,其特征在于,所述入侵检测模块包括:
第一预测单元,用于将待检测的数据输入到训练后的简单神经网络中,将检测结果作为第一检测概率;
第二预测单元,用于将待检测的数据输入到训练后的极端梯度提升模型中,将检测结果作为第二检测概率;
加权子单元,用于将第一检测概率和第二检测概率进行加权计算,得到入侵检测结果。
6.一种终端设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,其特征在于,计算机程序被处理器执行时,实现根据权利要求1-3中任一所述基于简单神经网络和极端梯度提升模型融合的检测方法的步骤。
7.一种计算机可读存储介质,可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时,实现根据权利要求1-3中任一所述基于简单神经网络和极端梯度提升模型融合的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733466.8A CN111967343B (zh) | 2020-07-27 | 2020-07-27 | 基于简单神经网络和极端梯度提升模型融合的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733466.8A CN111967343B (zh) | 2020-07-27 | 2020-07-27 | 基于简单神经网络和极端梯度提升模型融合的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111967343A CN111967343A (zh) | 2020-11-20 |
CN111967343B true CN111967343B (zh) | 2023-07-28 |
Family
ID=73363113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010733466.8A Active CN111967343B (zh) | 2020-07-27 | 2020-07-27 | 基于简单神经网络和极端梯度提升模型融合的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967343B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113156320B (zh) * | 2021-03-12 | 2023-05-30 | 山东大学 | 基于深度学习的锂离子电池soc估计方法及系统 |
CN113162914B (zh) * | 2021-03-16 | 2022-04-01 | 江西理工大学 | 一种基于Taylor神经网络的入侵检测方法及系统 |
CN112989540A (zh) * | 2021-04-12 | 2021-06-18 | 福建省海峡信息技术有限公司 | 一种基于sru网络异常流量的检测方法及系统 |
CN113295625B (zh) * | 2021-04-30 | 2023-04-18 | 西安理工大学 | 基于极端梯度提升的机器视觉染料浓度光谱检测方法 |
CN113572742B (zh) * | 2021-07-02 | 2022-05-10 | 燕山大学 | 基于深度学习的网络入侵检测方法 |
CN113542276B (zh) * | 2021-07-16 | 2023-01-24 | 江苏商贸职业学院 | 混网网络入侵目标检测方法及系统 |
CN115718869A (zh) * | 2021-08-24 | 2023-02-28 | 华为云计算技术有限公司 | 模型训练方法、系统、集群及介质 |
CN113489751B (zh) * | 2021-09-07 | 2021-12-10 | 浙江大学 | 一种基于深度学习的网络流量过滤规则转化方法 |
CN114615010B (zh) * | 2022-01-19 | 2023-12-15 | 上海电力大学 | 一种基于深度学习的边缘服务器端入侵防御系统设计方法 |
CN114629718A (zh) * | 2022-04-07 | 2022-06-14 | 浙江工业大学 | 一种基于多模型融合的隐匿恶意行为检测方法 |
CN115664775B (zh) * | 2022-10-20 | 2023-06-09 | 齐齐哈尔大学 | 一种基于gs-dnn模型的无线传感器网络入侵检测方法及系统 |
CN116401659B (zh) * | 2023-02-17 | 2024-01-30 | 安芯网盾(北京)科技有限公司 | 一种基于深度学习的多模型融合计算机病毒检测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018200715A1 (en) * | 2017-04-25 | 2018-11-01 | The University Of Chicago | Cellular analysis |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289089A1 (en) * | 2004-06-28 | 2005-12-29 | Naoki Abe | Methods for multi-class cost-sensitive learning |
CN107370752B (zh) * | 2017-08-21 | 2020-09-25 | 北京工业大学 | 一种高效的远控木马检测方法 |
CN108768946B (zh) * | 2018-04-27 | 2020-12-22 | 中山大学 | 一种基于随机森林算法的网络入侵检测方法 |
US11062024B2 (en) * | 2018-11-15 | 2021-07-13 | Crowdstrike, Inc. | Computer-security event security-violation detection |
CN110213222B (zh) * | 2019-03-08 | 2021-12-10 | 东华大学 | 基于机器学习的网络入侵检测方法 |
CN110378430B (zh) * | 2019-07-23 | 2023-07-25 | 广东工业大学 | 一种基于多模型融合的网络入侵检测的方法及系统 |
CN110784455B (zh) * | 2019-10-16 | 2021-09-07 | 国网湖北省电力有限公司电力科学研究院 | 基于线性递减权重粒子群算法优化Xgboost模型方法 |
CN110991653A (zh) * | 2019-12-10 | 2020-04-10 | 电子科技大学 | 一种针对不平衡数据集分类的方法 |
-
2020
- 2020-07-27 CN CN202010733466.8A patent/CN111967343B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018200715A1 (en) * | 2017-04-25 | 2018-11-01 | The University Of Chicago | Cellular analysis |
Also Published As
Publication number | Publication date |
---|---|
CN111967343A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967343B (zh) | 基于简单神经网络和极端梯度提升模型融合的检测方法 | |
Ren et al. | Knowledge-maximized ensemble algorithm for different types of concept drift | |
CN111353153B (zh) | 一种基于gep-cnn的电网恶意数据注入检测方法 | |
CN109902740B (zh) | 一种基于多算法融合并行的再学习工业控制入侵检测方法 | |
Fu et al. | Low-level feature extraction for edge detection using genetic programming | |
CN112765896A (zh) | 一种基于lstm的水处理时序数据异常检测方法 | |
CN110826617A (zh) | 态势要素分类方法及其模型的训练方法、装置及服务器 | |
Gu et al. | Bayesian Takagi–Sugeno–Kang fuzzy model and its joint learning of structure identification and parameter estimation | |
CN111447217A (zh) | 一种稀疏编码下的基于htm的流数据异常检测方法及系统 | |
CN112766603A (zh) | 一种交通流量预测方法、系统、计算机设备及存储介质 | |
Gao et al. | Adversarial mobility learning for human trajectory classification | |
CN116781346A (zh) | 基于数据增强的卷积双向长短期记忆网络入侵检测方法 | |
Zhu et al. | Hierarchical reinforcement learning based on KNN classification algorithms | |
Chaudhary et al. | Comparative Analysis of Rainfall Prediction Using Machine Learning and Deep Learning Techniques | |
Thu et al. | A Neighborhood Deep Neural Network Model using Sliding Window for Stock Price Prediction | |
Liu et al. | Learning multiple gaussian prototypes for open-set recognition | |
Pei et al. | Financial trading decisions based on deep fuzzy self-organizing map | |
Ahmed et al. | Detection and classification of leaf disease using deep learning for a greenhouses’ robot | |
Wu et al. | Fault diagnosis of TE process based on incremental learning | |
CN115018193A (zh) | 基于lstm-ga模型的时间序列风能数据预测方法 | |
CN115186012A (zh) | 一种用电量数据检测方法、装置、设备及存储介质 | |
Sowmya et al. | An efficient missing data imputation model on numerical data | |
CN113762591A (zh) | 一种基于gru和多核svm对抗学习的短期电量预测方法及系统 | |
Wen et al. | Adaptive tree-like neural network: Overcoming catastrophic forgetting to classify streaming data with concept drifts | |
Wanga et al. | A Deep-forest based approach for detecting fraudulent online transactions |
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 |