小编给大家分享一下径向基函数网络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的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。