SOM Kohonen学习算法
算法的步骤:
1.初始化,对输出层的各个神经元赋予随机的小的初始值,并进行归一化处理,得到w^j,j = 1,2,…,m,建立优胜领域Nj*(0);学习率learn_rate初始化;
2.对输入的数据进行归一化处理,得到X^p,j = 1,2,…,P,总共由P个数据;
3.寻找获胜的神经元:从Xp与所有wj的内积中找到最大j∗;
4.定义优胜邻域Nj∗(t)以j∗为中心确定t时刻的权值调整域,一般初始邻域Nj∗(0)较大,训练时Nj∗(t)随训练时间逐渐收缩;
5.调整权重,对优胜邻域Nj∗(t)内的所有神经元调整权重: wij(t+1)=wij(t)+η(t,N)[xPi−wij(t)]i=1,2,…,nj∈Nj∗(t)
6.结束检查,查看学习率是否减小到0,或者以小于阈值。