一种基于多层极速学习机的网络入侵检测方法与流程

文档序号:11236745阅读:306来源:国知局
一种基于多层极速学习机的网络入侵检测方法与流程

本发明是针对神经网络在入侵检测应用存在的维度高、数据大、获取标记样本难、特征难构造、训练难等问题,提出的一种基于多层极速学习机(ml-elm)的入侵检测方法。它采用多层网络结构和深度学习方法抽取检测样本最高层次的抽象特征;利用极速学习机(elm)建立入侵检测数据的分类模型。该方法集成深度学习和无监督学习的优点,能对高维度,大数据的网络记录用较少的参数得到更好的表达,在检测速度及特征表达两个方面都具有优势。



背景技术:

随着网络与信息技术日新月异的发展,网络安全直接关系到国家安全和社会稳定。基于网络安全的迫切需要和现有入侵检测系统的弊端,入侵检测技术的发展与革新势在必行。

现有的入侵检测主要分为以下几种:现如今最常见的入侵检测方法就是模式匹配、统计协议分析、机器学习以及级联入侵检测等。这些方法在原有的基础上有了一定幅度的改善但是仍存在一些缺点。比如时间序列分析模型的入侵检测方法,虽然统计分析模型可以智能地找出用户操作行为的规律,但用户的行为是非常复杂的,如何选择一个合适的特征量进行监测是很难有一个通用的准则。又比如用模糊逻辑分类器与遗传算法相结合应用于入侵检测,虽然可以达到较高的正确率,但存在模糊描述语义不容易被理解,遗传算法对处理高维大规模数据有很大的局限性等问题。还有一种应用广泛的是基于进化计算的入侵检测。比如基于粒子群优化算法的特征选择,特征选择和不选择代码0和1,但光是kdd(knowledgediscoveryindatabase)数据集有41个属性,如果所有的特征用它编码,计算量太大,很容易造成信息冗余。还有一种综合多种分类器的级联入侵检测系统。这种系统集成多种分类器的优点,但是会造成时间与成本的增加并且并不一定适用于所有的攻击类型。

每种方法各有它的优缺点。其中,神经网络因具有很好的智能性,被广泛应用到入侵检测中。但神经网络在入侵检测中的应用存在几个问题:

1)随着网络用户的激增,海量的网络记录无疑给入侵检测加上了大数据的标签。对于传统的入侵检测系统而言,则需要添加大量的训练样本以应对复杂多变的攻击,而这样大规模的样本数据会造成训练时间和样本储存空间的急剧增长,给训练增加难度。

2)神经网络因其结构与训练方法的限制,收敛速率低,训练时间过长。

3)在实际的入侵检测中,攻击特征之间常呈现高维度的特点

4)在现实网络环境中,大部分数据是不包含标签属性的,标签的获取需要大量的人力物力。



技术实现要素:

针对以上问题,提出一种基于深度多层极限学习机(multiplelayerextremelearningmachine,ml-elm)算法应用于入侵检测。该方法能同时有效地解决当今入侵检测中维度高、数据大、获取标记样本难、构造特征难、训练难等问题。

本发明一种基于多层极速学习机在网络入侵检测中的应用方法,主要包括以下步骤:

步骤1:实验数据的预处理

步骤2:构建多层极速学习机(ml-elm)算法模型

步骤3:通过奇异值去表达输入数据的特征

由β=(i/c+hth)-1hty,奇异值分解为

则可以得到:

其中:u是hht的特征向量,d是h的奇异值,是与输入数据x相关的奇异值分解得到。

步骤4:用大量未标记样本进行训练,得到各隐层的权值输出矩阵

步骤5:利用各隐层的权值输出矩阵进行测试

步骤6:采用常用数据集kdd99与常用的入侵检测方法,比如svm+kpca、dbn、dbm,进行仿真对比

本发明具有如下优点及效果:

(1)本方法使用基于多层的网络结构能够有效解决检测中维度高、数据大的难题。

(2)本方法使用极速学习机方法检测速度快,能够满足入侵检测实时检测的要求。

附图说明

附图1为本发明一种基于多层极速学习机在入侵检测算法的基础极速学习 机的结构模型。

附图2为本发明一种基于多层极速学习机的结构模型。

附图3为本发明一种基于多层极速学习机的入侵检测方法流程。

附图4为基于多层极速学习机的入侵检测算法在不同隐层数目下精确度的表现

附图5为本发明检测方法与传统基于elm、dbn、svm算法的入侵检测模型在测试正确率、测试漏报率和训练时间的比较。

具体实施方式

本发明一种基于多层极速学习机在网络入侵检测中的应用方法的实施过程为:

步骤1:实验数据的预处理

实验选用的数据集为kdd99数据集。训练集和测试集分别为494021条和311029条记录。其中包括正常数据和攻击数据,攻击主要包括4大类:probe(probingattack)、dos(denialofserviceattack)、u2r(user-to-rootattack)和r2l(remote-to-loginattack)。每条记录包含41维特征,其中最后1列为标签属性。本实验中从训练集和测试集中分别选取100000和100000条作为训练样本和测试样本。

步骤2:构建多层极速学习机(ml-elm)算法模型

ml-elm是在elm-ae(极速学习机自动编码器)的基础上进行堆叠而创造一个多层神经网络,由单层变为多层。

在elm-ae的输出权值β负责从特征空间到输入数据的学习转换。可以根据下式计算输出权值β:

β=(i/c+hth)-1htx

其中:h=[h1,h2,…,…,hn]是elm-ae的隐层输出,x=[x1,x2,…,…,xn]是它的输入数据。

步骤3:通过奇异值去表达输入数据的特征

由β=(i/c+hth)-1hty,奇异值分解为

则可以得到:

其中:u是hht的特征向量,d是h的奇异值,是与输入数据x相关的奇异值分解得到。

步骤4:用大量未标记样本对基于多层的极速学习机入侵检测训练

1)输入:训练样本{xi,yj},i=1,2,…,n,xi∈rd,yi∈rd

2)设置好ml-elm的网络结构,输入训练样本数据,使得x=y

3)随机设置隐层节点参数

4)当1≤i≤k-1时,循环2)~4计算第i层隐层输出矩阵β(i+1)

5)当i=k时,用最小二乘法计算最高层隐层输出矩阵β(k+1)

步骤5:用训练得到的参数,用于多层极速学习机的入侵检测的测试

步骤6:分析仿真结果,将所得到的结果与传统的基于svm、dbn、elm的入侵检测方法比较。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1