Радиальный базис подстилающих нейронов

Радиальная сеть базиса обучена отвечать на конкретные входы с целевыми выходами. Однако, поскольку распространение радиальных базисных нейронов слишком низко, сеть требует многих нейронов.

Задайте 21 вход P и связанные с ним цели T.

P = -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];
plot(P,T,'+');
title('Training Vectors');
xlabel('Input Vector P');
ylabel('Target Vector T');

Figure contains an axes. The axes with title Training Vectors contains an object of type line.

Функция NEWRB быстро создает радиальную сеть базиса, которая аппроксимирует функцию, заданную P и T. В дополнение к набору обучающих данных и целям, NEWRB принимает два аргумента, суммарно квадратную цель ошибки и константу расширения. Распространение радиального базиса нейронов B установлено в очень небольшое число.

eg = 0.02; % sum-squared error goal
sc = .01;  % spread constant
net = newrb(P,T,eg,sc);
NEWRB, neurons = 0, MSE = 0.176192

Чтобы проверить, что сеть подходит к функции плавным образом, задайте другой набор тестовых входных векторов и симулируйте сеть с этими новыми входами. Постройте график результатов на том же графике, что и наборе обучающих данных. Тестовые векторы показывают, что функция была избыточной! Сеть могла бы сделать лучше с более высокой константой распространения.

X = -1:.01:1;
Y = net(X);
hold on;
plot(X,Y);
hold off;

Figure contains an axes. The axes with title Training Vectors contains 2 objects of type line.