各种神经网络-快速入门

【示例】matlab工具箱-RBF神经网络(newrbe)-示例与说明

作者 : 老饼 发表日期 : 2022-06-09 15:09:08 更新日期 : 2025-05-30 07:51:09
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com



精确径向基神经网络是一种使用径向基函数(RBF)进行多变量插值的方法,它在理论上可以逼近任意曲线

本文参考matlab2014b函数newrbe的官方说明,讲解newrbe函数各个入参的意义与使用DEMO

通过本文,可以快速了解newrbe函数的各个参数,以及如何简单使用newrbe函数来构建一个RBF神经网络





  01. newrbe-简单DEMO  




本节展示matlab中的newrbe函数的简单使用DEMO




     newrbe-简单使用Demo   


newrbe函数可以用插值法快速构建一个RBF神经网络
newrbe函数的简单使用Demo代码如下:
%代码说明:径向基newrbe的matlab工具箱使用Demo
%来自《老饼讲解神经网络》www.bbbdata.com ,matlab版本:2014b
%-----------------------------------------------------
%----数据准备----
x1  = 1:0.2:10;
x2  = -5:0.2:4;
X   = [x1;x2];                % 输入数据,注意中间是分号
Y   = sin (X(1,:))+X(2,:);    % 输出数据

%----网络训练----
net = newrbe(X,Y,2);          % 以X,Y建立径向基网络,径向基的spread=2
simY = sim(net, X);           % 用建好的网络拟合原始数据

%----结果对比----
figure(1);
t = 1:size(Y,2);
plot(t,Y,'*',t,simY,'r')  
说明:
精确径向基神经网络newrbe实际是newrb(径向基)神经网络的特殊情况。
newrbe的结构与newrb完全一样,只不过隐节点个数不一样。
精确径向基的隐节点个数是固定个数(比样本个数少一个),而newrb则会使用OLS算法逐个添加神经元,直到误差小于指定误差为止。
因为理论上精确径向基神经网络对样本数据的预测误差可以达到0






    02. newrbe-工具箱说明     





本节翻译matlab-doc文档给出的newrbe函数的语法与使用说明




● 语法:


net = newrbe(P,T,spread)



● 描述:


精确径向基神经网络可以用于拟合函数
newrbe 非常快的设计出一个在样本上0错误的径向基神经网络
net = newrbe(P,T,spread) 需要2或3个输入参数,并返回一个新的精确径向基神经网络



● 入参说明:


 P: R行Q列的输入矩阵,R个输入变量,Q个样本
 T: S行Q列的目标输出矩阵,S个输出变量,Q个样本
 spread: 径向基函数的扩展系数(默认=1.0)
备注: spread越大,拟合出来的函数会更加平滑,但太大的spread会引起数值问题








   03. newrbe的训练算法    




本节简单讲解newrbe函数构建RBF神经网络时所使用的算法




   newrbe-待求解的参数   


newrbe构建的是一个三层RBF神经网络模型
它需要求解的参数有: 
 👉 W21:输入层到隐层的权重  
 👉 B2    :隐层阈值                   
 👉 W32:隐层到输入层权重     
 👉 B3   :输出层阈值               
 PASS: 为什么输入层到隐层的权重用W21表示?
因为权重矩阵一般用 K+1层神经元个数*K层神经元个数来表示,这样方便计算
第2层是隐层,第1层是输入层,所以用W21表示输入层到隐层的权重





    newrbe的求解方法   


W21的求解
 
对于RBE,输入数据X就直接是W21
 
  B2的求解
 
B2由spread参数生成

取值为 ,即 
 这样设计的目的是使径向基输入(即x到训练样本的距离)为+/–spread时,径向基的值为0.5

 
W32、B3的求解
先用W21和B2算法隐神经元的激活值(即径向基的值)A,
再用最小二乘法即可求得W32  和 B3(即对[ W32  B3] * [A ; ones] = T 求解)








好了,以上就是matlab中构建RBF神经网络的newrbe函数的使用说明了~











  End  






图标 评论
添加评论