网络结构设计和参数选择
9.2.2.1 拓扑结构
SOFM网络一般有三种拓扑结构:六角形(hextop)结构、矩形(gridtop)结构和随机拓扑(randtop)结构。
(1)六角形拓扑结构
神经元分布在六边形格点。如,hextop(2,3)=[0 1 0.5 1.5 0 1;0 0 0.866 0.8661.7321 1.7321],其拓扑结构如图9.4所示。
图9.4 六角形拓扑结构
(2)矩形拓扑结构
生成一个格点阵列拓扑结构。如,gridtop(2,3)=[0 1 0 1 0 1;0 0 1 1 2 2],其拓扑结构如图9.5所示。
图9.5 矩形拓扑结构
(3)随机拓扑结构
神经元排列格式为随机格点。如,randtop(2,3)=[0 0.8338 0.6732 1.47170.2030 0.6577;0.1940 0 0.7208 0.8619 1.3867 1.6807],其拓扑结构如图9.6所示。
图9.6 随机拓扑结构
9.2.2.2 距离函数
SOFM网络有四种距离计算方式:
1)Boxdist:两个位置向量之间的距离。运算原理为d(i,j)=max‖pi-pj‖,其中,d(i,j)表示距离矩阵中的元素,pi表示位置矩阵的第i列向量;
2)Dist:两个神经元之间的欧几里得距离。其计算法则是D=sqrt(sum(x-y)2),其中x和y分别为列向量;
3)Linkdist:两个神经元之间的路径的步数和环节数,用于对给定神经元计算神经元之间的距离;
4)Mandist:计算神经元之间的曼哈顿距离,D=|x1-x2|+|y1-y2 |,其中xi,yi为点坐标。
9.2.2.3 学习函数
1)Learnk函数:kohonen权值学习函数,通过给定的神经元的输入P、输出A和学习率LR,该函数按照dw=LR*(P′-W)计算权值变化;
2)learnsom:自组织映射权值学习函数,对于给定的神经元输入P、激活因子A2和学习率LR,通过dw=LR*A2 *(P′-W)调整权值;
3)learnis函数:instar权值学习函数,对于给定神经元的输入P、输出A和学习率LR,按照dw=LR*A*(P′-W)调整权值;
4)learnos函数:outstar权值学习函数,对于给定神经元的输入P、输出A和学习率LR,按照dw=LR*(A-W)*P′调整权值。
9.2.2.4 学习次数
学习次数对网络训练结果的影响最直接,学习次数太少,易出现网络训练不足,达不到精度的情况,学习次数太多,又会出现过拟合的现象,使训练精度下降。
9.2.2.5 神经元个数
一般来讲,根据所分类的问题去设置神经元个数,而且对于SOFM网络而言,神经元个数要大于分类问题的类别数,但神经元个数又不能太大,否则,会使得聚类结果的判别变得繁琐。