第23卷第1期重庆科技学院学报(自然科学版)2021年2月基于ABC、XGBoost与迁移学习的入侵检测方法
黄清兰游贵荣
(福建商学院信息技术中心,福州350012)
摘要:传统的入侵检测机器学习算法,面对有差异的新旧数据尤其是未知的攻击行为,会出现检测准确率较低、漏检率较高的问题。为此,提出了一种将人工蜂(ABC)算法、XGBoost模型与迁移学习相结合的ABC-XGBTri算法。首先通过使用少量有标签的新数据训练初始分类模型,然后将有标签的旧数据中分类正确的部分与少量有标签的新数据合并,用于训练新的迁移分类模型,最终用来检测未使用的新数据。迁移分类模型中的分类算法使用XGBoost,并利用人工蜂算法优化XG-Boost的参数。采用NSL-KDD数据集进行了测试,结果表明,这种方法比现有的一些经典集成学习算法具有更高的检测准确率。
关键词:网络安全;入侵检测;XGBoost;人工蜂算法;迁移学习
中图分类号:TP393文献标识码:A文章编号:1673-1980(2021)01-0087-04
事先防范,主动检测,对于保证计算机网络信息安全具有重要意义。机器学习能够进行主动检测防御,已经被广泛应用于入侵检测领域,如对恶意程序的检测,对数据库用户异常行为的检测,对Web用户异常行为的检测,等。传统的机器学习算法在训练和挖掘数据时有一个假设,就是训练和测试的数据有相同的特
征空间且分布一致。但在实际应用场景中,训练使用的数据与测试的数据往往存在差异&据分一致的,检的攻行为时训练数据不多,因此会导致检测准确率低、漏检率高的问题。针对这个问题,现提出一种基于人工蜂(ABC)算法、极端梯度提升(XGBoost)模型与迁移学习的入侵检测方法,结合利用XGBoost和迁移学习,构建简单迁移分类模型,然后通过ABC自适应搜索适用于迁移分类模型的XGBoost最佳参数。这是一种混合算法,我们将它叫作“ABC-XGBTO”。
1算法基础
1■〔人工蜂算法
人工蜂算法(Aoificial bea colony algorithm)是通过模拟蜂采蜜的集体行为来求解优化问题。相对于遗传算法和粒子优化算法(PSO)而言,人工蜂算法更容易跳出局部最优,求解质量优势较为明显’其求解过程[1]如下:
(1"初始化阶段。初始化种SN个都是侦查蜂,随机地去搜索蜜源,搜索到的每个蜜源都是求解问题空间中的一个可行解o假设所求解问题的维度为L,每个可行解可表示为G=[O-,0,2,0,3,…,+'G初始化依据式(1)产生。
G==+rand(0,1)(?-=)(1)式中込和?分别表示第/维搜索空间的下限和上限&门,2,…,SN/;j&j1,2,…,m}。
每个蜜源的适应值评估函数fit,,按式(2)计算。
f;1fun t>0
.=1+屁(2)
1+1/A,-I f un-s0
式中:允,t表示问题解的目标函数值。
(2"迭代阶段。雇佣蜂和跟随蜂在领域搜索时,依据(3)进行蜜索。
Z3=O3+0(O3-°,)(3)式中:0&*-1,1];,&j1,2,2,SN},T5t。
依据式(4)计算每个蜜源的概率Y,跟随蜂根据概率Y选择优质蜜源进行领域开发。
收稿日期:2020-09-01
基金项目:福建省中青年教师教育科研项目“基于校园访问日志的入侵检测方法研究”(JA T190499)
作者简介:黄清兰(1988—),女,硕士,初级工程师,研究方向为数据挖掘。
-
87-
黄清兰,等:基于ABC -XGBoost 与迁移学习的入侵检测方法
在跟随蜂完成领域搜索后,若蜜源开采次数已 达一定极限而仍未到更好的蜜源,该蜜源就会被
舍弃,对应蜜源的雇佣蜂就转为侦查蜂。侦查蜂依
据式(1)进行随机搜索,产生新的蜜源。
1.3 XGBoosr 模型
XGBoost 是一个优化的分布式梯度增强库,该
模型就是建立一堆累加的分类与回归树[2]o 假设有 n 个样本和m 个特征的样本集D = .(x m ,y t ) \ x m &
R",P & M ,其模型预测值为:
P =":=丘(O ),. & F
(5)
式中:P 为预测值;$为树的棵数;F 为所有分类与回
归树的集合力为具体的一棵树。
模型的目标函数为:
l ())= " i i ( p m ,p i + " :#
q (
. (6)
式中:)=..,.,…,e ;指损失函数;i 指正则化项。
目标函数包含2个部分,即损失函数和正则化
项。第一部分的自身损失函数使用泰勒式展开,使用
一阶导数和二阶导数进行优化,以提高速度和准确
率。在第t 步迭代优化目标函数时,在现有t —1棵树
基础上添加1棵最优化的工,损失函数变为:
":=[lp ,p a = " I t^(p(t_1) ,7," + gS +
:hi e (o "
]
(7"
式中:g i 为损失函数的一阶导数;h i 为损失函数的二
阶导数’
第二部分是正则化函数,通过正则化惩罚项来
降低过拟合的风险。正则化函数为:
1(f ) =yT )2'W 2
(*)
式中:T 为每棵树叶子节点的个数;
w 为叶子权重;%
与'为惩罚系数。1.3迁移学习
迁移学习是从数据、任务的相似性出发,从已学
习的相关任务中转移知识,用以改进学习的新任
务迁移学习涉及的两个主要概念就是域和任 务。域是由特征空间和概率分布组成,任务是由标
签空间和预测函数组成。迁移学习主要分为3种, 即归纳式迁移学习、直推式迁移学习和无监督迁移
学习。归纳式迁移学习是近几年研究的热点,它是
在假设数据特征空间和标签空间一致而边缘概率分 布不一致的情况下,优化目标预测函数的学习。
Dai 等人提出的基于实例的归纳式迁移学习技
术即TrAdaBoost 算法⑷,是假设数据源域和目标域
的特征和标签一致而数据分布不一致,给数据源域
和目标域的每一个样例设置一个权重。目标域的权 重更新策略与AdaBoost 算法一样,若目标域中的样
本被错误分类了,就加大该样例的权重;源域的样本
权重更新策略与之相反,若数据源域中的样本被错
误分类了,就认为这个样例对于目标域是不同的,便
降低该样例在样本中所占的权重。
2算法设计
设源域 C S = . (O ,p ) \ O & M ,7i & R\,目标
域C t = ! (O ,i ) \ O & M ,7 & R\,源域的边缘概
率分布P (C )与目标域的边缘概率分布P (C )不
一致。首先,从目标域C t 中随机抽取少量有标签的
数据 C d 。C d = .(O ,i ) \ (O ,i ) & C t , \ C d 16
I C t \ 61 C $ \ o 使用XGBoost 算法对C d 进行训
练,建立初始模型,用以检测源域C s '若源域中的 样本被错误地分类了,就认为这个样例对于目标域 是不同的⑷,并使用人工蜂算法优化XGBoost 模
型参数’然后,将源域中分类正确的样本进行迁移, 与C d 构成新的特征集,并使用XGBoost 算法对这些 新的特征集进行训练,得到迁移分类模型’其中的
XGBoost 算法参数,以初始XGBoost 模型所优化过
的参数进行初始化设置’算法流程如图1所示’
机器学习中常见的分类问题评估指标,有准确
率、精确率、召回率、Fl - score 、ROC 曲线'我们选
择常用的准确率、F1 - score 作为评测指标’ABC -
XGBTrl 算法实现的伪代码如下:
输入:样本集C d -C s -C t ,蜂个数SN ,最大迭
代次数T my ,优化参数个数m
for 0 = 1 to m do
初始化优化参数上限(U 1 ,u ,…,U 0; 初始化优化参数下限(厶,=2,…丄0 ;end
初始化蜜源抛弃上界T imit 二mund (0.6 7 SN 7
m );
for i = 1 to SN do
按式(1)初始化所优化XGBoost 参数蜜源位
置 X i 二(,X i 2,…,°im );
通过X m 初始化XGBoost 参数;
利用XGBoost 算法训练C d ,预氷U C s 结果,计
算 F1 - score 值.叫;
依据式(2)计算.;
end
依据式(4),记录当前的最优蜜源位置;
・**・
黄清兰,等:基于ABC -XGBoosf 与迁移学习的入侵检测方法
f O
g 二
1 tO T max do
执行雇佣蜂和跟随蜂的搜索步骤,开拓新的
蜜源G ;
if 蜜源采蜜次数〉T umi then
执行侦查蜂步骤,开拓新的蜜源G ;end end
使用优化过最佳蜜源初始化XGBoosf 参数; 已初始化参数的XGBoosf 算法训练C d ,预测D s
结果;
记录预测D s 结果中预测正确的样本C's ;
令 C train = C d UC 's ;已初始 XGBoosf 算法训练C ym ,得到训练好的迁移分类模型;
令 C tet =D t -D d ;
用训练好的迁移分类模型预测Cet ,计算评估
指标F1 - scar-值.、准确率acc ;
输出:f 1 ,acc °
最优参数
A
B C
算法
图1 ABC-XGBTi 算法实现流程
3算法实验与结果分析
使用Pyth o n 语言编程进行实验,XGBoost 算法使 用的是XGBoosf-0.82 。对照
,使用在机器
学 scikit - leaf 中已实现的经典集成学习算法。
用基准NSL - KDD 数据集。
据集KD-
Drain 和测试数据集KDDtesf &数据分
一致*5+
,拥
同的
和标签 ,符合算法的假设条
件。将KDDtrain 作为源域,KDDtet 作为目标域。在
随机种子数一样的情况下,进行3
o
第一
,使用的目标域数据样本量比例由
0.1%扩大到1.2%; XGBoosf 算
一使用默认值,其中主要
合 1
°在使用人
工蜂算法进行 的情况下,迁 分类
的
2 °
由图2可知,在不同的迁移样本量比例下,F1分 值存在波动。在目标域样本
比为0.8%的时
候,性能最好,F1分数为0.886 1,准确率为0.886 5°
参数名
默认值最佳值
学习率0.1
0.1最小叶子权重11树的最大深度
35
基学习器个数100
216
惩罚项系数
00.69样本采样率
10.39
率
1
0.4
第二 ,使用的目标域样本 比为
0.8%;经ABC 算法调参后,XGBoosf 最佳
合
如表1
°使用ABC - XGBTrt 算法,经过100次迭代,F1分数为0.904 4,准确率为0.905°与第一
果相比,这两项指标分别提高了 2. 065%、
2.087%°
・89
・
黄清兰,等:基于ABC -XGBoost 与迁移学习的入侵检测方法
第三组实验,与XGBoost 、Bagging (装袋)、Ada
Boost (自适应增强)、RandomForest (随机森林)、Ex- twTwes (极随机树)等算法进行对照
。实验
结果 3 o 与其他几种算 比,ABC-XG-
BTO 算法的F1分数和准确率都是最高的,说明其
性能更优。
图3 ABC-XGBTri 算法与对照 的性能比较
4
的机器学习算法用于入侵检测,面 新旧
据的 ,尤其 面
正则化损失函数的攻击行为时,检测
准 低,漏检率较高。将XGBoost 模型和迁移
学 合,构建简单迁移分类 ,然
过人工
蜂算 择XGBoost 最佳 ,用 迁移分类 ,可以有效提高检测准 、降低漏检率。采
用NSL - KDD 数据集进行测试,结果 ,与现有
的经典集成学习算
比, 的ABC - XGBTO
算法,在准确率和F1分数这两项指标上都提高了
近 12% o
参考文献
% 1]赵旭芳,梁昔明•改进的人工蜂算法及其在参数优化
中的应用%J ].计算机仿真,2019,36(9) :320 -325.
% 2 ] CHEN T Q , GUESTRIN C. XGBoost : A Scalabie Tree
Boosting System % C ] //Pwceedings of the 22nd ACM Sigkdd
Internationai Conference on Knowledge Discaveo and Data
Mining , 2016: 785 - 794. DOI : 10. 1145/2939672.
2939785.
%3] PAN S J , YANG Q. A Suoey on Transfer Learning % J ].
IEEE Transactions on Knowledge and Data Engineering , 2010,22(10) : 1345 -1359.
%4] DAI W Y , YANG Q ,XUE G R ,et ai. Boosting for transfer
learning % C ] //Proceedings of the 24th Internationai Confer
ence on Machine Learning , 2007 : 193 - 200. DOI : 10.
1145/1273496.1273521.
%5]胡健,苏永东,黄文载,等.基于互信息加权集成迁移学
习的入侵检测方法% J ] •计算机应用,2019,39 ( 11):
3310 -3315.
Network Intrrsion Detection Method Based on ABC ( XGBoost and
Transfer Learning
8?4NG Qirtglan Y0? Guirong
(Information Technology Center ,Fujian Business University ,Fuzhou 350012,China)
Abstraci : Traditionai machine learning algorithms for intrusion detection ,faced with diferent new and old data ,es-
pecialiy the unknown Stack behavior ,have the problems of low detection accuraco and high rate of missed detec
tion. An ABC - XGBTri algorithm combining artificiai bee colony ( ABC ) algorithm ,XGBoost model and tranter learning is proposed. Firstly the initiai classification model is trained with a smali amount of labeled new data. Then
the new migration Oassification model is trained with the old data with correct classification merging with the used
new dta. Lastiy a simpie migration classification model is buiit to detect the unused new dta. In the whoie migra
tion classification model ,the classification algorithm is XGBoost and artificiai bee colony algorithm is adopted to op timize the parameten of XGBoost. The NSL - KDD data set is used to expeTinient , ad the results show that the po- posed detection method has higher detection accuraco than the existing classicai ensembie learning algorithms .
Key woris : net/ork security ; intrusion detection ; XGBoost ; artificiai bee colony algorithm ; transfer learning
・90
・
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论