Page 287 - 《软件学报》2021年第10期
P. 287
周杰英 等:融合随机森林和梯度提升树的入侵检测研究 3259
本经过最后一棵树,落到索引为 index_n 的叶子上,将所有叶子
索引组合起来构成新的训练数据.随机森林模型的树的个数
越多,转换后的特征越多,分类效果就越好.但是,随着特征维
度的增加,模型训练时间也会增加.文献[20]在特征转换之后
还进行了独热编码(one-hot encoding),但本文直接使用叶子索
引作为特征,不进行独热编码.若有 m 个样本,随机森林模型有
n 棵树,则转换之后的数据大小是 mn(如图 3 所示).
Fig.3 Index example of the decision tree
第 3 部分是分类器.使用 GBDT 对第 2 部分得到的数据大
图 3 决策树索引示例
小为 mn 的训练集进行训练,对第 2 部分得到的测试集进行
预测.在训练集上使用交叉验证技术,调整树的个数和学习率,选择一个最优的模型.需要指出的是:树模型对稀
疏数据分类效果没有那么好,所以在使用随机森林模型进行特征转换之后没有进行独热编码,直接使用叶子索
引作为数据的输入.
本文所提出的 RF-GBDT 模型框架主要分为 3 部分.
第 1 部分,首先使用 GBDT 获得按特征重要性排序后的特征;然后使用递归消除特征方法进行特征选
择,删除无关的特征,加快训练速度,提升模型效果;
第 2 部分,使用随机森林模型进行特征变换,将样本落在叶子的索引作为新的数据输入.若随机森林模
型中树的个数太少,树的深度太浅,则转换的特征包含的信息较少,最终分类的效果就没有那么好;若树
的个数太多,树的深度很深,转换的特征虽然包含的信息很多,但是数据量变大了,那么最终的训练时间
也会变长;
第 3 部分,使用 GBDT 进行分类,需要调节的参数有树的个数和学习率,学习时需要的树越多,虽然检测
率越高,但是训练时间越长,学习率越低.需要同时调节树的个数和学习率,两者相互平衡找到一个效果
较好的模型.
4 有效性评估指标
网络安全领域的网络流量数据具有样本分布不平衡的特点,为了正确反映模型的真实效果,应该选取合适
的评估指标.混淆矩阵是用于计算评估模型有效性的指标,根据表 1 所示的混淆矩阵,介绍 4 种可能发生的情况.
Table 1 Confusion matrix
表 1 混淆矩阵
预测结果
真实情况
正例(positive) 反例(negative)
正例(positive) 真正例(true positive) 假反例(false negative)
反例(negative) 假正例(false positive) 真反例(true negative)
表 1 中:真正例(true positive,简称 TP)是将异常样本预测为异常的数量;真反例(true negative,简称 TN)是将
正常样本预测为正常的数量;假反例(false negative,简称 FN)是将异常样本预测为正常的数量,属于漏检的样本
数量;假正例(false positive,简称 FP)是将正常样本预测为异常的数量,属于误检的样本数量.
网络安全领域的网络流量数据的样本分布不平衡,正常样本多,异常样本很少,如果采用准确率作为评估指
标,则无法正确地表现出模型在真实环境的效果.比如:正常样本有 99 个,异常样本有 1 个,将所有样本预测为正
常,那么准确率是 99%,检测率却只有 0.入侵检测系统的目标是一方面检测出所有异常样本,另一方面尽量减少
将正常样本错误地判定为异常的数量.入侵检测系统采用以下的评估指标来评估异常检测系统的有效性.
检测率(detection rate,简称 DR):正确检测出的异常样本占所有异常样本的比例,也称为召回率(recall);
误报率(false alarm rate,简称 FAR):正常样本被误判为异常样本的比例;
精确率(precision):正确检测的异常样本占检测为异常样本的比例;
F1 分数值:精确率和召回率的调和平均数.