SOFM 网络的工作原理是:当网络接受外界输入模式时,将会分为不同的区域,各区域对输入模式具有不同的响应特征。也就是说,特征相近的输入模式靠得比较近,差异大的分得比较远。在各神经元联接权值的调整过程中,最邻近的神经元相互刺激,而较远的神经元则相互抑制,更远一些的则具有较弱的刺激作用。输入层所有神经元通过相互竞争和自适应学习,形成空间上的有序结构,从而实现输入矢量到输出矢量空间的特征映射。SOFM 的学习则使网络节点有选择地接受外界刺激模式的不同特性,从而提供了基于检测特性空间活动规律的性能描述。其实,SOFM 的学习过程就是在某个学习准则的指导下,逐步优化网络参数的过程。该网络分为输入层和竞争层两层。两层之间实行全互连。它将任意维输入模式在输出层映射成一维或二维离散图形,并保持其拓扑结构不变。在竞争层中,让竞争获胜的那个神经元 c 的兴奋程度最高,并使其周围 VBc 的区域内的神经元在不同程度上都得到兴奋,VBc 是时间的函数,随着时间的增加,NBc 的范围不断的减小,通过图可以直观的看出来。 SOFM 的算法流程见图 从上述算法可以看出,网络训练完毕后,各输出单元对应一个权值。在分类过程中,每个分类对象必与其中一个权值的距离最近,把与同一输出单元的权值最近的点作为同一类,并由该输出单元输出,即达到了分类的目的。 SOFM 分类算法:步骤 1:对图像数据作归一化处理,将各点象素值归一化到区间[0,1]内,由此得到图像 X=(x1,x2,„xn),其中xi为图像一点的归一化后的模式. 步骤 2:初始化网络连接权值Wj,其中 1<=j<=M,M 对应竞争层神经元向量元素的个数。 步骤 3:选择获胜单元 c,dc=jmin||xi-wj||. 步骤 4:进行连接权调整 邻域函数一般选用 Gaussian 函数:NB(t)=exp{-dj,i(x)2)/2σ 2} 其中dj,i(x)表示邻域中神经元与获胜神经元间的距离,采用 Euclid 距离计算;σ 为邻域的有效半径,随离散时间指数衰减σ(t)=σ (0).exp(-t/τ1),t=0,1,2,∀,j=1,2,…m 的初始值,τ1为时间常数,σ (0)是σ (t)的初始值. 步骤 5:按照以上步骤,反复训练每一个输入的模式值xi,直至完成规定的训练次数.经过学习后,再次将xi输入网络,其输出结果即为分类结果。 SOFM 网络是一种基于 Hebb 学习规则进行网络训练,具有自组织功能的神经网络。它可把 任意维的输入信号变换到一维或二维的离散网格上,并保持一定的拓扑有序性。SOFM 网络具有特征抽取作用,通过自身训练可以自动对输入...