文章信息
- 麻书钦
- MA Shu-qin
- 基于Kohonen神经网络算法的网络入侵聚类算法的测试研究
- Research on network intrusion clustering based on Kohonen neural network algorithm
- 中国测试, 2013, 39(4): 113-116
- CHINA MEASUREMENT & TEST, 2013, 39(4): 113-116
-
文章历史
- 收稿日期: 2013-02-25
- 收到修改稿日期: 2013-04-18
随着信息技术和网络技术的快速发展,网络非法入侵也随之大幅增长,对网络安全性提出了强大挑战,因此维护网络安全显得尤为重要。对网络入侵聚类的研究[1],有助于应对网络入侵,在此基础上提出合适的防控措施。根据Kohonen网络的自动聚类的优点,本文提出一种基于Kohonen网络的网络入侵聚类研究的方法。首先阐述基本理论、原理和算法步骤,然后利用Matlab软件平台对提出的网络入侵算法进行测试研究,并同其他方法进行对比,从而验证出Kohonen神经网络算法进行网络入侵聚类的优越性和准确性。
1 Kohonen网络结构Kohonen网络是一种自组织无监督学习网络,可以识别环境特征,同时实现自动聚类。该网络由芬兰学者Kohonen提出[2, 3],调整网络权值主要通过自组织特征映射完成,从而实现神经网络收敛。
Kohonen网络由两层前馈神经网络组成,包括输入层和输出层。输入层和输出层之间通过神经元进行双向连接,将输入在输出层映射成二维离散图像。Kohonen网络拓扑结构如图 1。
输入层:用以表现网络的输入变数,即训练范例的输入向量,或称特征向量,其处理单元数目依问题而定,每一个处理单元代表着输入向量的每一个元素,亦即该输入资料所拥有的特征。
输出层:用以表现网络的输出变数及训练范例的聚类,其处理单元数目依问题而定。其结构本身有“网络拓扑”以及“邻近区域”的概念。
网络连结:每个输出层处理单元与输入层处理单元相连结的权数所构成的向量,表示一个输入特征值向量对应训练范例聚类的标量。当Kohonen网络学习完毕后,靠近输出处理单元的神经元具有相似的连结权数。
2 Kohonen神经网络的原理Kohonen网络的基本原理是计算输入的特征量映射至输出层每一处理单元的欧几里得距离(euclidean distance),而具有最小距离值的处理单元就是优胜单元并且将会调整它的连接权值,使其能够更接近原始的输入向量,而且此处理单元的邻近区域也会调整本身的连接权值,使自己与输入向量间的欧几里得距离能够减少,其算法步骤[4]如下:
输入:训练样本和测试样本;
输出:训练后的权系数矩阵和测试样本所属的类及归属程度;
(1)粗调整学习阶段
1)网络权值初始化wij,新向量的输入
式中:Xi(t)——t时刻样本的第i维分量(i=1,2,…,m),总的学习次数为T=T1+T2。
2)样本矢量与权值之间距离的计算
3)求最小距离,找出最匹配输入样本矢量的竞争层节点c,即:
4)调整权系数,粗调整阶段
T1=100,η0=0.4,σ0=3 m/2
其中:m——竞争层神经元的个数。
按照步骤2)计算邻域函数值,权值可根据式(4)进行调整:
5)学习率和邻域宽度按照步骤1)和步骤3)进行递减。
6)返回步骤3),所有学习样本调整一遍。
7)t=t+1;直至t>T1。
(2)精细调整学习阶段
8)精细调整T2=500阶段,η0=0.04,σ0=1,并重复步骤2)~6),只是邻域宽度和学习率按照式(5)递减:
9)将另一组样本矢量作为网络输入,返回第3)步,直到样本输入结束。
10)t=t+1;当t>T2时,学习阶段结束。
11)所有输出神经元的连接权系数的存储和输出。
(3)应用阶段
12)输入样本和连接输出神经元的权系数向量的归一化,以保证输入样本和输出神经元的欧氏距离在[0, 2]之间,如式(6)所示:
13)读取一个新的网络输入样本。
14)根据已计算出来的欧氏距离dj和上文定义的隶属函数,计算输入样本到各输出神经元的隶属度为
15)输出分类:设定阈值,根据高斯函数自身性质,本文将阀值设为0.6,即:当μ(Cj(X))>0.6输出神经元即为该输入样本所属的类,输出该类及输入样本在该类中的隶属度。
16)重复13)步,直到没有新的输入样本。
根据算法步骤可知其算法流程图如图 2所示。
3 Kohonen神经网络网络入侵算法的构建 3.1 网络入侵网络入侵是指通过非法手段试图破坏计算机和网络系统资源完整性、机密性和可用性的行为。对网络入侵进行聚类分析研究,有助于发现网络入侵的种类,在此基础上为制定防网络入侵的措施和方案,提供决策依据。
3.2 模型建立根据网络入侵的特点,Kohonen神经网络网络入侵攻击聚类算法流程如图 3所示。
3.3 算法的实现与测试根据某具体的项目,现有5 000组网络入侵数据,数据中有5类入侵方式,分别为I类、II类、III类、IV类、V类。用训练好的Kohonen神经网络测试样本数据,测试数据有500组,运用Matlab进行相应的仿真,仿真结果如图 4~图 7所示。
图 4中的神经元编号方式是从左到右,从下到上,神经元编号不断增加,左下角的神经元为1号,右上角神经元为16号,中间的数字代表神经元的获胜次数。图 5表示网络权值的分布。
图 6表示邻近神经元的距离分布图,相邻神经元间填充的颜色表示两个邻近神经元的距离远近,颜色越深,越接近黑色,代表距离越远,反之越近。
从图 7可以看出,绝大多数测试结果同预期结果一致,预测结果的分类准确率达到98.1%,效果很好。
4 不同聚类算法的测试对比为了进一步验证Kohonen神经网络网络入侵聚类方法的优越性和准确性,将其同PNN神经网络算法进行对比,主要从训练准确率、测试准确率和运行时间3个方面[5, 6, 7]进行验证,仿真结果如图 8~图 10所示。
从图 8可以看出,Kohonen神经网络的准确率有96.6667%,而PNN神经网络[8, 9]的准确率只达到93.3333%。从图 9可以看出,Kohonen神经网络的准确率普遍高于PNN神经网络的准确率。从图 10可以看出,Kohonen神经网络的运行时间也优于PNN神经网络。
5 结束语根据Kohonen神经网络能自动实现聚类的优点,本文提出一种基于Kohonen网络的网络入侵聚类研究的方法。运用Matlab软件,进行Kohonen神经网络网络入侵聚类仿真,并同PNN神经网络进行了对比,主要研究结果如下:(1)根据仿真结果,Kohonen神经网络网络入侵聚类结果的准确率达到98.1%,效果很好。(2)将其同PNN神经网络算法进行对比,主要从训练准确率、测试准确率和运行时间3个方面进行验证。Kohonen神经网络的准确率达到96.666 7%,而PNN神经网络的准确率只达到93.333 3%;Kohonen神经网络的准确率普遍高于PNN神经网络的准确率;Kohonen神经网络的运行时间也优于PNN神经网络。
[1] | 樊玫. 基于Kohonen神经网络的用户访问模型挖掘模式的研究[D]. 南昌:南昌大学,2007. |
[2] | 刘纯平. 基于Kohonen神经网络聚类方法在遥感分类中的比较[J]. 计算机仿真,2006,26(7):1744-1746. |
[3] | 范作民,白杰,阎国华. Kohonen神经网络在发动机故障诊断中的应用[J]. 航空动力学报,2000,15(1):89-92. |
[4] | 莫礼平. 基于Kohonen神经网络的故障诊断方法[J]. 成都大学学报,2007,(1):47-51. |
[5] | Agrawal R, Srikant R. Mining sequential pattems[C]∥ InternationalConference on Data Engineefing.Taipei,Taiwan:ICDE,1995:3-14. |
[6] | FrancescoB, FoscaG, GiuseppeM, et al. Data Mining forintelligent web caching[C]∥International Conference on Information Technology:Coding and Computing,2001. |
[7] | 吴柯,方强,张俊玲,等. 基于改进Kohonen神经网络的遥感影像分类[J]. 测绘信息与工程,2007,32(2):47-49. |
[8] | 李宗福,邓琼波,李桓. Kohonen SOFM神经网络及其演化研究[J]. 计算机工程与设计,2004,25(10):1729-1730. |
[9] | 曲义飞. 基于Web使用挖掘的用户消费模式发现研究[D].大连:大连理工大学,2006. |