关键函数:newrb


这是一个一维拟合问题。一维拟合其实已经有太多的方法,本文采用径向基函数进行拟合。

 【说明:单独看此示例并不能看出径向基网络的性能】

输入数据和输出数据如下:

X = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ...
      .1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ...
      .3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];

曲线如下所示:

 径向基函数只是众多可以作为基底的函数的一种。

一个径向基函数如下所示:

x = -3:.1:3;
a = radbas(x);
plot(x,a)

 采用径向基函数网络对文章开始的输入和输出数据进行训练,

eg = 0.02; % sum-squared error goal
sc = 1;    % spread constant
net = newrb(X,T,eg,sc);

得到如下结果:

NEWRB, neurons = 0, MSE = 0.176192

 画出拟合曲线和原始曲线,如下图所示。

plot(X,T,'+');
xlabel('Input');

X = -1:.01:1;
Y = net(X);

hold on;
plot(X,Y);
hold off;
legend({'Target','Output'})

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