⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytraining.m

📁 径向基神经网络程序加上应用
💻 M
字号:
function [w,error ]= mytraining(x,h,gaussian,learning,mode,center,variance)

%
[fnum dnum]= size(gaussian);
w = rand(fnum,1)*2-1;

oldw=w;
for i=1:100   % 100 epoches     
    
    for j=1:dnum
       temp = gaussian(:,j).*w;
       
       aoutput = sum(temp);
       err(j) = abs((h(j)-aoutput))^2;
       
       %on-line
       if mode == 1  
           w = w+learning*(h(j)-aoutput)*gaussian(:,j); 
       end
       %batch
       if mode == 2
           del(:,j) = learning*(h(j)-aoutput)*gaussian(:,j);
       end
       
    end
    %batch mode
    if mode == 2
        w = w +sum(del')'/dnum;
    end
    error(i)=sum(err);    
end

error = error/dnum;

for i=1:fnum
    gay(i,:) = gaussian(i,:)*w(i);
end

sumgay = sum(gay);

if mode ==1
    a = 'On-line';
end
if mode ==2
    a = 'Batch';
end
g = num2str(fnum-1);        
l = num2str(learning);
%title('test');

ss = [g ' groups' '. Learnig rate = ' l '. Training method: ' a '. Error = ' num2str(error(100)) ];

it = 1000;
xxx = [0:1/it:1];

for i=1:fnum-1
    gauu(i,:) = exp(-1*(xxx-center(i)).^2/(2*variance));
end
gauu(fnum,:) = ones(1,it+1);

zh = 0.5+0.4*sin(2*pi*xxx);

final = (gauu'*w)';

cgau = zh(round((center)*it)); 

figure
plot(xxx,final,'b-',x,h,'go',x,sumgay,'ks',center,cgau,'r*',xxx,zh,'k:',xxx,zh-final-0.2,'r:',xxx,zeros(1,it+1)-0.2,'k');
%plot(x,sumgay,x,sumgay,'bx',x,h,'g',x,h,'o',x,h-sumgay-0.2,'r:',x,zeros(1,50)-0.2,'k',ox,oh,'k:');
legend('Approximating function','Sampled points','Approximated points','Centers of bases','Original Sine function','Error');

title(ss);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -