Лабораторная работа № 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) % сравнить точки