车载网络基于时空信息的入侵检测系统
1. 离线:分割与学习
随机森林(或随机决策森林)是一种集成学习方法,用于分类任务。它在训练阶段构建大量决策树,并输出各个树的类别模式。对于不平衡数据集,它能很好地平衡误差,并且在训练过程中,可以检测特征之间的相互作用,实现也较为简单。
操作步骤如下:
1. 数据预处理 :给定原始数据集(即历史CAN流量),将流量分割成滑动窗口。对于每个滑动窗口,提取n个特征并捆绑成一个行向量。假设有m个滑动窗口,就会得到一个m×n的矩阵(称为数据集D)。在实验中,有三种入侵样本:泛洪攻击、模糊攻击和伪装攻击,分别标记为0、1和2。从历史数据中得到46种不同的消息ID,所以总共有46个特征(即n = 46)。
2. 模型训练 :使用ID3(迭代二分器3)算法训练随机森林。通过遍历集合D中每个未使用的属性并计算该属性的信息增益。对于特征集合{x1, x2, … , xn},D的信息增益为:
- (G(D, x_i) = H(D) - H(D|x_i))
- 其中,(H(D) = -\sum_{k}\frac{|c_k|}{D}\log_2\frac{|c_k|}{D})
- (H(D|x_i) = \sum_{j = 1}^{l}\frac{D_j}{D}H(D_j))
- 这里,(D_j)是D中特征(x_i)取第j个值的样本子集,(H(D_j))是(D_j)的熵,(H(D|x_i))是D关于(x_i)的条件熵,(c_k)是D中属于第k类的样本子集,l是特征(x_i)的取值数量。
- 使用自助采样法。对于包含m个攻击样本的给定数据集,先随
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



