径向基函数(RBF Radial Basis Function)神经网络

径向基函数(RBF Radial Basis Function)神经网络是由J.Moody和C.Darken在20世纪80年代末提出的一种神经网络,它是具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称感受野-Receptive Field)的神经网络结构,因此,RBF网络使一种局部逼近网络,已证明它能以任意精度逼近任意连续函数。

径向基函数(RBF Radial Basis Function)神经网络_第1张图片

%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

你可能感兴趣的:(MATLAB,板块3:通信与信号处理,板块4:神经网络/深度学习)