Лабораторная работа № 9. Радиальные базисные сети типа GRNN
Цели работы: 1) изучение архитектурных особенностей радиальных базисных нейронных сетей типа GRNN и специальных функций для их создания, автоматической настройки весов и смещений и нормированного взвешивания; 2) ознакомление с демонстрационным примером и его скриптом, а также приобретение навыков построения таких сетей для решения задач обобщенной регрессии, анализа временных рядов и аппроксимации функций.
Задание 1. Создать обобщенную регрессионную сеть для обучающей последовательности Р=0:3 и Т[0.0 2.0 4.1 5.9], проанализировать ее структурную схему и значения параметров вычислительной модели, выполнить моделирование сети для различных входов, построить графики и оценить влияние на выходные значения параметра SPREAD, выполнив следующие команды:
P = 0:3;
T = [0.0 2.0 4.1 5.9];
net = newgrnn(P,T) % параметр SPREAD = 1.0
gensim (net)
plot(P,T, ′*r′, ′MarkerSize′, 2, ′LineWidth′, 2)
hold on
V = sim(net, P)
plot(P,V, ′o8′, ′MarkerSize′, 8, ′LineWidth′, 2) P1 = 0.5:2.5;
Y = sim(net, P1);
plot(P1,V, ′+k′, ′MarkerSize′, 10, ′LineWidth′, 2)
Y = sim(net, 0:0.5:3) % для нового входа
net = newgrnn(P, T, 0.1) % параметр SPREAD = 0.1
Y = sim(net, 0:0.5:3) % сравнить результаты
Задание 2. Построить обобщенную регрессионную сеть для решения задачи аппроксимации и экстраполяции нелинейной зависимости, восстанавливаемой по экспериментальным точкам, выполнив следующие команды:
P = [1 2 3 4 5 6 7 8 ]; % экспериментальные
T = [0 1 2 3 2 1 2 1 ]; % данные в 8 точках
SPREAD = 0.7; % значение меньше шага Р = 1
net = newgrnn(P, T, SPREAD)
net.layers{1}.size, net.layers{2}.size % 8 и 8;
A = sim(net, P);
plot(P, T, ′*k′, ′MarkerSize′, 10),
hold on
plot(P, A, ′ok′, ′MarkerSize′, 10) % аппроксимация
P2 = –1: 0.1: 10; % диапазон Р2 больше диапазона Р
A2 = sim(net, P2);
plot(P2, A2, ′ –k′, ′LineWidth′, 2) % экстраполяция
hold on,
plot(P, T, ′*k′, ′MarkerSize′, 10) % сравнить точки