龙空技术网

常用数据挖掘算法从入门到精通 第四章SOM神经网络聚类(下)

小AI咨询 1935

前言:

如今大家对“可以用som算法的例子”大致比较关怀,各位老铁们都需要知道一些“可以用som算法的例子”的相关资讯。那么小编同时在网上网罗了一些对于“可以用som算法的例子””的相关文章,希望你们能喜欢,兄弟们快快来了解一下吧!

上一篇文章主要介绍了SOM神经网络聚类的学习规则-竞争学习规则WTA。本篇文章将系统地讲述SOM算法的原理和步骤,并附案例帮助大家理解。

SOM网络的拓扑结构

SOM网共有两层,输入层模拟感知外界输入信息的视网膜,输出层模拟做出响应的大脑皮层。

SOM网络的基本拓扑结构

所有输入节点到所有输出节点之间都有权值连接,而且在二维平面上的输出节点相互间也可能是局部连接的

而对改变节点竞争结果起决定作用的还是输入层的加权和,所以在判断竞争网络节点胜负的结果时,可忽略竞争层节点之间的权值连接

SOM网的权值调整域

SOM网的获胜神经元对其邻近神经元的影响是由近及远,由兴奋逐渐转变为抑制,因此其学习算法中不仅获胜神经元本身要调整权向量,它周围的神经元在其影响下也要程度不同地调整权向量。这种调整常见的可用四种函数表示:

SOM网络的权值调整函数

以获胜神经元为中心设定一个邻域半径,该半径圈定的范围称为优胜邻域。在SOM网学习算法中,优胜邻域内的所有神经元均按其离开获胜神经元的距离远近不同程度地调整权值,比如说:

(a),都是兴奋,正向调整,但是调整的值越来越小

(b),先是兴奋,正向调整,随着距离的增大由兴奋状态逐渐转换为抑制状态,负向调整

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

SOM网络的运行原理

训练阶段:不断调节不同维度上的连接权重

训练阶段

工作阶段:把输入向量分配到与其最相似的节点上

工作阶段

SOM网络的算法流程

SOM的学习算法(1)

SOM的学习算法(2)

SOM算法的工作流程图

SOM网络算法实例

设一维的 SOM 分类网络如图所示,通过学习可将下列输入模式集合分成A和B两类。设输入模式为:P1=101,P2=100,P3=010,P4=011。

一维SOM网络

对于这四个输入模式,我们先求出它们之间的欧几里德距离,得到如下的一个距离关系矩阵D:

其中dij代表第 i 个模式与第 j 个模式之间的距离,(i,j =1,2,3,4)

显然d11=d22=d33=d44=0,

d12=d21=d34=d43=1,

d13=d31=d24=d42=3,

d14=d41=d23=d32=2, 因此有:

距离矩阵

定义两个模式属于同一类是指它们的距离=<1,此时 P1 和 P2 属于 A 类,而 P3 和 P4 属于 B类,A 和 B 之间的距离为 2 或 3 。

把这四类模式输入一维 SOM 网络进行学习后,最终可以得到正确的模式分类:

其中所有的输入二进制向量均位于三维立方体的顶点:

竞争层单元A的权向量WA最接近于A类的(101)和(100)两个模式

竞争层单元B的权向量WB最接近于B类的(011) 和(010)的两类模式。各模式之间的距离从图中可以明显看出。

权向量模式的空间分布

SOM神经网络聚类算法的简单理解

SOM算法作为一种无监督的神经网络聚类算法,其输入为多组向量,最终的目的是用比较少的权值向量来对多组输入向量进行合理分组,SOM算法在训练的过程不断调节连接权重,也就是不断地调节权值向量中每一个元素的大小,使得这个权值向量与这一堆输入向量更相似(点积更大),而另一个权值向量又与另一堆的输入向量更相似(点积更大),这样经过训练后权值向量中各个元素的大小就确定了,又有一个新的输入向量进来的时候,我们直接算出这个向量和各个权值向量的点积,把它分到点积最大的那一组即可。大家可以再看一下下面这个动物属性特征映射的例子来帮助大家理解。

动物属性特征映射

标签: #可以用som算法的例子