- •Сервісна оболонка Norton Commander (Windows Commander), операційна система Windows.
- • Короткі теоретичні відомості
- •Завдання до лабораторної роботи та загальні відомості
- •Математичні програмні пакети
- • Короткі теоретичні відомості
- •Побудова графіків.
- •Обчислювальні здібності.
- •Завдання до лабораторної роботи
- •1. Вибрати команду New (Новий).
- •2. Створіть текстову область.
- •3. Ввести наступну послідовність символів:
- •4. Вставка/Графік або клавіша [@]
- •Визначення граничних абсолютних і відносних погрішностей математичних дій
- •Матричний метод ідентифікації електричних кіл
- •Електричне моделювання динамічних систем
- •Апроксимація табличних функцій методом найменших квадратів
- •Інтерполяція табличних функцій з використанням формул Ньютона
- •Варіанти завдань
- •Апроксимація функцій з використанням нейронних мереж
- •Підготовка вхідних даних
- •Крок 2. Задайте поля і їх властивості
- •Крок 3. Задайте параметр нейромережі
- •Крок 4. Задайте параметр навчання
- •Крок 5. Перевірте всі задані параметри
- •Крок 6. Запустіть навчання системи
- •Крок 7. Розрахуйте кінцевий результат
- •Крок 8. Результат розрахунку знаходиться в файлі з розширенням .Nnw.
- •Нейромережеве прогнозування динамічного стану об'єктів керування
- •Графоаналітичне рішення задач електротехніки з нелінійними елементами
- •Чисельні методи розрахунку визначених інтегралів.
- •Чисельні методи рішення диференційних рівнянь
- •Чисельні методи рішення рівняння Лапласа
- •Застосування чисельних методів наближення функцій і рішення нелінійних рівнянь при розрахунках задач з курсу "Електроніка".
- • Теоретичні відомості
- •Структурнй і параметричний синтез математичних моделей двигунів постійного струму
Крок 5. Перевірте всі задані параметри
Рисунок 5.10 - Перевірка заданих параметрів
Крок 6. Запустіть навчання системи
Пуск навчання/зупинка навчання…
Запустіть процес. В таблиці над кнопкою можна спостерігати, як міняється помилка навчання.
Розподіл помилки…
У діаграмі відображається розподіл помилки. Зелені стовпці – помилка на навчальній вибірці, червоні – на тестовій вибірці. Чим правіше стовпець, тим вище значення помилки. Шкала від 0 до 1. Чим вище стовпець, тим більше прикладів із зазначеною помилкою.
Розподіл прикладів у навчальній/тестовій вибірці…
На цих графіках можна відслідковувати наскільки результати, що спрогнозовані нейронною мережею збігаються зі значеннями в навчальній (ліворуч) і тестовій (праворуч) вибірці. Кожен приклад позначено на графіку точкою. Якщо точка попадає на виділену лінію (діагональ), то нейромережа передбачила результат з досить високою точністю. Якщо точка знаходиться вище діагоналі, значить нейромережа недооцінила результат, нижче – переоцінила. Необхідно домагатися, щоб точки розташовувалися якнайближче до діагоналі.
Крок 7. Розрахуйте кінцевий результат
У наборі вхідних параметрів введіть числа і натисніть на кнопку "Розрахунок". У таблиці «розраховані параметри» висвічується результат. Якщо результати влаштовують, то натисніть на кнопку "Зберегти". Neural Network Wizard зберігає всі параметри і налаштування у файлі з розширенням nnw.
Рисунок 5.11 - Запуск системи
Крок 8. Результат розрахунку знаходиться в файлі з розширенням .Nnw.
[Network]
TeachSpeed=0.1
Miu=0.5
Alpha=1
Epoch=27612
CountLayers=3
(кількість нейронів в шарах)
Layer_0=2
Layer_1=3
Layer_2=1
% (синаптичні ваги)
% W_i_j_k – ваги синапсів (i = номер шару - 2, j – номер нейрону, k – номер синапсу даного нейрона).
W_0_0_0=1.88436421955477
W_0_0_1=1.09436537111843
W_0_0_2=2.2901761847617
W_0_1_0=1.70436421955478
W_0_1_1=0.574365371118406
W_0_1_2=2.23017618476171
W_1_0_0=4.25597733015697
W_1_1_0=3.11238189250291
W_1_2_0=3.91917004197399
WT_0_0=-3.59276885024955
WT_0_1=-1.04124724491013
WT_0_2=3.82886355094158
WT_1_0=-4.77655231133209
Контрольні питання
Що таке нейронна мережа і які її основні властивості?
Яка структура нейрона?
Які функції активації можуть бути використані в нейронних мережах?
Які вимоги пред'являються до функцій активації?
Які функції виконує вхідний шар в багатошаровій мережі?
Лабораторна робота №6
Нейромережеве прогнозування динамічного стану об'єктів керування
Мета: вивчення методики синтезу нейронних мереж орієнтованих на прогнозування сигналів.
Короткі теоретичні відомості
Розглянемо основні принципи застосування штучної нейронної мережі ADALINE в прогнозуванні значень детермінованого процесу . Функціональна схема настроювання ШНМ наведена на рис.6.1.
Рисунок 6.1 – Функціональна схема настроювання ШНМ
За допомогою екстраполяції нульового порядку неперервний сигнал приводиться до дискретної бази . Дискретний сигнал виходу об'єкту керування поступає на лінію затримки так, що на її виході формуються 2 сигнали: y(i-1), y(i-2). Настройка мережі реалізується за допомогою М-функції adapt, яка змінює параметри мережі на кожному кроці з метою мінімізації похибки e[i]= y[i] – a[i]. Якщо ця похибка нульова, то вихід мережі а[i] дорівнює y(i), тобто мережа виконує прогноз належним чином.
Нижче приведений сценарій, який призначений для вирішення завдання прогнозу сигналу на один крок вперед. Вхідний детермінований процес отриманий в результаті проходження ступінчастого сигналу через коливальну ланку.
Оскільки для формування входу застосована динамічна ланка другого порядку, то в мережі ADALINE буде використана ЛЗ з двома блоками.
З метою отримання архіву даних про об'єкт розробимо відповідно до функціональної схеми рис.6.1 структуру моделі рис.6.2.
Рисунок 6.2 – Модель для дослідження системи нейропрогнозу
Блок Zero-Order Hold бібліотеки Discrete додатку Simulink дозволяє провести дискретизацію вхідного неперервного сигналу. З метою передачі даних до основної області Command Window пакету Matlab в моделі використані блоки To Workspace (в вікні властивостей якого задають ім'я змінної) та блок Scope з наступними змінами властивостей рис.6.3.
Рисунок 6.3 – Властивості блоку Scope
Запишемо наступний сценарій для вирішення задачі прогнозу сигналу.
% Вибірка з масиву часової функції блоку Scope першого стовпця (дискр. час)
time = time(:,1);
% Формування навчальної множини
p = y_i(1:length(y_i)-1)'; % вхід ШНМ з першого елементу масиву y_i
t = y_i(2:length(y_i))'; % цільовий вихід ШНМ з другого елементу масиву y_i
time = time(1:length(y_i)-1); % вибірка дискретного часу
% Формування нейронної мережі
net = newlin([-1 1],1[1 2]);
% в склад статичної НМ не включають лінії затримки та зворотні зв'язки.
% попередньою командою створюють одношарову НМ з двохелементним
% вектором входу та лінійною функцією активації. З цією метою застосована
% команда newlin яка потребує завдання мінімальне та максимальне значення
% для кожного елементу входу [-1 1] та кількість шарів (в даному випадку 1)
P = num2cell(p);
T = num2cell(t);
% папередні команди перегруповують масиви
% Настройка нейронної мережі
pi = {0 0}; % вивід синаптичних ваг на нульові рівні
net.adaptParam.passes = 5; % завдання кількості циклів навчання
% на даному етапі є можливість завдання швидкості настроювання ваг входу
% net.inputWeights{1,1}.learnParam.lr = 0.2;
% та зсуву net.biases{1,1}.learnParam.lr = 0;
[net,Y,E,Pf,Af] = adapt(net,P,T,pi); % команда виклику процедури настроювання
Y1 = cat(1,Y{:}); % конкатинація (поєднання) елементів Y{:} в вектор-стовбець
% Побудова графіків
figure(1), plot(time,Y1,'b:',time,p,'r-'), grid on
xlabel|('час, с|із|'), ylabel|('Процеси')
title|('Навчання|вчення| нейронної мережі|сіті|')
% Моделювання нейронної мережі
x = sim(net,P);
x1 = cat(1,x{:});
figure(2), plot(time,x1,'b:+', time,p,'r-o'),grid on
legend('вихід', 'вхід')
gensim(net) % виклик Simulink структури НМ
В результаті проведення даного сценарію можуть бути отримані наступні результати рис.6.4.
Рисунок 6.4 – Часові діаграми навчання та роботи НМ
Структурна-схема розробленої мережі наведена на рис.6.5.
Рисунок 6.5 - Структурна-схема розробленої НМ
На наступному кроці копіюється структура НМ в базову модель рис.6.6.
Рисунок 6.6 – Імітаційна модель для перевірки роботи розробленої ШНМ
Результати роботи НМ на інтервалі 30с наведено на рис.6.7.
Рисунок 6.6 – Візуалізація результатів для порівняння роботи ШНМ (1) з виходом об'єкту (2)
За допомогою команд net.IW{1} та net.b{1} є можливість отримати значення синаптичних ваг та відповідних зсувів:
>> net.IW{1}
ans =
0.4034 0.3384
>> net.b{1}
ans =
0.2567
Зміна вищевказаних параметрів проводиться у наступному форматі:
>> net.IW{1}=[значення];
>> net.b{1} = [значення];
У фігурних дужках вказують номера шарів НМ. Так при наявності зв'язку другого шару (три нейрона) з першим (один нейрон) формат запису буде наступним:
>> net.LW{2,1}=[значення1; значення2; значення3];
для третього, вихідного шару з одним нейроном:
>> net.LW{3,2}=[значення1 значення2 значення3];
Варіанти завдань
Необхідно:
1) Отримати завдання згідно варіанту табл. 5.1.
Таблиця 6.1 – Варіанти завдань
# варіанту |
Об'єкт |
Час дискретизації |
Час навчання/умова |
1 |
|
0,1 |
10с/ |
2 |
|
0.2 |
10с/ |
3 |
|
0,1 |
9с/ |
4 |
|
0,05 |
10с/ |
5 |
|
0,1 |
9с/ |
6 |
|
0,1 |
10с/ |
7 |
|
0,1 |
8с/ |
Продовження табл.6.1
# варіанту |
Об'єкт |
Час дискретизації |
Умови прогнозу |
8 |
|
0,01 |
10с/ |
9 |
|
0,01 |
9с/ |
10 |
|
0,05 |
7с/ |
11 |
|
0,1 |
8с/ |
2) Провести параметричний та структурний синтез нейромережевої моделі об'єкту.
3) Перевірити ефективність роботи НМ на структурних моделях.
4) Розрахувати середньоквадратичну похибку роботи НМ.
5) Надати графічну ілюстрацію розробленої мережі з відповідними параметрами синаптичних зв'язків та зсувів.
6) Оформити детальний звіт.
Контрольні питання
Чи можна навчити нейронну мережу без прихованого шару?
У чому полягає навчання нейронних мереж?
Чому один з алгоритмів навчання отримав назву «Алгоритм зворотного розповсюдження»?
Чим відрізняється навчання з вчителем від навчання без вчителя?
Чому вхідні і вихідні сигнали нейронної мережі повинні бути нормовані, тобто приведені до діапазону [0,1]?
Індивідуальне домашнє завдання №3