- •Лабораторная работа № 1. Активационная функция
- •Лабораторная работа № 2. Искусственные нейронные сети
- •Лабораторная работа № 3. Обучение искусственных нейронных сетей
- •Лабораторная работа № 4. Персептронные сети
- •Лабораторная работа № 5. Линейные нейронные сети
- •Лабораторная работа № 6. Сети Эльмана
- •Лабораторная работа № 7. Сети Хопфилда
- •Лабораторная работа № 8. Радиальные базисные сети общего вида
- •Лабораторная работа № 9. Радиальные базисные сети типа grnn
- •Лабораторная работа № 10. Радиальные базисные сети типа pnn
- •Лабораторная работа № 11. Самоорганизующиеся слои Кохонена
- •Лабораторная работа № 12 Самоорганизующиеся карты Кохонена
- •Литература
Лабораторная работа № 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) % сравнить точки
Лабораторная работа № 10. Радиальные базисные сети типа pnn
Цели работы: 1) изучение архитектурных особенностей радиальных базисных нейронных сетей типа PNN и специальных функций для их создания, автоматической настройки весов и смещений и конкурирующей активации; ознакомление с демонстрационным примером и его скриптом; 2) приобретение навыков построения таких сетей для решения задач классификации на основе подсчёта вероятности принадлежности векторов к рассматриваемым классам и для решения других вероятностных задач.
Задание 1. Создать вероятностную нейронную сеть для обучающей последовательности, состоящей из вектора входа Р=[1 2 3 4 5 6 7] и индекса классов Тс=[1 2 3 2 2 3 1], проанализировать её структурную схему и параметры вычислительной модели, осуществить моделирование сети и оценить правильность классификации, выполнив следующие команды:
Р=[1 2 3 4 5 6 7]; % значения входа
Tc=[1 2 3 2 2 3 1]; % индексы классов (3)
T=ind2uec(Tc); % матрица связанности (целей)
net=newpnn(P,T); % создание сети PNN
gensim(net); % структура сети
net; % параметры сети
Y=sim(net,P); % моделирование сети
Yc=iecc2ind(Y); % классы входных векторов
% 1 2 3 2 2 3 1.
Задание 2. Создать вероятностную нейронную сеть для определения принадлежности двухэлементных входных векторов к одному из трёх классов на основании обучающей последовательности 7 входов Р[0 0; 1 1; 0 3; 1 4; 3 1; 4 1; 4 3] и индекса классов Тс=[1 1 2 2 3 3 3], значения в котором определяют класс соответствующего вектора входа, выполнив команды:
Р=[0 0; 1 1; 0 3; 1 4; 3 1; 4 1; 4 3 ]; % 7 векторов
Тс=[1 1 2 2 3 3 3]; % классы
T=ind2vec(Tc); % формирование разреженной матрицы
% связанности
T= full (T); % преобразование к полной матрице
net= newpnn; % создание вероятностной сети
net.layers {1}.size % число нейронов 1 –го слоя
net.layers {2}.size % число нейронов 2 –го слоя
Y= sim (net, P); % моделирование сети
Yc= vec2ind(Y); % формирование индекса классов
Pt= [1 3; 0 1; 5 2]’; % векторы для тестирования
A= sim (net, Pt); % тестирование сети
Ac= vec2ind (A); % формирование индекса классов
Задание 3. Проанализировать структурные схемы, значения параметров вычислительных моделей и результаты моделирования нейронных сетей, используемых в следующих демонстрационных примерах:
Demorb1 – радиальные базисные сети;
Demorb3 – использование не перекрывающихся функций активации (передаточных функций);
Demorb4 – использование перекрывающихся передаточных функций;
Demogrn1 – аппроксимация функций с помощью сети типа GRNN;
Demopnn1 – классификация векторов с помощью сети типа PNN.
Для анализа использовать скрипты примеров.