神经网络的Kohonen模型

一、科霍宁模式概述

在1981中,芬兰赫尔辛基大学的Kohonen教授提出了一个分类性能良好的自组织特征映射人工神经网络(简称SOM网络)的比较完整的方案。这种网络也被称为Kohonen特征映射网络。

这种网络模拟了大脑神经系统的自组织特征,是一种竞争学习网络,可以无监督地进行自组织学习。

二、霍霍宁模型的原理

1.概观

SOM网络由输入层和竞争层组成。输入层神经元数为n,竞争层由M=R×C个神经元组成,形成二维平面阵列或一维阵列(R=1)。输入层和竞争层完全互连。

SOM网络的基本思想是网络竞争层的每个神经元竞争对输入模式做出响应的机会。最终只有一个神经元成为竞争的胜利者,与那些获胜神经元相关的连接权重被调整到更有利于其竞争的方向。这个获胜的神经元代表输入模式的分类。

SOM算法是一种不需要老师教导的聚类方法。它可以在输出层将任意输入图案映射成一维或二维离散图形,并保持其拓扑结构不变。即在没有老师的情况下,通过输入模式的自组织学习,在竞争层面表达分类结果。另外,通过对输入模式的反复学习,网络可以使连接权向量的空间分布密度与输入模式的概率分布一致,即连接权向量的空间分布可以反映输入模式的统计特征。

2.网络权重的初始化

因为网络输入很可能出现在中间区域,如果竞争层的初始权值选在输入空间的中间区域,学习效果会更有效。

3.邻域距离矩阵

SOM网络中的神经元可以任意排列,这种排列可以用邻域距离矩阵D来描述,它代表同一层神经元之间的曼哈顿距离,两个神经元之间的曼哈顿距离是指减去神经元的坐标后,其在向量中的元素的绝对值之和。

4.Kohonen竞争学习规则

设SOM网络的输入模式为Xp=(,...),p=1,2...竞争层神经元的输出值为yj (j = 1,2,…,m),竞争层神经元J与输入层神经元的连接权向量为

Wj=(wj1,wj2,…,wjN),j=1,2,…,M .

Kohonen网络的自组织学习过程包括两个部分:一是选择最佳匹配神经元,二是自适应更新权向量。

用于确定输入模式Xp和连接权重向量Wj之间的最佳匹配的评估函数是两个向量之间的欧几里德距离最小,即

,j=1,2,…,M,]]

g,确定获胜神经元g。

dg=mjin(dj),j=1,2,…,M .

求竞争层中输入模式Xp的获胜神经元G及其邻域距离nd内神经元的输出。

中国矿产资源评价新技术和新模式

Dgm是邻域距离矩阵D的一个元素,邻域距离矩阵D是竞争层中获胜神经元G与竞争层中其他神经元之间的距离。

求竞争层中输入模式Xp的获胜神经元G及其邻域距离nd内神经元的权值修正值。

中国矿产资源评价新技术和新模式

其中:I = 1,2,…,n;

Lr是学习率;

t是学习周期的数量。

δwjt(t+1)的其余元素被赋值为0。

调整正确的连接

wji(t+1)= wji(t)+δwji(t+1)。

5.权重学习中学习速率和邻域距离的更新。

(1)SOM网络的学习过程分为两个阶段。

第一阶段是粗学粗调。该阶段在输入模式方向调整连接权向量,根据期望方向在适应神经元位置的输入空间中建立神经元的权值,粗略确定输入模式在竞争层的对应映射位置。一旦每种输入方式在竞争层有了相对的映射位置,就会转向精细学习和微调阶段,也就是第二阶段。在这一阶段,网络学习侧重于在小范围内调整连接权值,神经元的权值在输入空间中向期望的方向延伸,直到保持在它们在粗调阶段建立的拓扑顺序。

学习率应该随着学习的进展而下降。

(2)邻里的功能与更新

在SOM网络中,外界信息刺激的脑神经细胞兴奋和抑制的变化规律是通过邻域的函数来反映的,邻域的函数规定了与获胜神经元g相连的权向量Wg相等调整的其他神经元的范围,在学习的初始阶段,邻域的范围较大,随着学习的深入,邻域的范围逐渐缩小。

(3)学习率和邻域距离的更新

在粗调阶段,

学习参数初始化

MAX_STEP1=1000,

粗调阶段学习率的初始值为LR1=1.4,

微调阶段学习率的初始值LR2=0.02,

MAX_ND1=Dmax,

Dmax是邻域距离矩阵d的最大素数

粗调阶段

学习周期数step≤MAX_STEP1,

学习率lr从LR1调整到LR2,

邻域距离nd从MAX_ND1调整到1,

找到更新系数r,

r=1步/MAX_STEP1,

更新邻域距离nd,

nd = 1.00001+(MAX _ nd 1-1)×r .

学习率lr被更新,

lr=LR2+(LR1-LR2)×r .

在微调阶段,

学习参数的初始化,

MAX_STEP2=2000,

学习率的初始值LR2=0.02,

MAX_ND2=1。

微调阶段

MAX _ step 1 < step≤MAX _ step 1+MAX _ step 2,

学习率lr从LR2开始逐渐降低,

