【教程】一步一步构建一个RBF神经网络-详细解说

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/

一、 什么是RBF神经网络

1.1. RBF神经网络介绍

RBF神经网络是指使用RBF作为激活函数的三层神经网络,它的拓扑结构如下:
RBF神经网络
其中,每一个隐节点代表一个RBF函数,最终模型的输出就是多个RBF函数之和,如下:
RBF神经网络数学表达式

二、matlab实现RBF神经网络

2.1.matlab实现RBF代码示例

用于建模的输入输出数据如下:
RBF建模数据
在matlab中如下实现一个RBF神经网络

%代码说明:用newrb构建一个径向基神经网络
%来自《老饼讲解神经网络》www.bbbdata.com ,matlab版本:2018a
%-----------------------------------------------------
%----数据准备----
x  = [-2,-1,0,1,2;-6,-2,0,3,8];                % 输入数据
y  = [3,2,3,1,2];                              % 输出数据

%----网络构建与预测----
[net,tr] = newrb(x, y, 0.01, 0.5);             % 以X,Y建立径向基网络
py       = sim(net,x)                          % 用建好的网络拟合原始数据

% ----打印结果----------
err_rate = mean(abs(py-y)./abs(y))              % 计算相对误差占比
hn       = size(net.lw{2,1},2);                 % 计算隐节点个数    
disp(['最终使用的隐节点个数:' ,num2str(hn)])    % 打印隐节点个数
plot(1:length(y),y,'*',1:length(y),py,'o')      % 绘制结果,x轴代表样本
legend('原始数据的y','网络预测的y')             % 添加图例

运行结果如下:
在这里插入图片描述

2.2. 代码解说

(1)第5、6行代码是输入用于建模的数据
第5.6行代码
(2)第9、10行代码是用于构建一个RBF神经网络,并使用构建好的网络进行预测
第9、10行代码
其中,newrb用于构建一个RBF神经网络,完整入参共有6个参数:net = newrb(P,T,goal,spread,MN,DF)
newrb的入参说明
sim则是用构建好的网络进行预测。
(3)第13-17行代码用于打印结果
第13-17行代码
需要看什么结果,自己进行计算就可以,这里仅是作为示例。


相关链接:

《老饼讲解-机器学习》:老饼讲解-机器学习教程-通俗易懂
《老饼讲解-神经网络》:老饼讲解-matlab神经网络-通俗易懂
《老饼讲解-神经网络》:老饼讲解-深度学习-通俗易懂

  • 18
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老饼讲解-BP神经网络

请老饼喝杯咖啡

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

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

打赏作者

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

抵扣说明:

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

余额充值