Main Content

newrb

设计径向基网络

说明

示例

net = newrb(P,T,goal,spread,MN,DF) 接受以下参量中的两个参量:

  • P - 由 Q 个输入向量组成的 R×Q 矩阵

  • T - 由 Q 个目标类向量组成的 S×Q 矩阵

  • goal - 均方误差目标

  • spread - 径向基函数的散布

  • MN - 神经元的最大数量

  • DF - 各次显示之间要添加的神经元数量

径向基网络可用于逼近函数。newrb 将神经元添加到径向基网络的隐藏层,直到它满足指定的均方误差目标。

spread 越大,函数逼近越平滑。过大的散布值意味着需要大量神经元来拟合快速变化的函数。过小的散布值意味着需要许多神经元来拟合平滑的函数,并且网络可能无法很好地泛化。请使用不同的散布值来调用 newrb,以找到给定问题的最佳值。

示例

全部折叠

此示例说明如何设计径向基网络。

设计一个具有输入 P 和目标 T 的径向基网络。

P = [1 2 3];
T = [2.0 4.1 5.9];
net = newrb(P,T);

使用一个新的输入对网络进行仿真。

P = 1.5;
Y = sim(net,P)

输入参数

全部折叠

输入向量,指定为 R×Q 矩阵。

目标类向量,指定为 S×Q 矩阵。

均方误差目标,指定为标量。

径向基函数的散布,指定为标量。

神经元的最大数量,指定为标量。

要在各次显示之间添加的神经元数量,指定为标量。

输出参量

全部折叠

新的径向基网络,以网络对象形式返回

算法

newrb 会创建一个两层网络。第一层有 radbas 个神经元,用 dist 计算其加权输入,用 netprod 计算其净输入。第二层有 purelin 个神经元,用 dotprod 计算其加权输入,用 netsum 计算其净输入。两层都有偏置。

最初,radbas 层没有神经元。系统将重复以下步骤,直到网络的均方误差低于 goal

  1. 对网络进行仿真。

  2. 找到具有最大误差的输入向量。

  3. 添加一个 radbas 神经元,其权重等于该向量。

  4. 重新设计 purelin 层权重以最小化误差。

版本历史记录

在 R2006a 之前推出

另请参阅

| | |