整个算法的流程大体可分成三个部分。第一个部分是调节隐层节点的中心位置和隐层与输出层之间的权值。本文采用梯度下降法,每循环一次,相应地调节一次。第二个部分是执行添加操作。添加的策略是根据输出误差在输入空间分布的不均匀性而提出的。如果执行该操作过频,不但会减小隐层节点的中心位置和权值的调节速度,而且会造成隐层节点数目过多,计算量增大,导致过度拟合。考虑到以上因素,采用间歇的方式执行添加操作,只有当i=4n+1(n=0,1,2,…)时,才执行添加操作。第三个部分是执行删除操作。如果执行该操作过频,对于一些新增加的隐层节点,其中心位置和权值有可能还没来得及调整就已经被删除了,所以也采用间歇的方式执行。当i=8m+7(m=0,1,2,…)时,才执行删除操作。
2.4 RBF网络参数调整算法
本文采用梯度下降法调整RBF的隐层节点中心位置和权值。设隐层节点的数目为m,一共有N组训练样本:(x,y)={(x1,y1),(x2,y2),…,(xN,yN)}。神经网络的实际输出为:。选取均方差为误差函数,取ρ1和ρ2为学习率。
(1)调整隐层节点的权值
(2)调整隐层节点中心的位置
3 仿真实例
(1)对随机曲面进行恢复
仿真中定义曲面方程如下:
原始数据集所得曲面图像如图2所示。
以x(x=x1,x2)为输入矢量,其中,x1和x2分别以1为间隔在区间[0,9]内均匀取值,一共得到100组输入数据(x1,x2)。选取ε=0.02,θ=0.3,ρ1=0.1,ρ2=0.05。经过20次训练,最后得到的网络具有41个隐层节点,系统的均方误差为0.023 3。拟合后的曲面图像如图3所示。
(2)对θ取不同值时的比较,结果如表1~表3所示。
4 结语
针对RBF神经网络隐层节点的参数和数量难以确定的问题,提出了一种自适应的学习算法。该算法事先不需要确定隐层节点的中心位置和数量,而是通过相应的添加和删除策略实现的。添加策略是根据输出误差在输入空间分布的不均匀而提出的,通过执行相应的操作可以使隐层节点的数目在学习过程中自适应的增加。同时,为了使隐层节点数目不过于膨胀,还制定了删除策略。它先分析每个隐层节点对整个网络所作的贡献,然后删除贡献小的节点,以保持网络结构简单。仿真研究表明,该网络不仅灵活性高,结构简单,精度高,而且具有较好的泛化能力。