基于线性递减权重粒子群算法优化Xgboost模型方法技术

技术编号:23318351 阅读:19 留言:0更新日期:2020-02-11 18:57
本发明专利技术提供一种基于线性递减权重粒子群算法优化Xgboost模型方法,通过分析Xgboost模型参数的含义,选取了对模型影响较大的4个参数进行优化,并将优化后的模型应用于NSL‑KDD数据集中,在一定程度上可以找出较优参数,从而提高入侵检测的准确率,通过本发明专利技术线性递减权重粒子群优化参数后的Xgboost模型应用于NSL‑KDD测试集数据,能够有效的优化Xgboost模型参数,提升模型的性能。

Optimization of xgboost model based on linear decreasing weight particle swarm optimization

【技术实现步骤摘要】
基于线性递减权重粒子群算法优化Xgboost模型方法
本专利技术涉及网络入侵检测领域,具体是一种基于线性递减权重粒子群算法优化Xgboost模型方法。
技术介绍
近年来随着计算机技术、大数据技术的发展,网络空间的规模呈现大幅度地增长,一系列网络安全问题也随之产生。网络入侵检测领域一直是学术界和工业界关注的重点,网络入侵检测的方法是将入侵行为转换为分类和识别的问题,通过有效的算法来准确的识别其攻击类型使得入侵检测系统能够更好地应对攻击。随着机器学习技术的日渐成熟,相关领域的学者已成功将其应用于网络入侵检测中,但是识别的准确率还有待提升。Xgboost模型是集成学习算法中的一种,将Xgboost模型应用于网络入侵检测数据集NSL-KDD中,识别的效果很大程度上取决于参数的选择。如果使用默认的参数,虽然取得的效果还不错,但是还有很大提升的空间,Xgboost模型由于其参数数量较多,人工进行调参的工作量巨大。目前机器学习模型的参数往往是根据人们的经验来进行调整,参数可调整的局限性较大,当参数数量较多时,人工调参基本是不太可行的方案。现有使用较多的一种优化参数的方法是网格搜索,该方法通过对所有的参数组合进行穷举来寻找效果最佳的参数组合,但是非常耗时,并且最后搜索的参数是预先指定的。本申请的专利技术人在实现本专利技术的过程中经过研究发现:线性递减权重粒子群优化(LinearDecrementWeightParticleSwarmOptimization,LDWPSO)算法采用群体智能策略,在基本粒子群算法(ParticleSwarmOptimization,PSO)的基础上引入惯性权重因子,在搜索空间内具有的良好的搜索能力和更快的收敛速度,因此本专利技术提出了使用线性递减权重粒子群优化算法去自适应地优化Xgboost模型的参数,并将其应用于网络入侵检测领域中,使模型能够取得更好的识别和分类的效果。线性递减权重粒子群算法LDWPSO:Vid=ωVid+C1random(0,1)(Pid-Xid)+C2random(0,1)(Pgd-Xid)Xid=Xid+Vid其中C1和C2分别为个体和社会学习因子,Pid为第i个粒子个体极值的第d维,Pgd为全局最优解的第d维,ω为非负的惯性因子,其中iter为最大迭代次数,iteri为当前迭代次数,ωmax为ω的最大值,ωmin为ω的最小值。Xgboost算法:Xgboost模型共包含三大类参数,其主要的参数及其解释如下:eta:学习率,通过减少每一步的权重,可以提高模型的稳定性。通过设置eta可以过拟合;min_child_weight:最小叶子节点权重和,如果在一次分裂中,叶子节点上所有样本的权重和小于min_child_weight则停止分裂,能够有效的防止过拟合,防止学到特殊样本;max_depth:最大树深度,防止树模型过于复杂;max_leaf_nodes:树上叶子节点数;gamma:惩罚项和叶子节点结合的项;subsample:每棵树随机采样的样本的比例,减小这个参数的值,算法会更加保守,避免过拟合。如果值设置得过小,也可能会导致欠拟合;colsample_bytree:用来控制每棵随机采样的列数的占比;lambda:权重的L2正则化项;alpha:权重的L1正则化项;objective:定义损失函数;其算法原理公式如下所示:其中obj(t)表示Xgboost模型第t轮的目标函数,其中l表示第t轮的损失项,constant表示常数项,Ω表示模型的正则项,γ和λ都是Xgboost自定义参数。
技术实现思路
本专利技术的目的是为了解决在网络入侵检测中使用机器学习模型人工调参工作量大的问题,提出了一种基于线性递减权重粒子群算法优化Xgboost模型方法,本专利技术分析了Xgboost模型参数的含义,选取了对模型影响较大的4个参数进行优化,并将优化后的模型应用于NSL-KDD数据集中。一种基于线性递减权重粒子群算法优化Xgboost模型方法,包括:步骤一:选取对Xgboost模型影响较大的4个参数,分别为学习率eta、最大树深度max_depth、最小叶子节点权重和min_child_weight以及gamma值,根据要优化的参数数量确定粒子的维度为4,并初始化每个粒子的位置和速度;步骤二:根据下面等式来更新每个粒子的速度Vid和位置Xid:Vid=ωVid+C1random(0,1)(Pid-Xid)+C2random(0,1)(Pgd-Xid)(1)Xid=Xid+Vid(2)其中C1和C2分别为个体和社会学习因子,Pid为第i个粒子个体极值的第d维,Pgd为全局最优解的第d维;并根据下面等式对惯性权重因子ω进行变换:其中ω为非负的惯性权重因子,iter为最大迭代次数,iteri为当前迭代次数,ωmax为ω的最大值,ωmin为ω的最小值;步骤三:将粒子的新位置作为参数并赋值给Xgboost模型并计算验证集上的适应度值,然后将新的适应度值与之前进行比较来确定哪些粒子的个体最优值需要进行更新,并更新全局最优值;步骤四:线性递减权重粒子群算法进行迭代并且在满足最大迭代次数或收敛时终止,得到算法的最优适应度值和对应的最优位置,并且最优位置的4个分量分别对应eta、max_depth、min_child_weight和gamma四个参数,然后使用四个最优参数值来构造LDWPSO-Xgboost模型,并将其通过网络入侵数据集NSL-KDD拟合后,应用到测试集上,计算在测试集上的各项指标。进一步的,所述步骤二具体为:在4维搜索空间中,某时刻t,第i个粒子的位置为Xi(t)=[Xi1,Xi2,Xi3,Xi4],将Xi1到Xi4分别赋值给eta、max_depth、min_child_weight和gamma四个参数,并根据PR曲线面积指标计算第i个粒子此参数下模型的适应度值Fi(t);在t+1时刻,对第i个粒子的4个维度均进行速度分量的生成,速度分量中采用随机数的方式保证随机性,粒子添加速度分量后的位置可表示为Xi(t+1)=[Xi1+Vi1,Xi2+Vi2,Xi3+Vi3,Xi4+Vi4],并计算第i个粒子新的适应度值Fi(t+1),如果Fi(t+1)>Fi(t),则更新第i个粒子的个体最优值;对所有的粒子均进行相同的操作,并从所有粒子中找出使适应度值最大所对应最优的参数,一旦某个粒子所计算的适应度值最大,则其他的粒子朝着该粒子的位置移动。进一步的,所述步骤三具体为:第i个粒子在t时刻的适应度值为Fi(t),并且其个体最优适应度值为Pi(t),粒子群的全局最优适应度值为Gt,若Fi(t)≤Pi(t),则t时刻不对该粒子的个体最优值和全局最优进行更新;在t+1时刻,更新第i个粒子的位置后,计算出来新的适应度值为F本文档来自技高网
...

