基于随机森林的入侵检测分类研究

论文摘要

为了有效地检测网络的攻击行为,机器学习被广泛用于对不同类型的入侵检测进行分类,传统的决策树方法通常用单个模型训练数据,容易出现泛化误差大、过拟合的问题。

为解决该问题,文中引入并行式集成学习的思想,提出基于随机森林的入侵检测模型,由于随机森林中每棵决策树都有决策权,因此可以很好地提高分类的准确性。

利用 NSLGKDD 数据集对入侵检测模型进行训练和测试,实验结果表明,该模型的准确率可达99.91%,具有非常好的入侵检测分类效果。

论文解决的问题

使用随机森林提高了预测准确率。

1.每个决策树的样本集个数n的选择

每次从训练集N中随机有放回的选择n个样本作为某个决策树的样本集。

为什么要随机抽样训练集?

如果不进行随机抽样,每棵树的训练集都一样,那么最终训练出的树分类结果也是完全一样的,这样的话完全没有bagging的必要;

为什么要有放回地抽样?

如果不放回,那么每棵树的样本集都不一样,这样训练出来的每颗树都是有偏的,他们只能从那些片面的数据中预测出结果,比较类似与“盲人摸象”

2.每个决策树的特征个数m的选择

一定要随机选择,随机选择有两个好处:

  1. 不容易陷入过拟合
  2. 泛化能力强

选择方法:

传统的决策树在属性的选择上通常选用最优的属性,而这种方法存在过拟合的问题,因此随机森林算法在属性的选择上选用随机选择属性的方法,对于决策树的每个结点的选取,先从该所有属性集合d中随机选取包含k个属性的子集,然后从子集中选择最优属性用于划分,一般情况下, k = l o g 2 d k=log_2d klog2d

3.数据预处理

(1)将非数值型的特征进行数值转换
(2)将没有关联的特征分类数值进行one-hot编码

4.随机森林中基评估器的数量n_estimators的选择

随机森林中基评估器的数量越多,则效果越好,相应的训练时间和难度就越大,所以需要权衡。

可以通过迭代随机森林中基评估器的数量这个参数(n_estimators),计算出选择每个参数训练后的准确率并画图,找到临界点。

论文中对于使用的数据集(NSL-KDD)画出了图:
在这里插入图片描述
可见,在n_estimators取得15的时候,准确率趋于稳定,所以选择15。

5.随机森林最终决策方法

少数服从多数

总结

随机森林的步骤:
在这里插入图片描述

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