SOM网络(Kohonen自组织网络)学习第一篇

总结包括Kohonen网络的基本介绍,以及实现原理,并绘制算法的实现步骤。

 

基本信息

Kohonen网络(KN,也称之为自组织(特征)映射(SOM/SOFMself organising (feature) map))它是由自组织竞争型神经网络的一种,该网络为无监督学习网络,能够识别环境特性并自动聚类。由两层前馈神经网络组成,包括输入层和输出层。输入层与输出层之间通过神经元进行双向连接,将输入在输出层映射成二维离散图像。神经元通过无监督竞争学习使不同的神经元对不同的输入模式敏感,从而特定的神经元在模式识别中可以充当某一输入模式的检测器。网络训练后神经元被划分为不同区域,各区域对对输入模型具有不同的相应特征。

由上图所示,网络中黄色的为输入向量或称为特征向量,其处理单元数目依问题而定。若输入向量为n个元素,则输入端共有n各节点。绿色的节点为输出层,用以表现网络的输出变数及训练范例的聚类。其处理单元数目依问题而定。形式为一个节点矩阵其结构本身有“网络拓扑”,以及“邻近区域”的概念。

网络连接:所有输入节点到输出节点都有权值连接,而在二维平面的输出节点相互之间也可能有局部连接。每个输出层处理单元与输入层处理单元连接的权数所构成的向量,表示一个输入特征值向量对应训练范例聚类的标量。当Kohonen网络学习完成后,靠近输出处理单元的神经元具有相似的连接权数。

Kohonen基本原理

Kohonen网络的基本原理是计算输入的特征量映射至输出层每一处理单元的欧几里得距离(euclidean distance),而具有最小距离值的处理单元就是优胜单元并且将会调整它的连接权值,使其能够更接近原始的输入向量,而且此处理单元的邻近区域也会调整本身的连接权值,使自己与输入向量间的欧几里得距离能够减少,其算法步骤如下:

输入:训练样本和测试样本;

输出:训练后的权系数矩阵和测试样本所属的类及归属程度;

(1)粗调整学习阶段

1)网络权值初始化,新向量的输入

式中:——t时刻样本的第维分量总的学习次数为 。

扫描二维码关注公众号,回复: 1693947 查看本文章

2) 样本矢量与权值之间距离的计算

                                  2

3)求最小距离,找出最匹配输入样本矢量的竞争层节点C,即:

                                                               3

4)调整权系数,粗调整阶段

                                                                        

其中:——竞争层神经元的个数。

按照步骤2)计算邻域函数值,权值可根据式(4)进行调整:

                                                                                         4)

5)学习率和邻域宽度按照步骤1)和步骤3)进行递减。

6)返回步骤3),所有学习样本调整一遍。

7);直至

(2)精细调整学习阶段

8)精细调整阶段,并重复步骤2)一6),只是邻域宽度和学习率按照式(5)递减:

                                                                                                       6)

                                                         

13)读取一个新的网络输入样本。

14)根据已计算出来的欧氏距离和上文定义的隶属函数,计算输入样本到各输出神经元的隶属度为

                                                                                       7)

l5)输出分类:设定阈值,根据高斯函数自性质,本文将阀值设为0.6,即:当 输出神经元即为该输入样本所属的类,输出该类及输入样本在该类中的隶属度。

16) 重复13)步,直到没有新的输入样本。

                                 

                                    

                         

                         

         


                    



                                      

由上到下依次进行,x返回第二步,直到判断为Y则结束


猜你喜欢

转载自blog.csdn.net/pinger0077/article/details/79560883