【技术保护点】
1.一种基于线性递减权重粒子群算法优化Xgboost模型方法,其特征在于:包括/n步骤一:选取对Xgboost模型影响较大的4个参数,分别为学习率eta、最大树深度max_depth、最小叶子节点权重和min_child_weight以及gamma值,根据要优化的参数数量确定粒子的维度为4,并初始化每个粒子的位置和速度;/n步骤二:根据下面等式来更新每个粒子的速度V

【技术特征摘要】
1.一种基于线性递减权重粒子群算法优化Xgboost模型方法,其特征在于:包括
步骤一:选取对Xgboost模型影响较大的4个参数,分别为学习率eta、最大树深度max_depth、最小叶子节点权重和min_child_weight以及gamma值,根据要优化的参数数量确定粒子的维度为4,并初始化每个粒子的位置和速度;
步骤二:根据下面等式来更新每个粒子的速度Vid和位置Xid:
Vid=ωVid+C1random(0,1)(Pid-Xid)+C2random(0,1)(Pgd-Xid)(1)
Xid=Xid+Vid(2)
其中C1和C2分别为个体和社会学习因子,Pid为第i个粒子个体极值的第d维,Pgd为全局最优解的第d维;
并根据下面等式对惯性权重因子ω进行变换:



其中ω为非负的惯性权重因子,iter为最大迭代次数,iteri为当前迭代次数,ωmax为ω的最大值,ωmin为ω的最小值;
步骤三:将粒子的新位置作为参数并赋值给Xgboost模型并计算验证集上的适应度值,然后将新的适应度值与之前进行比较来确定哪些粒子的个体最优值需要进行更新,并更新全局最优值;
步骤四:线性递减权重粒子群算法进行迭代并且在满足最大迭代次数或收敛时终止,得到算法的最优适应度值和对应的最优位置,并且最优位置的4个分量分别对应eta、max_depth、min_child_weight和gamma四个参数,然后使用四个最优参数值来构造LDWPSO-Xgboost模型,并将其通过网络入侵数据集NSL-KDD拟合后,应用到测试集上,计算在测试集上的各项指标。


2.如权利要求1所述的基于线性递减权重粒子群算法优化Xgboost模型方法,其特征在于:所述步骤二具体为:
在4维搜索空间中,某时刻t,第i个粒子的位置为
Xi(t)=[Xi1,Xi2,Xi3,Xi4],
将Xi1到Xi4分别赋值给eta、max_depth、min_...

【专利技术属性】
技术研发人员:王晋刘畅喻潇舒欣杜丰夷徐江珮周亮王文娜杜仙
申请(专利权)人:国网湖北省电力有限公司电力科学研究院国家电网有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1