神经网络-专题教程

【例子】如何用newrbe训练RBF神经网络

作者 : 老饼 发表日期 : 2023-03-08 09:43:13 更新日期 : 2024-11-14 12:49:37
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



newrbe是matlab中用精确求解方法创建RBF径向基神经网络的一种方法

本文先讲解newrbe的使用方法,然后进一步展示一个具体的代码例子来具体说明newrbe是如何使用的

通过本文可以初步掌握如何利用matlab中的newrbe函数来创建RBF神经网络




   01. newrbe函数解说   




本节讲解newrbe函数的使用方法和相关参数的意义




    newrbe函数说明    


在matlab只需要调用newrbe就可以用精确求解的方式构建一个RBF神经网络
newrbe的调用形式
newrbe的调用形式如下:
net = newrbe(P,T,spread)
newrbe的入参说明
newrbe只有三个入参:
👉P          :输入数据X                             
👉T          :输出数据Y                             
👉spread :用于控制径向基宽度的一个参数          
备注:需要注意的是,输入输出数据每列代表一个样本,每行代表一个变量
newrbe的出参说明
newrbe的出参只有一个:
👉net:返回的构建好的RBF神经网络                
RBF神经网络不需要训练,构建好后,只需要调用sim函数就可以使用网络进行预测







   02. newrbe的代码例子   




本节展示一个newrbe的具体使用例子和代码实现




    newrbe的Demo代码    


输入输出的数据如下:
 
下面展示如何用newrbe构建一个RBF神经网络,并用x1,x2来预测y

%------代码说明:用newrbe构建一个径向基神经网络 -----------------
% 来自《老饼讲解神经网络》www.bbbdata.com ,matlab版本:2018a   
%-------------------------------------------------------------------%
%----数据准备----                              
x  = [-2,-1,0,1,2;-6,-2,0,3,8];                % 输入数据
y  = [3,2,3,1,2];                              % 输出数据
%----网络训练----                              
net = newrbe(x, y, 0.5);                       % 以X,Y建立径向基网络,目标误差为0.01,径向基的宽度参数spread=0.5
py = sim(net,x)                                % 用建好的网络进行预测,这里的x是要用来进行预测的输入

% ----打印结果----------
err_rate = mean(abs(py-y)./abs(y))             % 计算相对误差占比
plot(1:length(y),y,'*',1:length(y),py,'o')     % 绘制结果,x轴代表样本
legend('原始数据的y','网络预测的y')            % 添加图例
运行结果如下:
newrbe的运行结果  
newrbe的RBF神经网络预测结果 
可以看到,网络的预测值与真实值完全一致,
这并非偶然,因为本例用于预测的数据就是训练数据,而newrbe在训练数据上是0误差的






以上就是如何在matlab中用newrbe训练RBF径向基神经网络的全部内容了~








 End 




联系老饼