
径向基函数(RBF Radial Basis Function)神经网络是由J.Moody和C.Darken在20世纪80年代末提出的一种神经网络,它是具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称感受野-Receptive Field)的神经网络结构,因此,RBF网络使一种局部逼近网络,已证明它能以任意精度逼近任意连续函数。
(1)网络结构
RBF网络是一种三层前向网络,由输入到输出的映射是非线性的,而隐含层空间到输出空间的映射是线性的,从而大大加快了学习速度并避免局部极小问题。
RBF网络结构如下图1所示。
图1 RBF神经网络结构
(2)被控对象Jacobian信息的辨识算法
在RBF网络结构中,为网络的输入向量。设RBF网络的径向基向量,其中为高斯基函数
(1)
其中网络的第j个节点的中心矢量为。
设网络的基宽向量为
为节点j的基宽度参数,且为大于零的数。网络的权向量为
(2)
辨识网络的输出为
(3)
辨识器的性能指标函数为
(4)
根据梯度下降法,输出权、节点中心及节点基宽参数的迭代算法如下
式中,为学习速率,为动量因子。
Jacobian阵(即为对象的输出对控制输入变化的灵敏度信息)算法为
(5)
式中,。
%RBF神经网络逼近程序(非使用MATLAB工具箱),可显示网络的权值和阈值及误差
clear all;
close all;
xite=0.5; %学习速率
alfa=0.05; %动量因子
beta=0.01;
x=[1,0,0,0]'; %输入样本
ci=30*ones(4,6); %初始化网络节点的中心矢量
bi=10*ones(6,1); %初始化网络的基宽
w=0.10*ones(6,1); %初始化网络的权值
h=[0,0,0,0,0,0]'; %初始化网络的径向基向量
ci_1=ci;ci_3=ci_1;ci_2=ci_1;
bi_1=bi;bi_2=bi_1;bi_3=bi_2;
w_1=w;w_2=w_1;w_3=w_1;
counter=0; %训练次数
yout=2; %输出目标值
ym=0; %训练目标值
e=yout-ym; %逼近误差
while (abs(e)>=0.0001)
counter=counter+1;
for j=1:1:6
h(j)=exp(-norm(x-ci(:,j))^2/(2*bi(j)*bi(j)));
end
ym=w'*h;
d_w=0*w;
for j=1:1:6
d_w(j)=xite*(yout-ym)*h(j);
end
w=w_1+d_w+alfa*(w_1-w_2);
d_bi=0*bi;
for j=1:1:6
d_bi(j)=xite*(yout-ym)*w(j)*h(j)*(bi(j)^-3)*norm(x-ci(:,j))^2;
end
bi=bi_1+ d_bi+alfa*(bi_1-bi_2);
for j=1:1:6
for i=1:1:4
d_ci(i,j)=xite*(yout-ym)*w(j)*(x(i)-ci(i,j))*(bi(j)^-2);
end
end
ci=ci_1+d_ci+alfa*(ci_1-ci_2);
ci_3=ci_2;
ci_2=ci_1;
ci_1=ci;
bi_3=bi_2;
bi_2=bi_1;
bi_1=bi;
w_3=w_2;
w_2=w_1;
w_1=w;
e=yout-ym;
end
