本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
newrbe是matlab中用精确求解方法创建RBF径向基神经网络的一种方法
本文先讲解newrbe的使用方法,然后进一步展示一个具体的代码例子来具体说明newrbe是如何使用的
通过本文可以初步掌握如何利用matlab中的newrbe函数来创建RBF神经网络
本节讲解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函数就可以使用网络进行预测
本节展示一个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在训练数据上是0误差的
以上就是如何在matlab中用newrbe训练RBF径向基神经网络的全部内容了~
End