具体说说-RBF神经网络-newrbe函数和newrb函数的区别

刚开始接触RBF神经网络时,会发现matlab提供了newrb和newrbe两个函数来构建RBF神经网络,那到底该使用哪一个呢?其实只要知道它们的区别,自然就知道该使用哪一个了。下面我们就来说说newrb和newrbe的区别。

一、newrbe函数

1.1. newrbe函数-简单介绍

newrbe函数是构建RBF神经网络最基础的方法,它使用的是插值法。简单来说,就是给每一个训练样本点都构建一个RBF隐节点,例如现在训练的有10000个样本,那么最终构建出来的模型就会有10000个隐节点。不懂RBF插值法原理的可以参考《RBF神经网络-训练原理》。

1.2. newrbe函数-使用说明

newrbe函数的使用说明如下:

1.3. newrbe函数-使用示例

下面是一个使用newrb来构建RBF神经网络的例子:

matlab 复制代码
%----数据准备----                              
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建立RBF神经网络,RBF宽度参数spread=0.5
py = sim(net,x)                                % 用建好的网络进行预测,这里的x是要用来进行预测的输入

以上就是newrbe函数了,接下来我们再看看newrb函数。

二、newrb函数

2.1. newrb函数-简单介绍

为什么会有newrb函数呢,这主要是newrbe函数训练出来的隐节点过多,就如上面所说的,10000个样本就有10000个隐节点,这显然是太多了,那么就到newrb出场了,它使用的是ols法来构建RBF神经网络,它的原理其实和插值法是类似的,只不过会尽量的减少隐节点的个数,当然,这是有代价的,那就是特征预测的精度,所以,我们要预设一个目标误差,这样它会在尽量减少隐节点个数的同时、keep住误差不要超出我们的目标。

2.2. newrbe函数-使用说明

newrb函数的使用方法如下:

2.3. newrb函数-使用示例

下面是一个使用newr来构建RBF神经网络的例子:

matlab 复制代码
%--------数据准备----------                              
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建立RBF神经网络,目标误差0.01,RBF宽度参数spread=0.5
py = sim(net,x);                                % 用建好的网络进行预测,这里的x是要用来进行预测的输入

可以看到,使用newrb时,要比newrbe多一个参数,也就是需要设置目标误差。

三、newrb和newrbe的差异

经过上面的了解,我们可以总结一下newrb和newrbe函数的差异:

  1. newrb使用的是OLS法,而newrbe使用的是插值法。
  2. newrb需要设置一个目标误差,而newrbe误差必为0。
  3. newrb比newrbe使用更少的隐节点,模型体积更小一些。
  4. newrb使用更少的隐节点,所以一般比newrbe的泛化能力更强一些。

结束语

以上就是newrb和newrbe函数的介绍和对比了,更多的可以参考matlab的官方文档,也可以参考《老饼讲解-RBF神经网络》系列教程。

相关推荐
coft1 小时前
Hermes 多角色实战:我做了一个智能投研系统
人工智能
code_pgf1 小时前
3D点云目标检测(PointPillars)部署pipeline
人工智能·目标检测·3d
AIGS0011 小时前
向量空间JBoltAI:重塑工业智能的四大支柱
java·人工智能·ai大模型应用
2301_764441331 小时前
用户用部署在手机上的ai模型都做些什么
人工智能·智能手机
Hali_Botebie1 小时前
PyTorch 2.x核心变革torch.compile(),Triton 是其中最重要的 kernel 生成方式之一
人工智能·pytorch·python
weifengma-wish1 小时前
test测试 用
人工智能
赫媒派1 小时前
Claude Code 实战技巧:从 Prompt 范式转变说起
人工智能
道友可好1 小时前
用 Linter 驾驭 AI:机械化执行的艺术
前端·人工智能·后端
王牌狮AIen1 小时前
AI营销智能体实战:OPC如何重构自主获客闭环?
大数据·人工智能·重构·数据挖掘·geo·ai营销