邻域距离nd被设置为1,

更新邻域距离nd,

nd=MAX_ND2+0.00001 .

学习率lr被更新,

lr=LR2×(MAX_STEP1/step).

6.网络预测回顾

SOM网络学习后根据以下公式进行回忆:

中国矿产资源评价新技术和新模式

Yj=0,j=1,2,…,M,(j≠g)。

将待分类的输入模式提供给网络的输入层,根据上述方法在竞争层中找到与输入模式连接权向量最接近的神经元。此时该神经元最大激活值为1,其他神经元被抑制取值为0。此时,神经元的状态表示输入模式的分类。

三、整体算法

1.SOM权重学习全局算法

(1)输入参数X[N][P]。

(2)构造权重矩阵W[M][N]。

1)从X[N][P]中找到Xmid[N],

2)从Xmid[N]构造权重W[M][N]。

(3)构建竞争层。

1)求竞争层神经元的个数m,

2)求邻域距离矩阵D[M][M],

3)求矩阵D[M][M]个元素的最大值Dmax。

(4)学习参数的初始化。

(5)学习权重W[M][N]。

1)学习率lr和邻域距离nd分两个阶段更新:

㈠粗调阶段的更新;

(二)微调阶段更新。

2)在竞争层找到输入模式为X[N][p]的获胜神经元win[p]。

(I)求X[N][p]和W[m][N]之间的欧几里德距离DM;

(二)根据最短距离dm,在竞争层找到输入模式X[N][p]的获胜神经元win[p]。

3)用竞争层的输入模式X[N][p]和邻域距离nd内神经元的输出Y[m][p]求获胜神经元win[p]。

4)在竞争层中找到输入模式为X[N][p]的获胜神经元win[p]及其

邻域距离nd内神经元的权重校正值δ w [m] [n],

因此,获得了由输入模式X[N][p]生成的权重校正值δW[M][N]。

5)重量修正w [m] [n] = w [m] [n]+δ w [m] [n]。

6)学习结束条件:

学习周期到MAX_STEP时间;

(ii)学习率lr达到用户指定的LR _ MIN;

(iii)学习时间达到用户指定的TIME_LIM。

(6)输出。

1)通过学习得到的权重矩阵w[m][n];

2)邻域距离矩阵D[M][M]。

(7)结束。

2.SOM预测整体算法

(1)输入待分类数据X[N][P]和邻域距离矩阵D[M][M]。

(2)在竞争层找到输入模式为X[N][p]的获胜神经元win[p]。

1)求X[N][p]与W[m][N]之间的欧氏距离DM;

2)根据最短距离dm,在竞争层找到输入模式为X[N][p]的获胜神经元win[p]。

(3)求获胜神经元win[p]在竞争层中的秩位置。

(4)输出适应输入数据的竞争层中获胜神经元win[p]的行列位置作为分类结果。

(5)结束。

四、总体算法流程图

Kohonen整体算法流程图见附图4。

动词 (verb的缩写)数据流图

Kohonen数据流程图如附图4所示。

第六,无模式识别的整体算法

假设有n个样本,每个样本测量m个变量,有一个原始数据矩阵:

X=(xij)N×M,i=1,2,…,N,j=1,2,…,M .

(1)原始数据预处理

X=(xij)N×M被当作Z=(zij)N×M,

有三种治疗方法:

1)对比度;

2)标准化;

3)正常化。

默认情况下,程序使用规范化。

(2)构建Kohonen网络

竞争层和输入层之间神经元的连接权值形成一个矩阵WQ×M m。

WQ×M初始化。

(3)进入Kohonen网学习分类循环,用epoch记录循环次数,epoch=1。

(4)在每个历元周期中,对每个样本n (n = 1,2,...,n)。从1个样本开始,n=1。

(5)首先,计算输入数据之间的距离Znm (m = 1,2,...,m)和竞争层中q个神经元的相应权重wqm。

(6)找出输入层的样本n与竞争层的q个神经元之间的最小距离,距离最小的神经元Win[n]为获胜神经元,将样本n归入获胜神经元Win[n]所代表的类型,从而实现样本n的分类..

(7)对样本集中的每个样本进行分类:

n=n+1 .

(如果n≤N,转到5。否则,请转到8。)

(8)找到分类后每个神经元对应的样本的变量的重心,用对应样本的变量的中值作为重心,用对应样本的变量的重心更新每个神经元的连接权。

(9)历元=历元+1;

一个学习分类周期结束了。

(10)如果满足以下两个条件之一,分类循环结束,转到11;

否则,分类循环继续并进行到4。

1)所有样本都固定在一个神经元上,不再变化;

2)学习分类循环达到最大迭代次数。

(11)输出:

1)n个样本* * *分为多少个类别,每个类别有多少个样本,记录每个类别的样本数;

2)如果某一类别的样本数超过1,则输出某一类别原始数据的各变量的均值、最小值、最大值和均方差;

3)如果某类样本数为1,则输出某类样本原始数据的变量值;

4)输出原始数据各变量(j = 1,2,…,m)的均值、最小值、最大值和均方差。

(12)结束。

七、无模式识别整体算法流程图。

Kohonen非模态总体算法流程图见附图5。