1
模式识别与智能计算的MATLAB实现
1.5.5.2 3.5.2 CPN网络的学习算法
3.5.2 CPN网络的学习算法

CPN网络的学习算法如下:

①初始化及确定参数。确定输入层神经元数n,并对输入向量X进行归一化处理:

alt

确定竞争层神经元p,对应的二值输出向量B=[b1,b2,…,bpT,输出层输出向量Y=[y1,y2,…,yqT,目标输出向量O=[o1,o2,…,oqT,读数器t=0。

初始化输入层到竞争层的连接权值Wj(j=1,2,…,p)和由竞争层到输出层的连接权重Vk(k=1,2,…,q),并对Wj进行归一化处理。

②计算竞争层的输入。按下列公式求竞争层每个神经元的输入:

alt

③计算连接权重Wj与X距离最近的向量。按下列公式计算:

alt

④将神经元g的输出设定为1,其余神经元输出设定为0,即

alt

⑤修正连接权值Wg。按下列公式进行修正并进行归一化:

wgi(t+1)=wgi(t)+α[xi-wgi(t)], i=1,2,…,n, 0<α<1

⑥计算输出。按下式计算输出神经元的实际输出值:

alt

⑦修正连接权重Vg。按下式修正权重Vg

vkg(t+1)=vkg(t)+βbj(yk-ok),  k=1,2,…,q,  0<β<1

⑧返回第②步,直到将N个输入模式全部输入。

⑨置t=t+1,将输入模式X重新提供给网络学习,直到t=T为止,其中T为预先设定的学习总次数,一般大于500。