Радиальная сеть базиса обучена отвечать на конкретные входы с целевыми выходами. Однако, поскольку распространение радиальных базисных нейронов слишком высоко, каждый нейрон реагирует по существу одинаково, и сеть не может быть спроектирована.
Задайте 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');
Функция NEWRB быстро создает радиальную сеть базиса, которая аппроксимирует функцию, заданную P и T.
В дополнение к набору обучающих данных и целям, NEWRB принимает два аргумента, цель суммарной квадратной ошибки и константа расширения. Распространение радиальных базисных нейронов B установлено на очень большое число.
eg = 0.02; % sum-squared error goal sc = 100; % spread constant net = newrb(P,T,eg,sc);
NEWRB, neurons = 0, MSE = 0.176192
NEWRB не может правильно спроектировать радиальную сеть базиса из-за большого перекрытия входных областей радиальных нейронов базиса. Все нейроны всегда выводят 1, и поэтому не могут использоваться, чтобы генерировать различные отклики. Чтобы увидеть, как сеть работает с набором обучающих данных, моделируйте сеть с исходными входами. Постройте график результатов на том же графике, что и наборе обучающих данных.
Y = net(P); hold on; plot(P,Y); hold off;