基于贝叶斯优化LightGBM的物联网入侵检测模型*
2022-10-16刘俊泽汤艳君薛秋爽中国刑事警察学院
刘俊泽 汤艳君 薛秋爽 中国刑事警察学院
引言
物联网的蓬勃发展给日常生活与诸多领域带来了许多便利。然而,由于物联网尚处于脆弱的发展前期和安全攻击事件的不断发生,导致使用者的隐私和数据安全威胁日益增加。物联网设备会产生大量流量数据,建立高效精准的入侵检测模型对于保护这些隐私数据来说至关重要。
许多传统机器学习方法,如支持向量机、K近邻等被应用于物联网入侵检测中。但支持向量机的分类性能受内部参数影响大,K近邻的分类效率低,单个弱分类器应用于大规模训练样本时计算速度慢,精度不够高,不能满足入侵检测的实时性要求。集成学习的出现很好解决了单个弱分类器分类精度与速度的问题,LightGBM是集成学习的一种,是梯度提升决策树的高效实现。但其超参数有很多,不同的超参数组合会对最终模型的性能产生很大影响。因此应用LightGBM算法时需考虑超参数的选取。
本文提出基于贝叶斯优化集成学习算法LightGBM的物联网入侵检测模型,根据贝叶斯优化思想设计了超参数寻优的过程,进而实现LightGBM算法的优化。对模型进行训练测试后,得到的结果与其他机器学习模型进行对比,得出最终结论。
一、基于贝叶斯优化LightGBM的入侵检测模型
所提用于物联网入侵检测的贝叶斯优化LightGBM模型如图1所示,所用的数据集为真实物联网入侵检测数据集,物联网网络层的特征和攻击类型与互联网有一些差异,因此选择物联网真实数据集来训练模型,使其更能符合真实物联网的需求。
图1 基于贝叶斯优化LightGBM的物联网入侵检测模型
由于LightGBM模型的参数众多,且参数的选择对模型性能的影响很大,因此需对LightGBM的参数寻优。将预处理后的数据7:3分为训练与测试数据,将训练数据输入到参数寻优模块中,通过定义目标函数、确定搜索空间、选择搜索算法与保存最优参数来获得使训练集准确率最优的参数,最后将最优参数带入测试数据进行测试,进行十分类预测,获得预测正常流量和每种攻击的精确率,进而验证模型性能。下一节将对参数寻优方法的每个步骤进行详细说明。
二、参数寻优过程
贝叶斯优化(Bayesian)是基于历史验证结果来决策模型下一次迭代参数的选择,这个迭代过程远远低于随机搜索的迭代次数,这样的好处是在保证建模时间短的同时更好的提升在测试集上的泛化性能,进而提升模型稳定性与准确率。其核心思想是:构建一个初始模型,然后根据后续的结果来进行优化。因为随着数据的积累,优化函数会离真正的目标函数越来越接近,从而得到最优解。
本文根据贝叶斯优化思想设计了对LightGBM的超参数优化过程,首先输入初始超参数,计算得出首轮目标函数值后,训练并通过高斯搜索算法得出下一组超参数值,再次带入计算目标函数值。在设定的迭代次数内通过多次迭代来实现对目标函数最小值的搜索,定义的目标函数需与训练集准确率呈反比关系,因此迭代过程中目标函数最小值的对应参数,即为最佳模型性能的超参数最优解,将其带入模型中进行训练即可得到最优模型。
基于Hyperopt框架的贝叶斯优化过程设计主要可分为四个部分:
图2 本文贝叶斯优化流程图
①定义目标函数:以超参数作为输入,通过计算返回一个数值;
②确定搜索空间:给定的超参数搜索空间;
③选择搜索算法:用来构建下一次迭代参数值的方法;
④获取最优参数:保存优化过程中的最优超参数。
(一)定义目标函数
第一步先构建一个以超参数作为输入,输出用于梯度下降的函数。由于在Hyperopt框架中的目标函数必须返回一个需要减小的单数值,算法通过对该目标值求最小值的过程,来实现参数优化,当目标函数的值为最小值时,此时的模型性能最好。在模型中引入了交叉熵损失函数作为参数寻优的目标函数,交叉熵损失函数可以精确表现出在多分类中模型的性能指标,损失函数的值越低,则模型的性能越好,其公式如下:
式中概率分布p为期望输出,概率分布q为实际输出,H(p,q)为交叉熵。
目标函数对于整个调参的结果有着举足轻重的影响,其能否收敛到最小值关系到整个优化过程是否得到最优的模型参数。
(二)确定搜索空间
在Hyperopt中制定搜索空间与使用网格搜索(Grid Search)方式不同。在Hyperopt和其他贝叶斯优化框架中,搜索空间不是预先规定好的列表,而是每个超参数的概率分布。对于每个超参数,参数数量的上下限设置与网格搜索(Grid Search)并无区别,但参数的间隔不再设置,而是声明每个超参数的概率。以学习率(Learning Rate)为例子,使用Log-Uniform空间定义学习率区间在0.001到0.5。Hyperopt能够使得空间在0.001~0.05到0.01~0.5的数量概率一样,使得其能有一样的概率被选中,这对于搜索在分布上跨度较大的超参数提升很大。
在Hyperopt中可以使用条件声明来制定超参数间的依赖情况。主要对八个参数进行搜索,以达到寻优的目的,具体参数空间定义如表1所示。
表1 搜索空间定义
其中搜索空间定义方式有三种,分别为uniform、loguniform和choice。其中uniform表示变量在最小值和最大值之间均匀分布;log-uniform表示变量在exp(最小值)和exp(最大值)之间均匀分布;choice表示返回一个选项,选项可以是列表或者嵌套的表达式。
(三)选择搜索算法
根据模型选择最佳的搜索算法,根据返回的目标函数来选择下一轮迭代的超参数,在Hyperopt框架中支持三种搜索算法,分别是随机搜索算法、模拟退火算法和高斯算法。选择高斯算法作为搜索算法,其公式如下:
其中∑为协方差矩阵, ∑ 为协方差矩阵的行列式,u为x的平均值。
在LightGBM中不同的超参数组合会使模型的最终预测结果产生很大的变化。由于LightGBM模型具有的超参数较多,对模型进行调参会对性能提升很大,需搜索出能使模型性能更佳的超参数。在整个模型运行第一阶段需要将初始参数输入到模型中,在LightGBM中多分类与二分类的参数设置有所差异,由于目标为十分类,具体的初始参数设置如表2所示。
表2 模型参数设置
将预处理好的数据集输入模型后便开始参数寻优,在参数寻优的过程中,伴随着迭代次数增加,贝叶斯算法会根据上一次的loss值来确定下次带入的参数,从而确定最优参数值。图3为训练集准确率随迭代次数的增加而变化值,可以看出,在迭代次数为22次时,算法得到了最优参数,此时的训练集准确率达到99.99%。之后准确率一直在波动,直到50轮迭代终止。
图3 参数寻优过程中的训练集准确率
图4为训练集损失函数随迭代次数的变化,在迭代次数为22轮时,训练集loss降到了局部最低值,此时的训练集loss值为1.461。
图4 训练集loss随迭代次数变化
(四)保存最优参数
对LightGBM进行超参数搜索后得到最优参数,模型记录此时参数,保存为最优参数。Hyperopt内部可以保存最终模型参数,如首次效果不佳,可将首次获得的优化参数二次迭代到优化模型中,第二次得出的最优参数模型性能会大大提升,且在总轮数相同的条件下,分两次迭代比单次迭代所耗用的时间更短。
三、仿真分析
(一)实验背景
选取由新南威尔士大学实验室近期开发,专用于物联网安全的数据集TON_IoT。TON_IoT是新一代物联网(IoT)和工业4.0物联网(IIoT)数据集,用于评估基于人工智能的不同网络安全应用的保真度和效率,即机器学习或者深度学习算法。数据集可以从新南威尔士大学网站下载,选取数据集中的TON_IoT_Network来验证提出模型性能指标,以测试其在真实物联网流量数据中的可靠性。
TON_IoT_Network数据集中包含了44个网络数据特征与10个数据类型标签,根据开发者建议,删除源和目标的ip地址和端口相关特征后,有效特征有38个,可分为六大类,分别是连接特征、统计特征、DNS特征、SSL特征、HTTP特征与违规特征,所有特征数据都是在真实的物联网环境下获取的,数据集从整个网络数据集中选择了461043条记录,包括所有攻击和正常事件。这些记录可用于应用多种的机器学习模型,且已经平衡化处理,与原始数据集相比可以显著提高模型训练后的性能。该数据集的标签共有十个类别,其中包含一个正常流量和九个攻击类型,目标是将数据集进行十分类,使模型不仅能分辨出正常流量数据与攻击流量数据,而且还要分辨出每一类的攻击类型。
表3 TON_loT_Network标签统计
(二)实验过程
1. 训练与测试
参数设置为优化后的最优参数,如表4所示。
表4 模型参数设置
将最优参数带入至模型中进行训练,LightGBM的训练过程可以解释为梯度提升树,图5表示了参数设置树的数量为100时,随着树的提升,训练集与测试集多分类的损失函数值的共同变化,且逐渐达到收敛过程。
图5 最优参数L ightGBM的训练过程
2. 特征重要性评估
最后利用LightGBM模型对特征重要性进行评估,为方便表述,在数据预处理阶段需对特征进行编号,具体编号情况在上述特征表格中。图6为根据LightGBM得到的最终特征贡献度,可以看出特征0(流标识符之间连接的时间戳)对最终预测结果的贡献最大,其余特征的影响度可以在图中表示,后续可以根据特征结果再对特征进行处理,以达到最优结果。
图6 特征重要性评分
(三)模型对比分析
TON_IoT_Network为物联网网络层数据集,将数据集以7:3划分为训练集与测试集。由于其是在真实物联网环境中测得,使用该数据集更能显示出模型在真实物联网环境中的检测性能。LightGBM参数较多,且不同参数会对模型造成不同影响,模型参数为贝叶斯优化后搜索的最优值,模型的参数设置如表4,其余未提到的为默认值。
将经过预处理与特征处理的训练集和测试集数据,输入到多个机器学习模型训练,结果详见表5。
表5 多种机器学习算法在TON_loT_Network数据集上的指标结果
从表5中可以看到,当输入数据集为TON_IoT_Network时,采用的贝叶斯+LightGBM模型在训练集和测试集上相对于其他模型的准确率都要高,训练集多分类准确率达到99.99%,测试集多分类准确率达到99.97%,并且误报率也能保持在相对较低水平。
采用ROC-AUC曲线对贝叶斯+LightGBM模型进行客观评价。ROC曲线越靠近左上角(TPR=1,FPR=0),证明所采用的模型分类效果越理想,area表示每一类攻击分类的AUC精度。从图7中可以看出针对每一类的分类精度都较高,可以实现高精度的物联网入侵检测多分类预测。
图7 贝叶斯+L jghtGBM模型ROC-AUC曲线
另外,对于物联网入侵检测模型来说,评价其性能指标的重要因素还有检测时间,检测时间越短,异常的攻击行为对设备的损失就越小。贝叶斯+LightGBM模型的训练时间只有7.322s,相对于其他模型训练时间为中上水平,而检测时间是0.724s,相对于模型检测时间与准确率来说,其效率高了很多,尤其是与随机森林相比较时,能够在保证准确率与误报率的同时,明显缩短检测时间。综合准确率和检测时间等指标,对于TON_IoT_Network数据集,基于贝叶斯优化LightGBM构建的入侵检测模型表现是较好的。
四、结语
目前社会发展的智能化转变为公安工作带来了前所未有的挑战,针对物联网的入侵方式愈发多种多样,与此同时物联网安全的保护措施尚未健全,发展的速度远不及攻击方式更新的速度,因此研究物联网入侵检测方法为物联网安全提供保护、为公安相关工作提供便利是研究的出发点与落脚点。
本文从物联网入侵检测模型构建的角度,对LightGBM模型进行了参数优化,使其更适应物联网的攻击环境,最终将提出的模型与传统机器学习模型相对比,提出的模型在测试时间与准确率上都占优势。本文研究内容为物联网设备的使用安全提供后盾,为用户的隐私数据提供保障,为公安取证工作提供服务,在物联网入侵模型构建的创新上具有一定意义。