径向基(RBF)神经网络

浅谈BP与RBF

BP网络在训练过程中需要对网络的所有权值和阈值进行修正,把它称之为全局逼近神经网络.全局逼近神经网络学习速度很慢,所以在一些实时性较强的场合(如实时控制),其应用受到限制.

RBF网络是一种局部逼近网络,对于每个训练祥本,它只需要对少量的权值和阈值进行修正,因此训练速度快。

matlab实现代码

newrb()---新建一个径向基神经网络
newrbe()---新建一个严格的径向基神经网络
newgrnn()---新建一个广义回归径向基神经网络
newpnn()---新建一个概率径向基神经网络
net=newrb(P,T,g,s)
P:输入向量 T:输出向量 g:均方差精度(拟合能力) s:径向基层的散布常数(泛化能力)
sim(net,P)---仿真

函数逼近示例

y ( x ) = 1.1 ( 1 − x + 2 x 2 ) e x p ( − x 2 2 ) . y(x)=1.1(1-x+2x^2)exp(-\frac{x^2}{2}). y(x)=1.1(1x+2x2)exp(2x2).

x=-4:0.08:4;
t=1.1*(1-x+2*x.^2).*exp(-x.^2/2)+0.1*rand(1,101);
plot(x,t,'+');
hold on

net=newrb(x,t,0.001,1,1000000);
Y=net(x)
figure(1)
plot(x,Y,'g');
title('RBF神经网络函数逼近');
xlabel('input');
ylabel('output');
figure(2)
e=Y-t;
plot(x,e,'b-');

在这里插入图片描述
f ( x ) = { x = ( t + 0.5 π ) s i n ( t + 0.5 π ) y = ( t + 0.5 π ) c o s ( t + 0.5 π ) z = 1.5 t 0 ≤ t ≤ 2 π f(x)=\left\{ \begin{aligned} x & = &(t+0.5\pi)sin(t+0.5\pi) \\ y & = & (t+0.5\pi)cos(t+0.5\pi) \\ z & = & 1.5t\\ & &0\le t \le2\pi \end{aligned} \right. f(x)=xyz===(t+0.5π)sin(t+0.5π)(t+0.5π)cos(t+0.5π)1.5t0t2π

t=0:0.1:10*pi;
x=(t+0.5*pi).*sin(t+0.5*pi); 
y=(t+0.5*pi).*cos(t+0.5*pi); 
z=1.5*t;

net=newrb([x;y],z,0.001,2); %平方和误差小于0.001
zf=net([x;y]);%神经网络输出值
plot3(x,y,zf,'r'); %仿真的函数图像
hold on
plot3(x,y,z,'+'); %待逼近的函数图像
title('RBF神经网络函数逼近');
xlabel('x');
ylabel('y');
zlabel('z');
grid on
mse(zf,z) %平方和误差

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.zwX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值