关键函数: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'})