python映射的主要特点_神经网络学习(4)————自组织特征映射神经网络(SOM)以及python实现...

一、自组织竞争学习神经网络模型(无监督学习)

(一)竞争神经网络

4595

在竞争神经网络中,一层是输入层,一层输出层,输出层又称为竞争层或者核心层。在一次输入中,权值是随机给定的,在竞争层每个神经元获胜的概率相同,但是最后会有一个兴奋最强的神经元。兴奋最强的神经元战胜了其他神经元,在权值调整中,其兴奋程度得到了进一步的加强,而其他神经元保持不变,竞争神经网络通过这种竞争学习的方式获取训练样本的分布信息,每个训练样本都对应一个兴奋的核心层神经元,也就是对应一个类别,当有新样本输入时,就可以根据兴奋的神经元进行模式分类。

当有新样本输入时,要进行相似性测量。神经网络是我输入模式可用向量表示,比较两个不同模式的相似性可转化为比较两个向量的距离,因而可用模式向量间的距离作为聚类依据(聚类就是无监督学习时的分类),传统模式识别中常用到的两种聚类判据是欧式距离法和余弦法;欧式距离法:

4595欧氏距离越小,两个向量越接近,因此越相似。如果对同一类内各个模式向量间的欧氏距离做出规定,不允许超过某一个最大值T,则最大欧氏距离T就成为一种聚类判据,同类模式欧氏距离小于T,两类模式向量的欧式距离大于T。

如图所示:

4595余弦法:描述两个模式向量的另一个常用方法是计算其夹角的余弦,

即:

4595,两个模式向量越接近,其夹角越小,余弦越大。如果对同一类内各个模式向量间的夹角做出规定,不允许超过某一最大角,最这个最大夹角就成为一种聚类判据。同模式向量的夹角小于此最大角,不同模式类的夹角大于此最大角。余弦法适合模式向量长度相同或者模式特征只与向量相关的相似性测量。

如图所示:

4595内积法:描述两个模式向量的常用方法是计算内积。即:

4595,内积值越大,相似度越高。

不同的相似度会导致所形成的聚类不同,如图所示:

4595

向量归一化:不同的向量有不同的角度和不同的长度,归一化的目的是将向量变成方向不变长度为1的单位向量。二维和三维单位向量可以在单位圆和单位球上直观表示。单位向量进行比较时,只需要比较向量的夹角。向量归一化按下式进行:

4595,上边有一个小三角的标志,代表归一化以后的向量。

竞争神经网络算法

1、竞争学习规则

在竞争网络中采用的学习规则是胜者为王规则。该算法可分为3个步骤:向量归一化  将输入模式X,和对应的权值向量矩阵归一化处理。

寻找获胜神经元  输入一个模式时,竞争层的所有神经元对应的权向量和输入模式进行相似性比较,将相似性最大的权向量判为获胜神经元。使用欧氏距离法时,转化为求两向量点积最大的问题。

网络输出和权值调整  胜者为王学习规则规定,获胜神经元输出为1,其余输出为0,只有获胜神经元才有权利调整权向量,其余神经元没有权利调整权向量:

4595

其中,α是学习率,一般随着学习的进展而减小。注意,归一化后的权向量经过调整后得到的新向量不再是单位向量,因此需要对调整后的向量重新归一化。

典型例题:这个例题的计算过程就是竞争学习规则的应用。注意:极坐标3应该是45度。

4595

4595

4595

4595

4595

(二)自组织特征映射网络SOM

SOM网的生物学基础是对于某一图形或某一频率的特定兴奋过程是自组织特征映射网中的竞争机制。也就是,神经网络对特定的模式产生兴奋。

自组织映射网络与竞争神经网络非常相似,神经元都具有竞争性,都采用无监督学习方式。主要区别在于自组织映射网络除了能学习输入样本的分布外,还能够识别输入向量的拓扑结构。

SOM网络共有两层,输入层各神经元通过权向量将外界信息汇集到输出层的各神经元。输入层的形式与BP网相同,节点数与样本维数相等。输出层也是竞争层,神经元的排列有多种形式,如一维线阵、二维平面阵、三维栅格阵,常见的是前两种。

