小编给大家分享一下径向基函数网络RBF的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 径向基函数网络是由三层构成的前向网络:第一层为输入层,节点个数等于输入的维数,第二层为隐含层,节点个数视问题的复杂度而定,第三层为输出层,节点个数等于输出数据的维数,径向基网络与多层感知器不同,它的不同层有着不同的功能,隐含层是非线性的,采用径向基函数作基函数,从而将输入向量空间转换到隐含层空间,使原来线性不可分的问题变得线性可分,输出层则是线性的。
%% 通过径向基神经网络拟合带有噪声的函数 P=1:.5:10; rand('state',pi); T=sin(2*P)+rand(1,length(P)); % 给正弦函数加噪声 plot(P,T,'o') net=newrb(P,T,0,0.6); test=1:.2:10; out=sim(net,test); % 对新的输入值test计算相对应的函数值 figure(1); hold on; plot(test,out,'b-'); legend('输入的数据','拟合的函数'); %% 通过径向基神经网络拟合带有噪声的函数 tic P=-2:.2:2; rand('state',pi); T=P.^2+rand(1,length(P)); % 在二次函数中加入噪声 net=newrbe(P,T,3); % 建立严格的径向基函数网络 test=-2:.1:2; out=sim(net,test); % 仿真测试 toc figure(1); plot(P,T,'o'); hold on; plot(test,out,'b-'); legend('输入的数据','拟合的函数'); %% 径向基函数 n = -5:0.1:5; a = radbas(n-2); % 中心位置向右平移两个单位 b = exp(-(n).^2/2); % 除以2,曲线更加“矮胖” figure; plot(n,a); hold on; plot(n,b,'--'); % 虚线 c = diff(a); % 计算a的微分 hold off; figure; plot(c); %% 概率神经网络适合处理分类问题 rng('default'); a=rand(8,2)*10; % 输入训练样本,8个二维向量 p=ceil(a);
tc=[2,1,1,1,2,1,2,1]; % 期望输出 plot(p([1,5,7],1),p([1,5,7],2),'o'); hold on; plot(p([2,3,4,6,8],1),p([2,3,4,6,8],2),'+'); legend('第一类','第二类'); axis([0,8,1,9]) hold off t=ind2vec(tc); net=newpnn(p',t); % 设计PNN网络 y=sim(net,p'); % 仿真 yc=vec2ind(y); % 实际输出等于期望输出
%% 广义回归神经网络常用于函数逼近 P = [1 2 3]; % 训练输入向量 T = [2.0 4.1 5.9]; % 训练输入的期望输出值 plot(P,T,'r*-') net = newgrnn(P,T); % 设计GRNN网络 x=[1.5,2.5]; % 测试输出。计算x=1.5和x=2.5的查找 y=sim(net,x); % 测试结果 hold on plot(x,y,'bo') 以上是“径向基函数网络RBF的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!
|