神经网络课程设计 神经网络用于机器手臂的控制
在表中,s?和s?组合成A?,每个A?中含c个单元,在A中同样有c个单
12元被激励。在表5中,每一组合Ae,Cf,……都代表A中的一个地址,正如前面所说,这样的地址共有qm个,数量很大,但实际能被激励的地址是非常稀疏的,可使用杂散技术把很大的A空间压缩到较小的实际空间Ap中去。
(3) A到Ap的映射
杂散技术是将分布稀疏,占用较大存储空间的数据作为一个伪随机发生器的变量,产生一个占用空间小的随机地址,用于存放A中的数据。实现这一个压缩的最简单方法是将A中A?的地址除以一个大的质数,所得余数就作为一个伪随机码,表示为Ap中的地址。用杂散技术会带来冲撞问题,即A中不同的地址在Ap中却被映射到同一个地址,若映射的随机性很强,将减少冲撞的概率,但仍不可避免。在CMAC中,我们忽略这种冲撞,因为冲撞部强烈时,可将其看作一种随机扰动,通过学习算法的迭代过程,可逐步将影响减小,而不影响输出结果。
(4)Ap到F的映射 网络输出为F(si)??w ,w存于A的
iipA?个地址中,因为经S?A的变
i?A?化后,有A?个地址被选中,如不考虑冲撞,在中Ap也有A?个地址对应,由于使用杂散技术,在Ap中这A?个地址是随机分布的。输出是这A?个地址中所存的权值的叠加,对应某一输入样本,总可通过调整权值,达到应有的输出值。 4.学习算法
CMAC的学习采用误差纠正算法,如图3所示。权值修正公式为
w(n?1)?w(n)???iA?
?i?F0i?F(si) F0i为应有输出,
F(si)??w
ii?A?A?=c,为综合聚类神经元数
修正方法可以用每个样本修正一次的方法,也可用所有样本都输入一轮后在修正的批学习方法。
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
Fig3 CMAC的学习算法
5.程序作业
算法的思路来此书本,为了验证所做算法的正确性,首先使用一个一维的进行验证。通过选择可以使用CMAC算法对一个正弦波形进行逼近。见程序一。(程序见附录)
Fig1.1
主要是通过图像来看CMAC的效果,通过多次对权值的修改,达到最好的
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
效果。下面分别是三次网络的训练的逼近图。Fig1.1是训练三次的结果Fig1.2是它的权值分布,Fig2.1也是训练五次的结果,Fig2.2是它的权值分布,Fig3.1是训练九次的结果,Fig3.2是它的权值分布:(其中显示的SSe是21个点上的误差的和均方根)
Fig 1.2权值分布
epoch = 1 SSE = 0.926 epoch = 2 SSE = 0.231 epoch = 3 SSE = 0.058
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
Fig2.1
Fig2.2 权值分布
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
epoch = 1 SSE = 0.926 epoch = 2 SSE = 0.231 epoch = 3 SSE = 0.058 epoch = 4 SSE = 0.014 epoch = 5 SSE = 0.004
Fig3.1
Fig3.2权值分布
张建文 1030319100 张卜南1030319078