Министерство образования Республики Беларусь Учреждение образования «БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ» Институт информационных технологий
Специальность «Информационные технологии и управление в технических системах»
КОНТРОЛЬНАЯ РАБОТА По курсу «Современные методы синтеза систем управления» Вариант №4
Студентка-заочница 6 курса Группы № 782421 Новицкая О.И. Адрес Минск, ул. Ботаническая 23-41 Тел. 8(029) 2726464
Минск, 2010 Цель – изучить принципы функционирования нейронных сетей (НС) в рабочем режиме и режиме обучения. Задание: 1 Необходимо с помощью нейронной сети провести аппроксимацию функции вида Y = f(X) на заданном интервале Х, где Х – вектор входных переменных Х = {х1, х2, …}, Y – вектор выходных переменных 2 Провести обучение нейронной сети c помощью графического интерфейса. Рассмотреть варианты трехслойной сети вида FFB (Feed-forward backprop) с количеством нейронов в скрытом слое, равном 3, 5, 7, 10 и различными функциями активации (logsig, purelin, tansig). Функцию активации в выходном слое принять purelin. Число циклов обучения принять равным 1000. 3 Осуществить проверку работоспособности сети с минимальной ошибкой обучения на тестовой выборке. x1, x2 [1, 10]
Решение Перед созданием сети необходимо заготовить набор обучающих и целевых данных, x1 и x2 – входы, а y –- желаемый выход (рис. 1 и рис. 2). Желательно, чтобы обучающая выборка была задана случайным образом.
Рисунок 1. – Задание обучающих и целевых данных
Рисунок 2. – Задание обучающих и целевых данных Входной и целевой вектор можно импортировать из рабочей области Matlab с использованием кнопки Import (рис. 3).
Рисунок 3. – Импортирование данных из рабочей области Теперь следует приступить к созданию нейронной сети. Нажимаем кнопку New Network и заполняем форму, как показано на рисунке 4. В данной работе были выбраны трехслойные нейронные сети вида FFB (Feed-forward backprop) с функцией активации TANSIG и количеством нейронов 3 (рис.6), 5 (рис.7), 7 (рис.8), 10 (рис. 9) и LOGSIG и количеством нейронов 3 (рис.10), 5 (рис.11), 7 (рис.12), 10 (рис. 13) и произведём их обучение.
Рисунок 4. – Окно для создания сети
Рисунок 5. - Окно с созданными сетями
Рисунок 6. – Сеть с функцией активации TANSIG и количеством нейронов 3.
Рисунок 7. – Сеть с функцией активации TANSIG и количеством нейронов 5.
Рисунок 8. – Сеть с функцией активации TANSIG и количеством нейронов 7.
Рисунок 9. – Сеть с функцией активации TANSIG и количеством нейронов 10.
Рисунок 10. – Сеть с функцией активации LOGSIG и количеством нейронов 3.
Рисунок 11. – Сеть с функцией активации LOGSIG и количеством нейронов 5.
Рисунок 12. – Сеть с функцией активации LOGSIG и количеством нейронов 7.
Рисунок 13. – Сеть с функцией активации LOGSIG и количеством нейронов 10.
Произведём создание сети с функцией активации PURELIN c количеством нейронов 3,5,7,10 и произведём её обучение.
Рисунок 14. – Сеть с функцией активации PURELIN и количеством нейронов 3.
Рисунок 15. – Сеть с функцией активации PURELIN и количеством нейронов 5.
Рисунок 16. – Сеть с функцией активации PURELIN и количеством нейронов 7.
Рисунок17.- Сеть с функцией активации PURELIN и количеством нейронов 10.
В методических целях убедимся в правильности решения задачи путём прогона обученной сети с наименьшей ошибкой (сеть с функцией LOGSIG и количеством нейронов 3 ). Для этого необходимо открыть вкладку SIMULATE и выбрать в выпадающем списке ВХОДЫ(Inputs) заготовленные данные (рис. 18).
Рисунок 18. – Прогон сети
В данной задаче создадим новую переменную для тестовой проверки (xtest). При желании можно установить флажок Задать цели (Supply Targets). Тогда в результате прогона дополнительно будут рассчитаны значения ошибки. Нажатие кнопки Прогон сети (Simulate Network) запишет результаты прогона в переменную, имя которой указано в поле Выходы (Outputs). Теперь можно вернуться в основное окно NNTool и, выделив мышью выходную переменную network_logsig_3, нажать кнопку Просмотр (View). Таким образом, мы видим, что содержимое окна просмотра приблизительно совпадает со значением вектора целей – сеть работает правильно (рисунок 19).
Рисунок 19 – Проверка работоспособности сети
Литература: 1. Современные методы синтеза систем управления: Лекции (электронный вариант).