
- •Методические указания по лабораторным работам
- •Каскадная сеть прямой передачи cf в рабочем пространстве matlab.
- •Линейный слой lind в рабочем пространстве matlab.
- •Динамическая нейронная сеть
- •Задание.
- •Линейные сети
- •Задание.
- •Персептроны в рабочем пространстве matlab
- •Сети прямой передачи в рабочем пространстве matlab
- •Лабораторная работа 7 Сети Хопфилда
- •Лабораторная работа 8 Радиальные нейронные сети
- •Лабораторная работа 9 Самоорганизующиеся карты Кохонена
- •Список используемой литературы:
Задание.
1. Создать в рабочем пространстве MATLAB двухслойную нейронную сеть с прямой передачей сигнала и линией задержки [0 1]; число нейронов на втором слое –1; на первом – варьируется; функции активации – tansig, purelin; диапазон изменения входа [0 10].
2. Задать последовательность входов и целей , содержащих не менее 10 значений.
3. Обучить сеть (не менее 30 циклов) и протестировать с использованием заданной последовательности входа.
Лабораторная работа 4
Линейные сети
Линейный слой
Линейные слои находят применение при решении задач аппроксимации, фильтрации и предсказания сигналов, построении моделей динамических систем в задачах управления. Функция newlin() формирует нейронную сеть в виде линейного слоя.
Синтаксис:
net = newlin(PR, s, id, lr);
net = newlin(PR, s, o, P);
Входные аргументы:
PR – массив размера Rх2 минимальных и максимальных значений для R векторов входа;
s – число нейронов;
id – описание линии задержки на входе сети, по умолчанию [0];
lr- параметр скорости настройки, по умолчанию 0.01.
Выходные аргументы:
net – объект класса network object с архитектурной линейного слоя.
Функция net = newlin(PR, s, o, P), где Р –матрица векторов входа, формирует линейный слой с параметром скорости настройки, гарантирующим максимальную степень устойчивости слоя для данного входа Р.
Пример:
Сформировать линейный слой, который для заданного входа воспроизводит заданный отклик системы.
Сформируем последовательности векторов входа и цели:
Р = {0 -1 1 1 0 -1 1 0 0 1};
T = {0 -1 0 2 1 -1 0 1 0 1};
Архитектура линейного входа: линия задержки типа [0 1 2], 1 нейрон, вектор входа с элементами из диапазона [-1 1], параметр скорости настройки 0.01.
net = newlin([-1 1], 1, [0 1 2], 0.01);
gensim(net)
Обучим сеть в течении 100 циклов и промоделируем, используя в качестве теста обучающую последовательность входа:
net.trainParam.epochs = 100;
net = train(net, P, T);
Y = sim(net, P);
Алгоритм:
Линейный слой использует функцию взвешивания dotprod, функцию накопления потенциала netsum и функцию активации purelin. Слой характеризуется матрицей весов и вектором смещений, которые инициализируются М-функцией initzero.
Адаптация и обучение выполняются М-функциями adaptwb и trainwb, которые моделируют веса и смещения, используя М-функцию learnwh, до тех пор пока не будет достигнуто требуемое значение критерия качества обучения в виде средней квадратичной ошибки, вычисляемой М-функцией mse.
Задание.
1. Создать в рабочем пространстве MATLAB линейный слой со следующей архитектурой: линия задержки типа [0 1 2], 1 нейрон, вектор входа с элементами из диапазона [0 1], параметр скорости настройки 0.01.
2. Сформулировать две обучающие последовательности Р1, Т1 и Р2, Т2, содержащих не менее 10 значений.
3. Обучить сеть с использованием:
-
только обучающей последовательности Р1, Т1 (не менее 100 циклов);
-
всего объема обучающих данных, соответствующего объединению векторов входа Р3 = [P1 P2] и векторов целей T3 = [T1 T2].
и выполнить моделирование сети для всех значений входа (для обоих случаев), объединяющих векторы Р1 и Р2 – Y = sim(net, [P1 P2]) (для повторной инициализации сети использовать команду net = init(net)).
-
Сравнить результаты моделирования, сделать вывод.
Лабораторная работа 5