自组织映射神经网络
自组织映射(SOM)或自组织特征映射(SOFM)是一种类型的人工神经网络(ANN),其使用已训练的无监督学习以产生低维(通常为二维),离散的表示训练样本的输入空间,称为地图,因此是一种减少维数的方法。自组织映射与其他人工神经网络不同,因为它们应用竞争学习而不是纠错学习(例如具有梯度下降的反向传播)),从某种意义上说,他们使用邻域函数来保留输入空间的拓扑属性。
这使得SOM 通过创建高维数据的低维视图(类似于多维缩放)对可视化非常有用。芬兰教授Teuvo Kohonen在20世纪80年代引入的人工神经网络有时被称为Kohonen地图或网络。Kohonen网是一种计算上方便的抽象,建立在20世纪70年代神经系统的生物模型上和形态发生模型可追溯到20世纪50年代的阿兰图灵。
背景:自组织(竞争型)神经网络
发展历史
SOM模型起源于早期的神经网络模型,比如联想记忆和自适应学习模型。该模型源自解释大脑皮层功能的空间组织。但是,SOM并不是第一个模型。1973年由von der Malsburg提出的空间有序的线探测器模型,1980年由Amari提出的神经场模型都比SOM模型提出要早。然而,这些早期模型的自组织能力相当薄弱。Kohonen的重要发明是引入一个系统模型,该系统是由两个不同性质的相互作用子系统组成。其中一个子系统是一个竞争神经网络,它实现了赢者通吃的功能,另一个子系统是被神经网络控制的塑形控制子系统,在学习过程中改变神经元的局部突触可塑性。学习过程被限制在最为活跃的神经元局部邻域,而塑性控制子系统是基于非特异性神经交互作用,最有可能是基于化学控制作用。只有通过神经信号传递和塑性控制的分离,才能实现一个有效的、健壮的自组织系统。
SOM模型可以用抽象的数学形式表达,而不涉及任何底层神经或其他成分。SOM的第一个应用领域是语音识别。目前,SOM已经在数据分析和数据挖掘领域得到广泛使用。
主要事件
年份 | 事件 | 相关论文 |
1973 | 提出空间有序线探测器模型 | von der Malsburg, C. (1973). Self-organization of orientation sensitive cells in the striate cortex. Kybernetik, 14:85-100 |
1980 | 提出神经场模型 | Amari, S. (1980). Topographic organization of nerve fields. Bulletin of Mathematical Biology, 42:339-364. |
1982 | 提出SOM网络 | Kohonen, Teuvo (1982). "Self-Organized Formation of Topologically Correct Feature Maps". Biological Cybernetics. 43 (1): 59–69 |
1998 | 提出了一种利用树代替SOM模型中矢量的扩展方法 | Markus Peura(1998).The Self-Organizing Map of Trees.Neural Proc |
竞争学习的概念与原理
竞争学习的步骤
一种自组织神经网络的典型结构:如下图,由输入层和竞争层组成。主要用于完成的任务基本还是“分类”和“聚类”,前者有监督,后者无监督。聚类的时候也可以看成将目标样本分类,只是是没有任何先验知识的,目的是将相似的样本聚合在一起,而不相似的样本分离。
欧式距离:
余弦相似度:
很容易证明,当图中X与Xi都是模为1的单位向量时(其实不一定要1,只要是常数就行),欧氏距离等价于余弦相似度(距离最小相似度越大),而余弦相似度退化为向量内积。
竞争学习规则——Winner-Take-All :
网络的输出神经元之间相互竞争以求被激活,结果在每一时刻只有一个输出神经元被激活。这个被激活的神经元称为竞争获胜神经元,而其它神经元的状态被抑制,故称为Winner Take All。
那么如何寻找获胜神经元?首先,对网络当前输入模式向量X和竞争层中各神经元对应的权重向量Wj(对应j神经元)全部进行归一化,使得X和Wj模为1;当网络得到一个输入模式向量X时,竞争层的所有神经元对应的权重向量均与其进行相似性比较,并将最相似的权重向量判为竞争获胜神经元。前面刚说过,归一化后,相似度最大就是内积最大:
也就是在单位圆(2D情况)中找到夹角最小的点。
知道哪个神经元获胜后就是神经元的输出和训练调整权重了:
因此,总结来说,竞争学习的步骤是:
- 向量归一化
- 寻找获胜神经元
- 网络输出与权值调整
步骤3完成后回到步骤1继续训练,直到学习率衰减到0。学习率处于(0,1],一般随着学习的进展而减小,即调整的程度越来越小,神经元(权重)趋于聚类中心。
SOM典型结构
典型SOM网共有两层,输入层模拟感知外界输入信息的视网膜,输出层模拟做出响应的大脑皮层。
SOM网的权值调整域
和上一节介绍的WTA策略不同,SOM网的获胜神经元对其邻近神经元的影响是由近及远,由兴奋逐渐转变为抑制,因此其学习算法中不仅获胜神经元本身要调整权向量,它周围的神经元在其影响下也要程度不同地调整权向量。这种调整可用三种函数表示,下图的bcd。
Kohonen算法:基本思想是获胜神经元对其邻近神经元的影响是由近及远,对附近神经元产生兴奋影响逐渐变为抑制。在SOM中,不仅获胜神经元要训练调整权值,它周围的神经元也要不同程度调整权向量。常见的调整方式有如下几种:
墨西哥草帽函数:获胜节点有最大的权值调整量,临近的节点有稍小的调整量,离获胜节点距离越大,权值调整量越小,直到某一距离0d时,权值调整量为零;当距离再远一些时,权值调整量稍负,更远又回到零。如(b)所示
大礼帽函数:它是墨西哥草帽函数的一种简化,如(c)所示。
厨师帽函数:它是大礼帽函数的一种简化,如(d)所示。
其中,“墨西哥帽”:
在自组织映射神经网络中,获胜的神经元将使得相关的各权重向更加有利于它竞争的方向调整,即以获胜神经元为中心,对近邻的神经元表现出兴奋性侧反馈,而对远邻的神经元表现出抑制性侧反馈,近邻者互相激励,远邻者相互抑制。近邻和远邻均有一定的范围,对更远邻的神经元则表现弱激励的作用。
以获胜神经元为中心设定一个邻域半径R,该半径圈定的范围称为优胜邻域。在SOM网学习算法中,优胜邻域内的所有神经元均按其离开获胜神经元的距离远近不同程度地调整权值。 优胜邻域开始定得很大,但其大小随着训练次数的增加不断收缩,最终收缩到半径为零。
SOM Kohonen 学习算法
学习率函数的形式一般可以写成这样:,其中η(t)可采用t的单调下降函数也称退火函数,比如下面这些形式都符合要求:
在迭代结束之后,每个样本所激活的神经元就是它对应的类别。自组织映射神经网络具有保序映射的特点,可以将任意维输入模式在输出层映射为一维或者二维图形,并保持拓扑结构不变。这种拓扑映射使得“输出层神经元的空间位置对应于输入空间的特定域或特征”。由其学习过程可以看出,每个学习权重更新的效果等同于将获胜的神经元及其邻近的权向量wi向输入向量x移动,同时对该过程的迭代进行会使得网络的拓扑有序。
SOM示例
首先给定训练数据(绿点)和神经元权重初始值(红花):
通过迭代训练之后,神经元权重趋向于聚类中心;
Test阶段,给定数据点(黄点),基于WTA策略,用内积直接算出和哪个神经元最相似就是分到哪个类。
SOM设计细节
输出层设计
输出层神经元数量设定和训练集样本的类别数相关,但是实际中我们往往不能清除地知道有多少类。如果神经元节点数少于类别数,则不足以区分全部模式,训练的结果势必将相近的模式类合并为一类;相反,如果神经元节点数多于类别数,则有可能分的过细,或者是出现“死节点”,即在训练过程中,某个节点从未获胜过且远离其他获胜节点,因此它们的权值从未得到过更新。
不过一般来说,如果对类别数没有确定知识,宁可先设定较多的节点数,以便较好的映射样本的拓扑结构,如果分类过细再酌情减少输出节点。“死节点”问题一般可通过重新初始化权值得到解决。
输出层节点排列的设计
输出层的节点排列成哪种形式取决于实际应用的需要,排列形式应尽量直观反映出实际问题的物理意义。例如,对于颜色空间或者旅行路径类的问题,二维平面比较直观;对于一般的分类问题,一个输出节点节能代表一个模式类,用一维线阵意义明确结构简单。
权值初始化问题
基本原则是尽量使权值的初始位置与输入样本的大概分布区域充分重合,不要出现大量的初始“死节点”。
一种简单易行的方法是从训练集中随机抽取m个输入样本作为初始权值
另一种可行的办法是先计算出全体样本的中心向量,在该中心向量基础上迭加小随机数作为权向量初始值,也可将权向量的初始位置确定在样本群中(找离中心近的点)。
学习率的设计
在训练开始时,学习率可以选取较大的值,之后以较快的速度下降,这样有利于很快捕捉到输入向量的大致结构,然后学习率在较小的值上缓降至0值,这样可以精细地调整权值使之符合输入空间的样本分布结构。在上一篇中,我们提到最终的学习率是由学习率*优胜领域的影响,也有一些资料是把两者分开的,学习率就是一个递减的函数(学习率可以参考上面优胜邻域半径的设定形式,可选形式类似),而优胜邻域也是t的递减函数,只不过我们队优胜邻域内的点进行更新罢了。
设计拓扑领域
拓扑领域的设计原则是使领域不断缩小,这样输出平面上相邻神经元对应的权向量之间既有区别又有相当的相似性,从而保证当获胜节点对某一类模式产生最大响应时,其领域节点也能产生较大响应。领域的形状可以是正方形、六边形或者菱形。优势领域的大小用领域的半径表示,通常凭借经验来选择。下面是两种典型形式:
C1为于输出层节点数有关的正常数, B1为大于1的常数,T为预先选定的最大训练次数。
SOM功能分析
保序映射
将输入空间的样本模式类有序地映射在输出层上。
1989年Kohonen给出一个SOM网的著名应用实例,即把不同的动物按其属性映射到二维输出平面上,使属性相似的动物在SOM网输出平面上的位置也相近。训练集选了16种动物,每种动物用一个29维向量来表示。前16个分量构成符号向量(不同的动物进行16取1编码),后13个分量构成属性向量,描述动物的13种属性的有或无(用1或0表示)。
SOM网输出平面上有10×10个神经元,16个动物模式轮番输入训练,最后输出平面呈现16种动物属性特征映射,属性相似的挨在一起,实现了特征的有序分布。(实现这个图只需要判断每个神经元的模式和哪个样本最近) 。
数据压缩
将高维空间的样本在保持拓扑结构不变的条件下投影到低维的空间,在这方面SOM网具有明显的优势。无论输入样本空间是多少维,其模式都可以在SOM网输出层的某个区域得到相应。SOM网经过训练以后,在高维空间输入相近的样本,其输出相应的位置也相近。
特征提取
从高维空间样本向低维空间的映射,SOM网的输出层相当于低维特征空间。
另外,还有字符排序,复合材料损伤监测等等有趣的应用。
自组织映射神经网络与K均值算法的区别
- K均值算法需要事先定下类的个数,也就是K的值。而自组织映射神经网络则不用,隐藏层中的某些节点可以没有任何输入数据属于它,因此聚类结果的实际簇数可能会小于神经元的个数。而K均值算法受K值设定的影响要更大一些。
- K均值算法为每个输入数据找到一个最相似的类后,只更新这个类的参数;自组织映射神经网络则会更新临近的节点。所以,K均值算法受noise data的影响比较大,而自组织映射神经网络的准确性可能会比K均值算法低(因为也更新了临近节点)。
- 相比较而言,自组织映射神经网络的可视化比较好,而且具有优雅的拓扑关系图。
未来发展方向
当前SOM神经网络需要再以下三个方面进行深入地研究和讨论,因为它能堆SOM自组织算法的收敛性提供理论依据,并对任何修正形式提供评判标准,依次指明改进算法性能的正确方向。
当迭代次数趋于无穷时,网络权值是否收敛到一个最优解,网络是否会收敛到一个唯一状态?对这个问题的研究目前只限于一维网络,就一维网络情况而言,可以严格证明,在自组织学习结束后,对于一大类领域函数,SOM算法几乎确定收敛到一个唯一状态,而多维问题尚未解决。
算法的收敛性与学习速率,领域半径,以及权值之间的关系如何?如何确定最佳的学习速率和领域半径,对这个问题的研究目前也是只限于一维网络,针对多维没有解决。
对SOM算法的一些修正,由于SOM算法不能提供对输入数据的股友分布的可信表示,其促使了对算法的修正和新的自组织算法的发展,如修改竞争过程,在竞争过程中加入以概率方式获胜,修改更新过程,主要是调整领域函数内每个神经元权值向量更新规则,控制特征映射的放大性质。
标签:Map,映射,04,AI,SOM,权值,节点,向量,神经元 From: https://blog.csdn.net/yangguangjiujiu99/article/details/140176977