这是我看其他学习课程资料看到的。
学习算法步骤:
(1)网络初始化
用随机数设定输入层和映射层之间权值的初始值
(2)输入向量
把输入向量输入给输入层
(3)计算映射层的权值向量和输入向量的距离
映射层的神经元和输入向量的距离,按下式给出
(4)选择与权重向量的距离最小的神经元
计算并选择使输入向量和权值向量的距离最小的神经元,把其称为胜出神经元并记为 ,并给出其邻接神经元集合。
(5)调整权重
胜出神经元和位于其邻接神经元的权值,按下式更新:
(6)是否达到预定设定的要求如达到要求则算法结束,否则返回(2),进入下一轮学习
邻域函数
由邻域函数可以看出,以获胜神经元为中心设定了一个邻域半径,称为胜出领域。学习初期,胜出神经元和其附近的神经元全部接近当时的输入向量,形成粗略的映射,随后对优胜邻域内所有神经元节点按照其离开获胜神经元的距离远近不同程度地调整权值。
优胜邻域开始定得很大,但其大小随着训练次数的增加不断收缩,最终收缩到半径为零。
流程框图