关于基于机器学习的入侵检测学习记录

一、入侵检测的过程

1、数据采集阶段

(1)主机日志记录

(2)网络流量数据

2、检测分析阶段

(1)数据处理

(2)算法分析

3、响应处理阶段

(1)发出警告

(2)应急响应

二、基于网络的入侵检测方法

1、模式匹配(一一比对)

优点:准确率高

缺点:耗时大,不适合用于高速网络时代

2、协议分析(使用相应的数据分析程序来检测数据包)

优点:效率高

缺点:只能检测到已知的攻击类型,对当今网络中存在未知攻击方式不能有效的进行检测

3、基于机器学习的入侵检测

利用庞大的已有数据学习,发现其中的内在规律,从而可以智能地检测网络中存在的攻击行为。由于机器学习具备预测能力,对未知模式的新型攻击有一定的检测效果,因而成为了入侵检测领域研究的热门技术。

三、应用到的机器学习的内容

1、集成学习算法

(1)定义

首先会生成若干个个体分类器进行训练学习,然后将训练好的个体分类器按照某种策略或原则进行组合。集成学习潜在的思想是即便某一个个体分类器得到了错误的预测,其他的个体分类器也可以将错误纠正。

(2)集成学习模型

  • Bagging基本思想
    给定一个弱学习算法,和一个训练集---->单个弱学习算法准确率不高---->将该学习算法使用多次,得出预测函数序列,进行投票---->最后结果准确率将得到提高
  • Boosting
    (1)基本思想
    构建一系列模型,将它们聚合起来得到一个性能更好的强学习器。然而,与重点在于减小方差的 bagging 不同,boosting 着眼于以一种适应性很强的方式顺序拟合多个弱学习器:序列中每个模型在拟合的过程中,会更加重视那些序列中之前的模型处理地很糟糕的观测数据。
    (2)Boosting算法举例
  • Adaboost算法思想
    先通过对N个训练样本的学习得到第一个弱分类器,将分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器,将1和2都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器,最终经过提升的强分类器。即某个数据被分为哪一类要由各分类器权值决定。
  • GBDT算法思想
    GBDT 也是迭代,但是 GBDT 要求弱学习器必须是 CART 模型,而且 GBDT 在模型训练的时候,是要求模型预测的样本损失尽可能的小。
  • XGBoost算法
    不断地生成决策树,且每棵决策树均在上一轮决策树残差基础上进行训练,通过拟合每轮训练中的残差,从而使得XGBoost集成学习算法不断提高准确率。

(3)集成学习算法的优点与局限性

  • 优点:集成学习能够提高检测性能,在实际生活中很难构造准确率较高的个体分类器,但可以很简单生成若干个只比随机猜想略好的个体分类器,然后通过集成学习将多个个体分类器按照某种策略进行组合后得到的检测性能往往比单个个体分类器的检测性能更佳;在机器学习中,分类器经常会出现过拟合现象,即分类器在训练数据中能获得比较好的分类性能,在测试集或者其他数据上分类性能却不佳,通过集成学习的思想,可以选择多个分类器作为结果,对每个分类器赋予相应的权重,从而能够有效防止过拟合现象的产生;相比于个体分类器算法,由于集成学习算法内部个体分类器众多,相当于多个决策者共同进行一项决策,因此,通过集成学习将个体分类器集成为最终决策分类器,从而能够提高稳定性
  • 局限性:集成学习算法在准确率上虽然优于决策树、朴素贝叶斯等个体分类器算法,但是集成学习算法也存在不足之处,即运行时间比个体分类器长。因此,考虑到入侵检测技术要求时效性高的因素,在集成学习进行分类检测之前,对输入数据进行特征选择。

2、特征选择算法

(1)特征选择算法思想

特征选择是指从原始特征中选择出一些最有效特征的过程。通过对数据进行特征选择,在降低数据特征空间维度的同时,能够优化算法的学习性能,并且能够增强模型在处理未知样本时的泛化能力

(2)经典特征选择算法

  • Pearson相关系数法
    输入:数据集D
    输出:根据Pearson相关系数值按照降序输出
    Step1:数据集输入,计算数据集中特征数n
    Step2:初始化相关系数
    Step3:根据公式计算每个特征与分类标签之间的Pearson相关系数值
    Step4:对每个特征的Pearson相关系数值降序输出
  • ReliefF算法
    输入:数据集D,迭代次数T,近邻样本数k
    输出:根据每个特征的权重按照降序输出
    Step1:数据集输入,计算数据集中特征数n
    Step2:初始化相关系数
    Step3:for i=1:m,从数据集通过随机抽样的方式一个样本;寻找与其同类的k个最近邻的数据;寻找与该样本异类的k个最近邻是数据;for j=1:n,根据公式计算每个特征权重
    Step4:对每个特征的权重值降序输出
  • 信息增益IG算法
    输入:数据集D
    输出:特征按相关系数值降序排列
    Step1:输入数据集,计算样本特征数n
    Step2:根据公式计算数据集D的信息熵
    Step3:根据公式计算每个特征的信息增益
    Step4:将每个特征的信息增益进行降序排列

(3)实验结果

关于基于机器学习的入侵检测学习记录

数据样本经过特征选择,计算机处理的数据维度有直接改善,有效降低了处理数据和计算过程的时间复杂度

相关文章: