网络结构设计和参数选择

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网络而言,神经元个数要大于分类问题的类别数,但神经元个数又不能太大,否则,会使得聚类结果的判别变得繁琐。