Page 287 - 《软件学报》2021年第10期
P. 287

周杰英  等:融合随机森林和梯度提升树的入侵检测研究                                                      3259


                 本经过最后一棵树,落到索引为 index_n 的叶子上,将所有叶子
                 索引组合起来构成新的训练数据.随机森林模型的树的个数
                 越多,转换后的特征越多,分类效果就越好.但是,随着特征维
                 度的增加,模型训练时间也会增加.文献[20]在特征转换之后
                 还进行了独热编码(one-hot encoding),但本文直接使用叶子索
                 引作为特征,不进行独热编码.若有 m 个样本,随机森林模型有

                 n 棵树,则转换之后的数据大小是 mn(如图 3 所示).
                                                                      Fig.3    Index example of the decision tree
                    第 3 部分是分类器.使用 GBDT 对第 2 部分得到的数据大
                                                                            图 3   决策树索引示例
                 小为 mn 的训练集进行训练,对第 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 分数值:精确率和召回率的调和平均数.
   282   283   284   285   286   287   288   289   290   291   292