Page 42 - 4721
P. 42
Приклад виконання завдання
1. Система характеризується позицією магніта та
керуючим струмом, ці значення визначають, де магніт буде
перебувати в наступну мить часу.
Завантажимо контрольний набір даних:
[x,t] = maglev_dataset;
2. Створимо нейронну мережу, яка навчиться моделювати
зміну позиції магніта.
Двошарова нейронна мережа може передати будь-який
звязок між входом і виходом за умови наявності достатньої
кількості нейронів у прихованому шарі. Використаємо шар з
10 нейронів. Зазвичай, більш складні проблеми вимагають
більшої кількості шарів та більшої кількості нейронів. Також
спробуємо ввести дві затримки для зовнішнього входу
(керуючого струму) та зворотного звязку (позиції магнітів).
Більша кількість затримок дозволяє моделювати більш
складні динамічні системи.
Вхідні та вихідні значення поки що мають нульову
розмірність, оскільки мережа ще не конфігурувалася.
Проведемо конфігурацію навчанням:
net = narxnet(1:2,1:2,10);
view(net)
3. Перед навчанням, використаємо перші два кроки та
сигнали зовнішнього входу і зворотного зв’язку для
заповнення затримки мережі.
Функція PREPARETS готує дані часових рядів для
симуляції та тренування. Xs складатиметься зі зсунутого
входу та цільових рядів, що будуть передані мережі. Xi –
41