设有现有一个样本数据集,含有4个模式类,,,,各个类别含有5个数据,每个数据是一个二维向量[x,y]。则需要设定4个输出层神经元来构建SOM网络,由于输入数据是二维的向量,所以输入层神经元有2个。
为了使SOM网络的设计和实行过程在作图中清晰可见,对输入的样本数据集均进行归一化处理。
:
A =
0.8776 0.4794
0.8525 0.5227
0.8253 0.5646
0.7961 0.6052
0.7648 0.6442
:
B=
-0.6663 0.7457
-0.7027 0.7115
-0.7374 0.6755
-0.7702 0.6378
-0.8011 0.5985
:
C=
-0.5748 -0.8183
-0.5332 -0.8460
-0.4903 -0.8716
-0.4461 -0.8950
-0.4008 -0.9162
:
D=
0.9602 -0.2794
0.9729 -0.2311
0.9833 -0.1822
0.9911 -0.1328
0.9965 -0.0831
第一步:设定初始初始权值w,暂时设定为位于极坐标0°,90°,180°,270°角处的四个单位向量;设定初始学习率rate1max和学习率最小值rate1min;设定初始领域半径r1max和领域半径截止值r1min;设定输出层神经元个数为4。
第二步:输入新的模式向量X,即输入以上四类数据样本集A,B,C,D为X。
接着开始Kohonen算法的迭代运算过程,求解最佳权值w即聚类中心
第三步:每次计算输入模式到输出神经元之间的距离之前,对学习率和领域半径均进行自适应修改。随机抽取一个输入模式x,计算x与神经元之间的欧氏距离。
第四步:选取距离最小的神经元节点为最优神经元。
第五步:在规定的领域范围类对神经元的权值w按照公式进行修改。
第六步:查看迭代次数是否终止,否则继续执行第三步。是则得到最佳权值即聚类中心w。