一维线阵:输出层按照一维阵列组织的SOM网是最简单的自组织神经网络,下图中的一维阵列SOM网的输出层只标出相邻神经元间的侧向连接。

4595

二维平面阵:输出按照二维平面组织是SOM网最典型的组织方式,该组织方式更具有大脑皮层的形象。输出层的每个神经元同他周围的其他神经元侧向连接,排列成期盼状平面,结构如图所示:

4595

SOM网采用的算法是在胜者为王算法基础上加以改进而成的,其主要区别在于调整权向量与侧抑制的方式不同。在胜者为王算法中,只有竞争获胜神经元才能调整权向量,其他神经元无权调整。而SOM网的获胜神经元对齐邻近神经元的影响是由远及近的,由兴奋逐渐转变为抑制,因此其学习算法中不仅获胜神经元本身要调整权向量,它周围的神经元在其影响下也要程度不同的调整权向量。这种调整可用下图的三种函数表示,其中b图是a图的两个函数曲线组合而成的。

4595

4595

优胜领域开始定的很大,但是其大小随着训练次数的增加不断收缩,最终收缩到半径为0。

自组织特征神经网络的学习算法

4595

4595

算法流程图:

4595

4595

4595

自组织特征神经网络的设计

SOM网输入层的设计与BP网相似,而输出层的设计以及网络参数的设计比BP网复杂的多,是网络设计的重点。

输出层的设计:

输出层的设计包括两个问题:一个是节点数的设计,一个是节点排列的设计。

节点数与训练集样本有多少模式类有关。如果节点数少于模式类数,则不足以区分全部模式类,训练的结果势必将相近的模式类合并为一类。这种情况相当于将输入样本进行粗分。如果节点数多于模式类,训练的结果一种是将类别分的过细,一种可能出现死节点,即在训练过程中,某个节点从未获胜过,且远离其他获胜节点,因此它的权向量从未得到过调整。在解决分类问题时,如果没有确切的分类数,宁可先设置较多的输出节点,如果分类过细在减小节点数。死节点问题一般可通过重新初始化权值得到解决。

输出层的节点排列成哪种形式取决于实际应用的需要,排列形式应尽量直观反映出实际问题的物理意义。例如,对于旅行路径类的问题,二维平面比较直观;对于一般的分类问题,一个输出节点就能代表一个模式类,用一维线阵意义明确且结构简单;而对于机器人手臂控制问题,按三维栅格排列的输出节点更能反映出手臂的运动轨迹的空间特征。

权值初始化问题:

SOM网权值一半初始化为较小的随机数,这个可以使权向量充分分散在样本空间。但是在某些应用中,样本整体集中在空间的某些局部区域,权值向量却区分在样本空间的广阔区域,训练时离整个样本群近的权值向量被调整,而远离样本群的向量得不到调整。解决这个问题的思路是尽量使权值的初始位置和输入样本群的大致分布区域重合。

根据上述思路,一种简单易行的方法就是从训练集中随机抽出输入样本作为初始权值。另一种办法是先计算全体样本的中心向量,在该中心向量基础上叠加小随机数作为权向量初始值,也可将权向量的初始位置确定在样本群中。

优胜邻域的设计:

优胜邻域的设计原则是使邻域不断缩小,这样输出平面上相邻神经元对应的权向量之间既有区别又有相当的相似性,从而保证当获胜节点对某一类模式产生最大响应时,其临近节点也能产生较大响应。邻域的形状可以是正方形、六边形、圆形。

优胜邻域的大小用邻域半径表示,利用经验公式:

4595

学习率的设计:

学习率在刚开始时,学习率可以取值较大,之后以较快的速度下降,这样有利于很快捕捉到输入向量的大致结构。然后学习率又在较小的值上缓降至0值。表达式:

4595

SOM网的局限性:隐层神经元数目难以确定,因此隐层神经元往往未能充分利用,某些距离学习向量远的神经元不能获胜,从而成为死节点;

聚类网络的学习速率需要人为设定,学习终止需要人为控制,影响学习进度;

隐层的聚类结果与初始权值有关。

二、python实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值