TP=[ disp freq max epoch err goal Ir;%设置参数变量TP W,B, epochs,eror]= trainwh(W,B,P,T,TP)%进行线性网络权值训 练 在随机初始值为:Wo=-0.9309;Bo=-0.8931的情况下,经过12次循环 训练后,网络的输出误差平方和达到0000949,网络的最终权值为 W=-0.2354;B=0.7066 实际上,对于[例51这个简单的例题,它存在一个精确解,且可以用解二元 次方程的方式将P和T值分别对应地代入方程T=W*P十B得: W+B=05 12W+B=10 可解出e=TA=0的解为 W=-0.2273;B=0.7273 由此看出,对于特别简单的问题,采用自适应线性网络的训练不一定能够得 到足够精确的解。因为当训练误差达到期望误差值后,训练即被终止, 对于具有零误差的自适应线性网络,即输入输出矢量对存在着严格的线性关 系,此时的自适应线性网络的设计可以采用工具箱中另外一个名为 solvelin. m的 函数。以例5.1为例,可简单用下面的命令: 》W,B]= solvelin(P,T 可立即得到精确解: W=-0.2273 B=0.7273 然后可用 simulinn函数来检测所设计的网络 》A= simulin(P,W,B) A= 0.500010000 还可以用 sumsqr m函数来求出误差平方和 》SSE= suman(TA) SSE 6
6 TP=[disp_freq max_epoch err_goal lr]; %设置参数变量 TP [W,B,epochs,error]=trainwh(W,B,P,T,TP) %进行线性网络权值训 练 end 在随机初始值为:W0=—0.9309;B0=—0.8931 的情况下,经过 12 次循环 训练后,网络的输出误差平方和达到 0.000949,网络的最终权值为: W=-0.2354;B=0.7066 实际上,对于[例 5.1]这个简单的例题,它存在一个精确解,且可以用解二元 一次方程的方式将 P 和 T 值分别对应地代入方程 T=W*P 十 B 得: 可解出 e=T-A=0 的解为: W=-0.2273;B=0.7273 由此看出,对于特别简单的问题,采用自适应线性网络的训练不一定能够得 到足够精确的解。因为当训练误差达到期望误差值后,训练即被终止。 对于具有零误差的自适应线性网络,即输入/输出矢量对存在着严格的线性关 系,此时的自适应线性网络的设计可以采用工具箱中另外一个名为 solvelin.m 的 函数。以[例 5.1]为例,可简单用下面的命令: 》[W,B]=solvelin(P,T) 可立即得到精确解: W=—0.2273 B=0.7273 然后可用 simulin.m 函数来检测所设计的网络: 》A=simulin(P,W,B) A= 0.5000 1.0000 还可以用 sumsqr.m 函数来求出误差平方和: 》SSE=sumsqr(T-A) SSE= 0
可见所设计网络的误差为零。 例5.2现在来考虑一个较大的多神经元网络的模式联想的设计问题。输入 矢量和目标矢量分别为 P=[11.51.2-03; 1230.5 21-1609]; T=[0.53-2.214; 1.1-121.7-04 302-1.804 0.1-1.00.6]; 解 由输入矢量和目标输出矢量可得:r=3,s=4,q=4。所以网络的结构如图 2所示 P P2 43 图52网络设计的结构图 这个问题的求解同样可以采用线性方程组求出,即对每一个输出节点写出输 入和输出之间的关系等式。对于网络每一个输出神经元都有4个变量(三个权值 加一个偏差),有四个限制方程(每组输入对应四个输出值)。这样由四个输出节点, 共产生16个方程,其方程数目与权值数目相等。所以只要输入矢量是线性独立 的,则同时满足这16个方程的权值存在且唯一。对应到网络上来说,则存在零 误差的精确权值
7 可见所设计网络的误差为零。 [例 5.2]现在来考虑一个较大的多神经元网络的模式联想的设计问题。输入 矢量和目标矢量分别为: 解: 由输入矢量和目标输出矢量可得:r=3,s=4,q=4。所以网络的结构如图 5.2 所示。 图 5.2 网络设计的结构图 这个问题的求解同样可以采用线性方程组求出,即对每一个输出节点写出输 入和输出之间的关系等式。对于网络每一个输出神经元都有 4 个变量(三个权值 加一个偏差),有四个限制方程(每组输入对应四个输出值)。这样由四个输出节点, 共产生 16 个方程,其方程数目与权值数目相等。所以只要输入矢量是线性独立 的,则同时满足这 16 个方程的权值存在且唯一。对应到网络上来说,则存在零 误差的精确权值