CN107846392A - 一种基于改进协同训练‑adbn的入侵检测算法 - Google Patents
一种基于改进协同训练‑adbn的入侵检测算法 Download PDFInfo
- Publication number
- CN107846392A CN107846392A CN201710743859.5A CN201710743859A CN107846392A CN 107846392 A CN107846392 A CN 107846392A CN 201710743859 A CN201710743859 A CN 201710743859A CN 107846392 A CN107846392 A CN 107846392A
- Authority
- CN
- China
- Prior art keywords
- data
- training
- mrow
- intrusion detection
- msub
- 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.)
- Granted
Links
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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- 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/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于改进协同训练‑ADBN的入侵检测算法,包括以下步骤:1)入侵检测数据的预处理;2)基于改进协同训练算法的数据预训练;3)主动DBN数据训练算法;4)基于改进协同‑ADBN的入侵检测,很大程度上提高了入侵检测的效率与准确率,为今后的入侵检测研究提供了一种思路。
Description
技术领域
本发明属于计算机网络信息安全技术领域,具体涉及一种基于改 进协同训练-ADBN的入侵检测算法。
背景技术
互联网时代的急速来临,面临着层出不穷的安全问题。如何选择 高效的方法处理互联网带来的安全隐患是我们在互联网时代面对的 重要问题。入侵检测技术是互联网安全防御手段的重要一环,它的出 现极大的缓解了入侵攻击带来的危害。入侵检测常用的技术分为:异 常入侵检测和误用入侵检测技术两大类。其中,异常入侵检测技术因 其可以检测出没有出现过的入侵攻击而受到了广泛的关注。传统的机 器学习方法如神经网络、蚁群算法、支持向量机等算法都在入侵检测 方面得到了有效的应用。并且,为了在海量数据下得到较高的准确率, 面向入侵检测技术的深度信念网络模型也得到了成功的应用。
基于机器学习算法的入侵检测的准确率是基于大量有标签数据 训练的基础上得到的。传统的依靠人为标注和立即记录获取有标记的 数据样本的方法已经不能满足当今时代入侵检测的要求。如何得到这 些数据,是入侵检测面临的巨大挑战。
半监督学习可以基于少量有标记样本中学习知识,并通过分类将 置信度高的未标注样本重新加入训练集中,对模型进行反复训练,直 到达到一个比较高的置信水平。它的优势在于,一方面它只需要相对 于监督学习需要的少量标记样本,另一方面它又可以达到比非监督学 习高的准确率。因此半监督学习获得了众多研究者的关注。
通常情况下半监督入侵检测算法只是考虑单一数据源对于入侵 检测的作用,即从主机数据或者网络数据中进行特征提取,提取出一 种类型的特征数据对于入侵进行检测,即从单视图的角度进行入侵检 测。现实中,入侵行为往往表现在流量、网络等多个方面,同时考虑 多个方面可以更加有效的进行入侵检测,减少误报、漏报。并且随着 大数据时代的到来,大量有标记数据的获取面临着挑战,浅层的机器 学习已经不能满足入侵检测准确率的要求。
发明内容
为了克服上述现有技术的不足,本发明的目的是提供一种基于改 进协同训练-ADBN的入侵检测算法,首先,采用基于属性关系的多视 图划分后,结合主动学习协同训练算法进行数据预训练,输出带有标 签的训练数据;随后,将训练好的带标签的数据输入DBN模型中,使 用预训练及反馈调节的功能寻找DBN的最优参数;最后,使用训练好 的DBN模型进行入侵检测。解决了基于深度学习入侵模型高准确率需 要依靠大量有标记样本数据的问题。使用结合主动学习半监督协同训 练算法进行数据预训练,并使用ADBN模型进行入侵检测。该方法一 定程度上提高了大数据时代网络入侵检测的准确率,减少了人工标记 数据的工作量。
为了实现上述目的,本发明采用的技术方案是:
一种基于改进协同训练-ADBN的入侵检测算法,包括以下步骤:
1)入侵检测数据的预处理;
2)基于改进协同训练算法的数据预训练;
3)主动DBN数据训练算法;
4)基于改进协同-ADBN的入侵检测。
所述的入侵检测数据的预处理,采用的NSL-KDD包含41个特征 的标准入侵检测公开数据集作为样本,其中包含38个离散型及3个 连续型的数据特征。具体过程如下:
1、连续数据离散化
连续型数据因为不能作为数据处理的输入影响数据运算过程,本 文采取连续数据离散化的方法将连续型数据转为数字型数据。例如: 第二个数据特征为连续型数据用于描述tcp协议类型,离散化将tcp 映射为1,udp映射为2,icmp映射为3。
2、数据归一化
数据的离散程度对于数据的学习效果有着巨大影响。归一化有利 于提高学习精度,本文使用下式对数据进行归一化:
其中,X为数据样本值,MIN为数据样本的最小值,MAX为数据 样本中最大值。
所述的基于改进协同训练算法的数据预训练,其步骤为:
(1)使用基于属性特征关系将入侵检测数据划分为两个视图;
(2)在协同训练训练过程中,通过使用集成学习算法训练在两 个视图上进行训练;
(3)训练集扩大过程中,基于主动学习与分类置信度来选取数 据加入训练集;
(4)达到某种条件时,输出有标签的训练数据。
所述的主动DBN网络的模型训练,其步骤为:
(1)使用协同训练得到的数据输出到训练集通过深层RBM网络 构建训练集样本数据的抽象表示RBM,并利用顶层的Softmax分类器 进行分类预测;
(2)依据训练集中的标签与预测的结果,使用BP反馈调节网络 进行DBN的参数调优,得到训练后DBN模型;
(3)在迭代训练ADBN模型过程中,选取最不可信的数据进行人 工标记后放入训练集,提供给下次训练ADBN模型使用,训练完成后 输出ADBN模型参数。
所述的使用基于属性特征关系将入侵检测数据划分为两个视图 包括:基于主机流量相关特征及基于网络流量相关特征进行视图划 分,视图包括的是特征而不是数据集的某一部分。
所述的不同视图上采取集成学习算法包括分别使用随机森林与 SVM-Logistics两种集成学习,提高视图上模型训练的效果,基于 SVM-Logistic回归的集成学习是在分类过程中采用SVM、Logistic 回归对样本进行分类,最后将他们的分类结果利用加权平均的方法集 成得到最终的分类结果,加权平均法如下:
假设集成包含n个基学习器{h1,h2....,hn},其中hi在示例样本的输出 为hi(x),则分类结果H(x)可以表示为:
其中h(x)为基学习器的分类结果,wi为基学习器的权重,它对于 最终模型的预测输出有着至关重要的影响,为了提升误差较小的模型 在最终预测结果中的权重,本文采用预测误差绝对值来计算权重,计 算方法如下式:
其中,Et为预测误差。
所述的训练集扩大过程中,基于主动学习与分类置信度来选取数 据加入训练集包括根据下式根据数据在四个分类器中的综合情况得 到预测数据的置信度,并根据置信度选择数据用于扩大训练集。其中, 按照数据预测置信度进行排序并将前三分之一直接用于扩大训练集, 中间三分之一的数据结合主动学习标注后加入训练集;
其中,Pij=max(yi|x)为第j个视图上样本分为i类的概率
所述的在训练过程中,在不同视图上采取不同集成学习分类方 法,根据两个视图上的分类结果,计算样本的分类置信度,根据置信 度将分类后的数据分为高置信度、低置信度、中置信度的数据,高置 信度的数据直接加入训练集中,中置信度的数据通过利用主动学习方 法提供给专家标注后加入训练集,低置信度的数据放入训练集中。并 且使用分类器对训练集进行训练后剔除百分之10的前后分类不一致 的数据,重复这个过程,直到训练集数量达到总数的百分之50,停 止训练,输出带有标签的训练数据集,假定有标签的训练集为L,无 标签的测试集为U,则算法如下:
输入:L,U训练集(带有标签的数据)、测试集流量相关的入侵 检测数据集U1(包含少量有标记的数据)、流量无关的入侵检测数据 集U2(包含少量有标记的数据)
输出:带标签训练集L'
WHILE:训练集数量达到数据总量的百分之50
{
STEP1:将数据集依据不同属性特征划分为两个视图:
STEP2:训练分类器
使用训练分类器使用训练分类器
STEP3:测试集数据选择
(1)使用对数据进行分类,使用对数据进行分类;
(2)通过多次分类的概率计算分类置信度后进行数据选择,将前 p个置信度最高的数据作为U1,
p=CountU/3;
(1)将U-U1中选取p个置信度高的数据作为U2;
(2)将U-U1-U2数据作为U3;
STEP4更新数据集:
(1)
(2)
} STEP5输出训练好的数据集
L'=Lk。
所述的选取最不可信的数据进行人工标记后放入训练集步骤 为:
(4)使用DBN训练后的数据重构误差排序
(5)根据重构误差选取最不可信的数据提供给专家人工标注
(6)迭代完成后,输出训练好的ADBN模型
所述的ADBN算法
输入:数据集X,
主动学习迭代次数Q,
主动学习每次迭代选择数据量Count
输出:包含w,a,b的模型
(1)初始化w=0,a=0,b=0,训练次数
(2)循环执行Q次:
利用公式计算p(h|v)、p(v|h);
循环执行k次,更新参数:
W=W+p(h|v)v-p(h|v)v
a=a+[v-v]
b=b+p(h|v)v-p(h|v)v
利用训练集中的标签数据Y',利用BP网络优化模型参数并计算 重构误差
error=hi(x)(1-hi(x))(y′i-hi(x))
利用得到的重构误差更新参数θ(W,a,b)
θ=θ+Δθ,θ=ε×error×x
为训练集选择需要人工标注的数据
选择Count数量最难标注的样本提供给专家进行标注,依据DBN 训练后的重构误差进行选择。
s={xtrain|xtrain=max(d)}
并添加标注后的数据集到训练集X,重复这个过程。
本发明的有益效果为:
本发明提出的入侵检测模型,很大程度上解决了基于深度学习入 侵模型高准确率需要依靠大量有标记样本数据的问题。使用结合主动 学习半监督协同训练算法进行数据预训练,并使用ADBN模型进行入 侵检测。该方法一定程度上提高了大数据时代网络入侵检测的准确 率,减少了人工标记数据的工作量,为入侵检测提供了一种解决思路。
附图说明
图1为本发明的系统架构图。
图2基于改进协同训练-ADBN模型。
具体实施方式
如图1、2所示,本发明的入侵检测由数据预处理、入侵检测算 法数据预训练、基于ADBN的入侵检测算法、入侵检测四个部分组成。 系统从网络中采集样本数据,利用数据预处理模块进行数据的离散 化、归一化处理后,输入到改进协同预训练模型中进行数据的预训练 得到大量的有标记的样本数据,对ADBN模型进行训练后入侵检测。
步骤1:数据预处理
采用的NSL-KDD包含41个特征的标准入侵检测公开数据集作为 样本,其中包含38个离散型及3个连续型的数据特征。具体过程如 下:
1、连续数据离散化
连续型数据因为不能作为数据处理的输入影响数据运算过程,本 文采取连续数据离散化的方法将连续型数据转为数字型数据。例如: 第二个数据特征为连续型数据用于描述tcp协议类型,离散化将tcp 映射为1,udp映射为2,icmp映射为3。
2、数据归一化
数据的离散程度对于数据的学习效果有着巨大影响。归一化有利 于提高学习精度,本文使用下式对数据进行归一化:
其中,X为数据样本值,MIN为数据样本的最小值,MAX为数据 样本中最大值
步骤2:结合主动学习的半监督多视图协同训练的数据预训练
1、基于入侵特征属性关系的多视图划分
通常采用的网络入侵检测软件采集的数据包括tcp连接基本特 征、tcp连接内容特征、基于主机的网络流量统计特征及基于时间的 网络流量统计特征。依据这4大类入侵检测数据的关系,按照入侵流 量相关属性以及入侵流量无关属性来划分视图,流量相关属性包括基 于主机的网络流量统计特征及基于时间的网络流量统计特征,划分为 视图1;流量无关属性包括tcp连接基本特征、tcp连接内容特征划 分视。
2、结合主动学习与分类置信度的协同训练算法
(1)基于属性特征关系的视图划分
由于采用的NSL-KDD99标准数据集,每条数据包含41个特征。 根据上提到的视图划分方法,前20个特征划分为一个集合称为流量 相关视图,其余21个特征划分为一个集合称为流量无关视图。
(2)结合主动学习的协同训练算法
结合主动学习与分类置信度的思想来扩大协同训练中的训练集。 在迭代过程将某些偶然性造成的可信度不高的数据进行人工标注后 重新放回训练集,即通过计算机样本分类后的标签置信度,按照置信 度及分类样本数量进行排序;置信度按照样本数量分为三等,每等包 含三分之一样本数量,根据置信度计算结果按照降序排序。其中,置 信度为高的样本直接加入训练集中,置信度中等的样本依据主动学习 的思想,提供给专家标注后加入训练集,置信度为低的样本放回测试 集中,随后根据更新后的训练集重新训练分类器。这样一方面扩大了 训练集,增强了训练集的多样性;另一方面不会将偶然性造成训练集 更新过程中可信样本的损失。其中置信度的计算利用信息熵的概念进 行计算,如
其中,Pij=max(yi|x)为第j个视图上样本分为i类的概率
并且,针对每个视图学过程中仅采取单一学习器会造成的泛化能 力不足的问题,本文结合集成学习的思想,在协同训练过程中不同样 本集上分别采用不同的集成学习分类算法,利用集成学习的高效性对 测试数据进行分类后,利用分类后的结果按照上文提到的方法更新训 练集,迭代训练。本文在两个视图上分别采取随机森林及基于加权平 均的集成学习算法分别进行数据训练。
随机森林利用构造的多棵决策树的分类结果集成得到的,随机森林由 很多决策树构成。当输入一个新的样本时,每棵决策树都对其进行分 类,然后根据哪一类被选择最多就预测该样本为哪一类。随机森林算 法可以在很大程度上解决单棵决策树过拟合的问题,又可以提高算法 的执行效率很大程度上提高了分类的准确率。
基于SVM-Logistic回归的集成学习是在分类过程中采用SVM、Logistic回归对样本进行分类,最后将他们的分类结果利用加权平 均的方法集成得到最终的分类结果。加权平均法如下:
假设集成包含n个基学习器{h1,h2....,hn},其中hi在示例样本的输出 为hi(x),则分类结果H(x)可以表示为:
其中h(x)为基学习器的分类结果,wi为基学习器的权重,它对于 最终模型的预测输出有着至关重要的影响,为了提升误差较小的模型 在最终预测结果中的权重,本文采用预测误差绝对值来计算权重,计 算方法如公式(3)
其中,Et为预测误差。
基于多视图的半监督学习主要是用来对于少量的有监督数据中, 利用测试数据训练出大量带标签的测试数据用于训练检测模型。在基 于属性关系特征划分的不同视图中,使用协同训练算法训练大量的测 试样本。
在训练过程中,在不同视图上采取不同集成学习分类方法,根据两个 视图上的分类结果,计算样本的分类置信度,根据置信度将分类后的 数据分为高置信度、低置信度、中置信度的数据,高置信度的数据直 接加入训练集中,中置信度的数据通过利用主动学习方法提供给专家 标注后加入训练集,低置信度的数据放入训练集中。并且使用分类器 对训练集进行训练后剔除百分之10的前后分类不一致的数据,重复 这个过程,直到训练集数量达到总数的百分之50,停止训练,输出 带有标签的训练数据集。
具体过程如下:
利用多视图学习构建的基于属性关系的入侵检测数据的两个视 图Xview1,Xview2;
U→Xview1,U→Xview2
使用主动协同训练算法迭代更新训练集,并在不同视图上使用不 同集成学习算法进行数据分类预测,并根据两个视图上的预测结果计 算预测标签置信度Ui;
Cview1=F(Xview1),Cview2=F(Xview2);
Uc=Confident(Cview1,Cview2);
根据数据预测标签的置信度Uc选取数据,其中选择置信度高的 数据直接用于扩大训练集,中置信度进行主动学习后放入训练集,低 置信度的数据重新放入测试集中进行迭代训练;
UHigh,UMid,ULow=Sort(Uc),
Utrain=Utrain∪UHigh∪ActiveLearning(UMid);
直到达到某种停止条件后输出训练集Utrain。
步骤3主动DBN数据训练算法
DBN虽然是一种无监督的深度网络,但是在深度网络的发展中, 人们利用DBN的深度网络建立数据的抽象表现,并且利用有监督的 BP反向调节功能得到最优的参数模型,以达到更好的学习效果。DBN 分类的效果是基于大量的有标记数据的基础上训练得到的。而在现实 生活中,有标记的数据获得需要大量的人工操作,这样会造成效率的 低下。虽然多视图半监督的协同训练算法在一定程度上缓解了这个问 题,但是并不能保证所有通过该算法获得的数据都是“好”的数据, 也就是提高模型预测准确率的数据。为了提高DBN分类的准确率,将 主动学习与无监督学习结合起来,即可以提高DBN分类准确率的数 据。由此,提出一种基于主动学习的DBN学习模型在一定程度上可以 解决该问题。
首先,分别使用无监督的贪婪的逐层方法训练每一层的RBM网 络,这种方法将每一层RBM网络映射到隐含层的数据重建其可视层输 入向量低维表示,再通过映射到可视层的数据重建其隐含层向量,循 环往复。直到达到顶层。再利用顶层的BP网络接收RBM输出的低维 特征向量作为输入输出,并使用带标签的数据通过BP网络将错误信 息自顶而下传播至每一层RBM,有监督的训练分类器,使得DBN模型 的参数达到最优。并利用训练好的网络预测数据得到预测结果,依据 多次迭代预测结果的一致性来选取最不可信的数据进行人工标注后 放入训练集。这样在多次迭代训练DBN过程中加入了主动学习,将无 监督学习与半监督学习结合一起训练模型,可以调整深度学习的模型 参数,并且更好的提高深度学习模型的数据抽象能力和学习能力,使 得DBN的学习效果更加准确。对于下一次训练过程中,每次迭代的模 型参数都是使用上一次监督训练得到的参数来初始化的,然后使用监 督模型基于含有人工标注数据来进行学习的。
具体过程如下:
使用协同训练得到的数据输出到训练集通过深层RBM网络构建 训练集样本数据的抽象表示URBM,并利用顶层的Softmax分类器进 行分类预测;
θ,URBM=DBN(Utrain),L=Softmax(URBM);
依据训练集中的标签与预测的结果,使用BP反馈调节网络进行 DBN的参数调优,得到训练后DBN模型;
θnew=DBNBP(URBM,L,θ);
在迭代训练ADBN模型过程中,选取最不可信的数据进行人工标 记后放入训练集,提供给下次训练ADBN模型使用,训练完成后输出 ADBN模型参数。
θnew=ADBN(URBM,L,θnew);
步骤4:基于DBN的入侵检测
利用训练好的ADBN构建,在对模型训练好的基础上,对于数据 预处理后的数据进行检测,并把检测的结果遍历攻击类型标识库,检 验是否有匹配的攻击,如果有则可以确定攻击的类型。如果没有匹配 的攻击,则进一步判读是否为新的攻击类型,如果是新的攻击类型, 则将这种攻击加入表示库,并提供警告功能。
Claims (10)
1.一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,包括以下步骤:
1)入侵检测数据的预处理;
2)基于改进协同训练算法的数据预训练;
3)主动DBN数据训练算法;
4)基于改进协同-ADBN的入侵检测。
2.根据权利要求1所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的入侵检测数据的预处理,采用的NSL-KDD包含41个特征的标准入侵检测公开数据集作为样本,其中包含38个离散型及3个连续型的数据特征,具体过程如下:
1)连续数据离散化
连续型数据因为不能作为数据处理的输入影响数据运算过程,本文采取连续数据离散化的方法将连续型数据转为数字型数据,第二个数据特征为连续型数据用于描述tcp协议类型,离散化将tcp映射为1,udp映射为2,icmp映射为3;
2)数据归一化
数据的离散程度对于数据的学习效果有着巨大影响,归一化有利于提高学习精度,本文使用下式对数据进行归一化:
<mrow>
<msup>
<mi>X</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mfrac>
<mrow>
<mi>X</mi>
<mo>-</mo>
<mi>M</mi>
<mi>I</mi>
<mi>N</mi>
</mrow>
<mrow>
<mi>M</mi>
<mi>A</mi>
<mi>X</mi>
<mo>-</mo>
<mi>M</mi>
<mi>I</mi>
<mi>N</mi>
</mrow>
</mfrac>
</mrow>
其中,X为数据样本值,MIN为数据样本的最小值,MAX为数据样本中最大值。
3.根据权利要求1所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的基于改进协同训练算法的数据预训练,其步骤为:
1)使用基于属性特征关系将入侵检测数据划分为两个视图;
2)在协同训练训练过程中,通过使用集成学习算法训练在两个视图上进行训练;
3)训练集扩大过程中,基于主动学习与分类置信度来选取数据加入训练集;
4)达到某种条件时,输出有标签的训练数据。
4.根据权利要求1所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的主动DBN网络的模型训练,其步骤为:
1)使用协同训练得到的数据输出到训练集通过深层RBM网络构建训练集样本数据的抽象表示RBM,并利用顶层的Softmax分类器进行分类预测;
2)依据训练集中的标签与预测的结果,使用BP反馈调节网络进行DBN的参数调优,得到训练后DBN模型;
3)在迭代训练ADBN模型过程中,选取最不可信的数据进行人工标记后放入训练集,提供给下次训练ADBN模型使用,训练完成后输出ADBN模型参数。
5.根据权利要求3所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的使用基于属性特征关系将入侵检测数据划分为两个视图包括:基于主机流量相关特征及基于网络流量相关特征进行视图划分,视图包括的是特征而不是数据集的某一部分。
6.根据权利要求5所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的不同视图上采取集成学习算法包括分别使用随机森林与SVM-Logistics两种集成学习,提高视图上模型训练的效果,基于SVM-Logistic回归的集成学习是在分类过程中采用SVM、Logistic回归对样本进行分类,最后将他们的分类结果利用加权平均的方法集成得到最终的分类结果,加权平均法如下:
假设集成包含n个基学习器{h1,h2....,hn},其中hi在示例样本的输出为hi(x),则分类结果H(x)可以表示为:
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msub>
<mi>h</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
</mrow>
其中h(x)为基学习器的分类结果,wi为基学习器的权重,它对于最终模型的预测输出有着至关重要的影响,为了提升误差较小的模型在最终预测结果中的权重,本文采用预测误差绝对值来计算权重,计算方法如下式:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<msub>
<mi>E</mi>
<mi>t</mi>
</msub>
<mo>=</mo>
<mstyle>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
</mstyle>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>h</mi>
<mi>t</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>y</mi>
<mi>t</mi>
</msub>
</mrow>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>w</mi>
<mo>=</mo>
<mfrac>
<msub>
<mi>E</mi>
<mi>t</mi>
</msub>
<mrow>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>E</mi>
<mi>t</mi>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,Et为预测误差。
7.根据权利要求3所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的训练集扩大过程中,基于主动学习与分类置信度来选取数据加入训练集包括根据下式根据数据在四个分类器中的综合情况得到预测数据的置信度,并根据置信度选择数据用于扩大训练集,其中,按照数据预测置信度进行排序并将前三分之一直接用于扩大训练集,中间三分之一的数据结合主动学习标注后加入训练集;
<mrow>
<msub>
<mi>confident</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mn>2</mn>
</munderover>
<msub>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mi>l</mi>
<mi>o</mi>
<mi>g</mi>
<mfrac>
<mn>1</mn>
<msub>
<mi>p</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,Pij=max(y i|x)为第j个视图上样本分为i类的概率。
8.根据权利要求6所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的在训练过程中,在不同视图上采取不同集成学习分类方法,根据两个视图上的分类结果,计算样本的分类置信度,根据置信度将分类后的数据分为高置信度、低置信度、中置信度的数据,高置信度的数据直接加入训练集中,中置信度的数据通过利用主动学习方法提供给专家标注后加入训练集,低置信度的数据放入训练集中,并且使用分类器对训练集进行训练后剔除百分之10的前后分类不一致的数据,重复这个过程,直到训练集数量达到总数的百分之50,停止训练,输出带有标签的训练数据集,假定有标签的训练集为L,无标签的测试集为U,则算法如下:
输入:L,U训练集(带有标签的数据)、测试集流量相关的入侵检测数据集U1(包含少量有标记的数据)、流量无关的入侵检测数据集U2(包含少量有标记的数据)
输出:带标签训练集L';
WHILE:训练集数量达到数据总量的百分之50;
STEP1:将数据集依据不同属性特征划分为两个视图:
<mrow>
<msubsup>
<mi>L</mi>
<mn>1</mn>
<mi>k</mi>
</msubsup>
<mo>&LeftArrow;</mo>
<msup>
<mi>L</mi>
<mi>k</mi>
</msup>
<mo>,</mo>
<msubsup>
<mi>L</mi>
<mn>2</mn>
<mi>k</mi>
</msubsup>
<mo>&LeftArrow;</mo>
<msup>
<mi>L</mi>
<mi>k</mi>
</msup>
<mo>,</mo>
<msubsup>
<mi>U</mi>
<mn>1</mn>
<mi>k</mi>
</msubsup>
<mo>&LeftArrow;</mo>
<msup>
<mi>U</mi>
<mrow>
<mi>k</mi>
<mo>,</mo>
</mrow>
</msup>
<mo>,</mo>
<msubsup>
<mi>U</mi>
<mn>2</mn>
<mi>k</mi>
</msubsup>
<mo>&LeftArrow;</mo>
<msup>
<mi>U</mi>
<mi>k</mi>
</msup>
<mo>;</mo>
</mrow>
STEP2:训练分类器;
使用训练分类器f1 k,使用训练分类器
STEP3:测试集数据选择;
(1)使用f1 k对数据进行分类,使用对数据进行分类;
(2)通过多次分类的概率计算分类置信度后进行数据选择,将前p个置信度最高的数据作为U1;
p=CountU/3;
(1)将U-U1中选取p个置信度高的数据作为U2;
(2)将U-U1-U2数据作为U3;
STEP4更新数据集:
(1)
(2)}
STEP5输出训练好的数据集L'=Lk。
9.根据权利要求1所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的选取最不可信的数据进行人工标记后放入训练集步骤为:
(1)使用DBN训练后的数据重构误差排序;
(2)根据重构误差选取最不可信的数据提供给专家人工标注;
(3)迭代完成后,输出训练好的ADBN模型。
10.根据权利要求1所述的一种基于改进协同训练-ADBN的入侵检测算法,其特征在于,所述的ADBN模型算法,如下:
输入:数据集X,
主动学习迭代次数Q,
主动学习每次迭代选择数据量Count,
输出:包含w,a,b的模型,
(1)初始化w=0,a=0,b=0,训练次数,
(2)循环执行Q次:
利用公式(6)计算p(h|v)公式(7)计算p(v|h);
循环执行k次,更新参数;
W=W+p(h|v)v-p(h|v)v
a=a+[v-v]
b=b+p(h|v)v-p(h|v)v,
利用训练集中的标签数据Y',利用BP网络优化模型参数并计算重构误差,
error=hi(x)(1-hi(x))(y′i-hi(x)),
利用得到的重构误差更新参数θ(W,a,b),
θ=θ+Δθ,θ=ε×error×x,
为训练集选择需要人工标注的数据,
<mrow>
<mi>d</mi>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>k</mi>
</munderover>
<mrow>
<mo>(</mo>
<msub>
<mi>h</mi>
<mi>i</mi>
</msub>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
<mo>-</mo>
<msub>
<mi>h</mi>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
选择Count数量最难标注的样本提供给专家进行标注,依据DBN训练后的重构误差进行选择,
s={xtrain|xtrain=max(d)}
并添加标注后的数据集到训练集X,重复这个过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710743859.5A CN107846392B (zh) | 2017-08-25 | 2017-08-25 | 一种基于改进协同训练-adbn的入侵检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710743859.5A CN107846392B (zh) | 2017-08-25 | 2017-08-25 | 一种基于改进协同训练-adbn的入侵检测算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107846392A true CN107846392A (zh) | 2018-03-27 |
CN107846392B CN107846392B (zh) | 2020-11-13 |
Family
ID=61683257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710743859.5A Active CN107846392B (zh) | 2017-08-25 | 2017-08-25 | 一种基于改进协同训练-adbn的入侵检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107846392B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108684043A (zh) * | 2018-05-15 | 2018-10-19 | 南京邮电大学 | 基于最小风险的深度神经网络的异常用户检测方法 |
CN108769079A (zh) * | 2018-07-09 | 2018-11-06 | 四川大学 | 一种基于机器学习的Web入侵检测技术 |
CN108805208A (zh) * | 2018-06-13 | 2018-11-13 | 哈尔滨工业大学 | 一种基于无标签样本一致性判定的协同训练方法 |
CN108874927A (zh) * | 2018-05-31 | 2018-11-23 | 桂林电子科技大学 | 基于超图和随机森林的入侵检测方法 |
CN109684476A (zh) * | 2018-12-07 | 2019-04-26 | 中科恒运股份有限公司 | 一种文本分类方法、文本分类装置及终端设备 |
CN109818929A (zh) * | 2018-12-26 | 2019-05-28 | 天翼电子商务有限公司 | 基于主动自步学习的未知威胁感知方法、系统、存储介质、终端 |
CN109831460A (zh) * | 2019-03-27 | 2019-05-31 | 杭州师范大学 | 一种基于协同训练的Web攻击检测方法 |
CN110232082A (zh) * | 2019-06-13 | 2019-09-13 | 中国科学院新疆理化技术研究所 | 面向连续时空加油数据的异常检测方法 |
CN110247910A (zh) * | 2019-06-13 | 2019-09-17 | 深信服科技股份有限公司 | 一种异常流量的检测方法、系统及相关组件 |
CN110381065A (zh) * | 2019-07-23 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种协议破解监控方法、装置、服务器及存储介质 |
CN110727943A (zh) * | 2019-10-11 | 2020-01-24 | 中山职业技术学院 | 一种入侵检测方法及装置 |
CN110808945A (zh) * | 2019-09-11 | 2020-02-18 | 浙江大学 | 一种基于元学习的小样本场景下网络入侵检测方法 |
CN111600919A (zh) * | 2019-02-21 | 2020-08-28 | 北京金睛云华科技有限公司 | 基于人工智能的web检测方法和装置 |
CN111652286A (zh) * | 2020-05-09 | 2020-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种基于图嵌入的物体识别方法、设备及介质 |
CN113255879A (zh) * | 2021-01-13 | 2021-08-13 | 深延科技(北京)有限公司 | 一种深度学习标注方法、系统、计算机设备和存储介质 |
CN113934719A (zh) * | 2021-10-15 | 2022-01-14 | 吉林大学 | 基于d-n的工业互联网入侵检测数据集处理方法 |
CN114913380A (zh) * | 2022-06-15 | 2022-08-16 | 齐鲁工业大学 | 基于多核协同学习和深度信念网络的特征提取方法及系统 |
CN117725493A (zh) * | 2023-10-16 | 2024-03-19 | 中国矿业大学(北京) | 基于改进型Stacking融合模型的滑坡危险性结果评价方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160021120A1 (en) * | 2014-07-17 | 2016-01-21 | The Boeing Company | Dendritic cell algorithm module with inflammatory inter-node signaling |
-
2017
- 2017-08-25 CN CN201710743859.5A patent/CN107846392B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160021120A1 (en) * | 2014-07-17 | 2016-01-21 | The Boeing Company | Dendritic cell algorithm module with inflammatory inter-node signaling |
Non-Patent Citations (2)
Title |
---|
GAO NI等: "Intrusion detection model based on deep belief nets", 《JOURNAL OF SOUTHEAST UNIVERSITY (ENGLISH EDITION)》 * |
高妮等: "面向入侵检测系统的Deep Belief Nets模型", 《系统工程与电子技术》 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108684043A (zh) * | 2018-05-15 | 2018-10-19 | 南京邮电大学 | 基于最小风险的深度神经网络的异常用户检测方法 |
CN108874927A (zh) * | 2018-05-31 | 2018-11-23 | 桂林电子科技大学 | 基于超图和随机森林的入侵检测方法 |
CN108805208A (zh) * | 2018-06-13 | 2018-11-13 | 哈尔滨工业大学 | 一种基于无标签样本一致性判定的协同训练方法 |
CN108805208B (zh) * | 2018-06-13 | 2021-12-31 | 哈尔滨工业大学 | 一种基于无标签样本一致性判定的协同训练方法 |
CN108769079A (zh) * | 2018-07-09 | 2018-11-06 | 四川大学 | 一种基于机器学习的Web入侵检测技术 |
CN109684476A (zh) * | 2018-12-07 | 2019-04-26 | 中科恒运股份有限公司 | 一种文本分类方法、文本分类装置及终端设备 |
CN109684476B (zh) * | 2018-12-07 | 2023-10-17 | 中科恒运股份有限公司 | 一种文本分类方法、文本分类装置及终端设备 |
CN109818929A (zh) * | 2018-12-26 | 2019-05-28 | 天翼电子商务有限公司 | 基于主动自步学习的未知威胁感知方法、系统、存储介质、终端 |
CN111600919A (zh) * | 2019-02-21 | 2020-08-28 | 北京金睛云华科技有限公司 | 基于人工智能的web检测方法和装置 |
CN111600919B (zh) * | 2019-02-21 | 2023-04-07 | 北京金睛云华科技有限公司 | 智能网络应用防护系统模型的构建方法和装置 |
CN109831460A (zh) * | 2019-03-27 | 2019-05-31 | 杭州师范大学 | 一种基于协同训练的Web攻击检测方法 |
CN109831460B (zh) * | 2019-03-27 | 2021-03-16 | 杭州师范大学 | 一种基于协同训练的Web攻击检测方法 |
CN110247910B (zh) * | 2019-06-13 | 2022-08-09 | 深信服科技股份有限公司 | 一种异常流量的检测方法、系统及相关组件 |
CN110232082A (zh) * | 2019-06-13 | 2019-09-13 | 中国科学院新疆理化技术研究所 | 面向连续时空加油数据的异常检测方法 |
CN110247910A (zh) * | 2019-06-13 | 2019-09-17 | 深信服科技股份有限公司 | 一种异常流量的检测方法、系统及相关组件 |
CN110232082B (zh) * | 2019-06-13 | 2022-08-30 | 中国科学院新疆理化技术研究所 | 面向连续时空加油数据的异常检测方法 |
CN110381065A (zh) * | 2019-07-23 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种协议破解监控方法、装置、服务器及存储介质 |
CN110808945A (zh) * | 2019-09-11 | 2020-02-18 | 浙江大学 | 一种基于元学习的小样本场景下网络入侵检测方法 |
CN110727943B (zh) * | 2019-10-11 | 2022-08-16 | 中山职业技术学院 | 一种入侵检测方法及装置 |
CN110727943A (zh) * | 2019-10-11 | 2020-01-24 | 中山职业技术学院 | 一种入侵检测方法及装置 |
CN111652286A (zh) * | 2020-05-09 | 2020-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种基于图嵌入的物体识别方法、设备及介质 |
CN113255879A (zh) * | 2021-01-13 | 2021-08-13 | 深延科技(北京)有限公司 | 一种深度学习标注方法、系统、计算机设备和存储介质 |
CN113255879B (zh) * | 2021-01-13 | 2024-05-24 | 深延科技(北京)有限公司 | 一种深度学习标注方法、系统、计算机设备和存储介质 |
CN113934719A (zh) * | 2021-10-15 | 2022-01-14 | 吉林大学 | 基于d-n的工业互联网入侵检测数据集处理方法 |
CN113934719B (zh) * | 2021-10-15 | 2024-04-19 | 吉林大学 | 基于d-n的工业互联网入侵检测数据集处理方法 |
CN114913380A (zh) * | 2022-06-15 | 2022-08-16 | 齐鲁工业大学 | 基于多核协同学习和深度信念网络的特征提取方法及系统 |
CN117725493A (zh) * | 2023-10-16 | 2024-03-19 | 中国矿业大学(北京) | 基于改进型Stacking融合模型的滑坡危险性结果评价方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107846392B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107846392A (zh) | 一种基于改进协同训练‑adbn的入侵检测算法 | |
Dong et al. | An Intrusion Detection Model for Wireless Sensor Network Based on Information Gain Ratio and Bagging Algorithm. | |
CN102647292B (zh) | 一种基于半监督神经网络模型的入侵检测方法 | |
CN105589806B (zh) | 一种基于SMOTE+Boosting算法的软件缺陷倾向预测方法 | |
CN104598813B (zh) | 一种基于集成学习和半监督svm的计算机入侵检测方法 | |
CN111126820B (zh) | 反窃电方法及系统 | |
CN110232280A (zh) | 一种基于树结构卷积神经网络的软件安全漏洞检测方法 | |
CN110135167A (zh) | 一种随机森林的边缘计算终端安全等级评估方法 | |
CN111008337B (zh) | 一种基于三元特征的深度注意力谣言鉴别方法及装置 | |
CN102789593A (zh) | 基于增量式ghsom神经网络的入侵检测方法 | |
CN106817248A (zh) | 一种apt攻击检测方法 | |
CN102571486A (zh) | 一种基于BoW模型和统计特征的流量识别方法 | |
CN111598179B (zh) | 电力监控系统用户异常行为分析方法、存储介质和设备 | |
CN107819698A (zh) | 一种基于半监督学习的网络流量分类方法、计算机设备 | |
CN110247910A (zh) | 一种异常流量的检测方法、系统及相关组件 | |
CN110225055A (zh) | 一种基于knn半监督学习模型的网络流量异常检测方法与系统 | |
CN111047173B (zh) | 基于改进d-s证据理论的社团可信度评估方法 | |
CN104881735A (zh) | 用于支撑智慧城市运行管理的智能电网大数据挖掘系统及方法 | |
CN114707571B (zh) | 基于增强隔离森林的信用数据异常检测方法 | |
CN107895171A (zh) | 一种基于k均值与深度置信网络的入侵检测方法 | |
CN110287985B (zh) | 一种基于带变异粒子群算法的可变拓扑结构的深度神经网络图像识别方法 | |
US20240190442A1 (en) | Complex network-based complex environment model, cognition system, and cognition method of autonomous vehicle | |
CN109214444B (zh) | 基于孪生神经网络和gmm的游戏防沉迷判定系统及方法 | |
CN110493262A (zh) | 一种改进分类的网络攻击检测方法及系统 | |
CN109783629A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |