Kohonen网络

介绍:

 Kohonen网络是自组织竞争型神经网络的一种,该网络为无监督学习网络,能够识别环境特征并自动聚类。Kohonen神经网络是芬兰赫尔辛基大学教授Teuvo Kohonen提出的,该网络通过自组织特征映射调整网络权值,使神经网络收敛于一种表示形态,在这一形态中一个神经元只对某种输入模式特别匹配或特别敏感。Kohonen网络的学习是无监督的自组织学习过程,神经元通过无监督竞争学习使不同的神经元对不同的输入模式敏感,从而特定的神经元在模式识别中可以充当某一输入模式的检测器。网络训练后神经元被划分为不同区域,各区域对输入模型具有不同的响应特征。
        Kohonen神经网络算法工作机理为:网络学习过程中,当样本输入网络时,竞争层上的神经元计算输入样本与竞争层神经元权值之间的欧几里德距离,距离最小的神经元为获胜神经元。调整获胜神经元和相邻神经元权值,使获得神经元及周边权值靠近该输入样本。通过反复训练,最终各神经元的连接权值具有一定的分布,该分布把数据之间的相似性组织到代表各类的神经元上,使同类神经元具有相近的权系数,不同类的神经元权系数差别明显。需要注意的是,在学习的过程中,权值修改学习速率和神经元领域均在不断较少,从而使同类神经元逐渐集中。Kohonen网络训练步骤如下。 

  采用Kohonen网络对网络入侵行为进行聚类分析

模型建立:
基于Kohonen网络的网络入侵攻击聚类算法流程如下


1 数据归一化
2 网络初始化
3 优胜节点计算
4 权值调整
5 判断算法是否结束,否则返回3

数据归一化把网络入侵数据进行归一化处理。
网络初始化根据入侵数据特点初始化网络,由于网络入侵数据有38维,入侵数据来自于5种不同类型的网络入侵模式,所以输入层节点数为38。竞争层节点代表输入数据潜在的分类类别,竞争层节点数一般大大多于数据实际类别,选择竞争层节点数为36个,竞争层节点排列在一个六行六列的方阵中。
优胜节点计算计算按公式29-1计算和输入样本最接近的竞争层节点作为该样本的优胜节点。
权值调整根据公式29-2调整优胜节点领域半径r内节点权值,其中领域半径和学习速率随着进化过程逐渐变小,这样输入数据逐渐向几个节点集中,从而使网络实现聚类功能。本案例中最大领域r1max1.5,最小领域r1min0.4,最大学习概率rate1max0.1,最小学习概率为rate1min0.01。网络共学习调整10000次。

程序实现
根据Kohonen网络原理,在MATLAB软件中编程实现基于Kohonen网络的网络入侵分类算法。

程序可以分为:
网络初始化
网络学习进化
数据分类
netattack.mat里面共有4000组数据,其中第1组到1383组数据属于第一类网络入侵方式,第1384组到3238组属于第二类网络入侵方式,第3239组到3357组属于第三类入侵方式,第3358组到3948组属于第四类入侵方式,第3949组到4000组属于第五类入侵方式。通过计算得到各类入侵数据的优胜节点

你可能感兴趣的:(Kohonen网络)