Lab02
.docФедеральное государственное автономное
образовательное учреждение
высшего профессионального образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
ИНСТИТУТ КОСМИЧЕСКИХ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Лабораторная работа № 2
"Системы искусственного интеллекта"
наименование дисциплины
Обучение нейронных сетей по готовому задачнику
(выборы президентов САСШ)
тема
Руководитель __________ __________________ Л.А. Жуков
подпись, дата должность, ученая степень инициалы, фамилия
Студент ЗКИ 08-01 0702326 __________ М.А. Гуменко
номер группы номер зачетной книжки подпись, дата инициалы, фамилия
Красноярск 2013
Цель работы:
На примере простой готовой задачи изучить основы обучения нейронных сетей с помощью нейроимитатора NeuroPro.
Задачи:
-
Изучить основные возможности нейроимитатора NeuroPro. Выполнять работу следует по готовой выборке. Предлагается задача прогнозирования выборов североамериканских президентов.
-
Изучить особенности конструирования и обучения нейронных сетей.
-
Изучить возможности определения значимостей параметров.
-
Изучить возможности и особенности контрастирования нейронных сетей.
Решение задачи осуществляется с помощью нейроимитатора NeuroPro 0.25
Файл базы данных с информацией о выборах президентов США получен от преподавателя. Содержимое файла Election.db:
Константа Липшица для полной выборки
-
Создаем новую сеть Network1:
Входные параметры, согласно файлу Election.db: MORE1; MORE50; THIRD; CONC; PREZ; DEPR; VAL2_1; CHAHGES; WAVE; MIST; R_HERO; O_HERO; Выходные параметры: Ответ.
Структура сети: трехслойная, Слой 1 – 10 нейронов, слой 2 – 10 нейронов, слой 3 – 10 нейронов; Нелинейность – Сигмоида f(x)=x/(c+|x|), точность 0,1.
Аналогично создаются сети Network2, Network3, Network4 и Network5.
-
Разделим полную выборку (32 примера) на обучающую и тестовую группами по 7 примеров по очереди.
Обучающая выборка (18 примеров):
Константа Липшица для обучающей выборки:
Тестовая выборка (14 примеров):
Константа Липшица для тестовой выборки:
-
Обучаем созданные сети на обучающей выборке:
Сводная таблица обучения сетей:
Сеть |
Число циклов обучения |
Шаг |
Средняя оценка |
Число правильно решенных примеров |
Network1 |
7 |
0,0373286 |
0 |
18 |
Network2 |
5 |
0,05848368 |
0 |
18 |
Network3 |
4 |
0,09815841 |
0 |
18 |
Network4 |
8 |
0,07905991 |
0 |
18 |
Network5 |
9 |
0,0005798767 |
0 |
18 |
-
Протестируем обученные сети на обучающей выборке:
Тестирование сетей и значимость сигналов:
Сводная таблица тестирования сетей по обучающей выборке:
Нейронная сеть |
Число правильных решений |
Число неправильных решений |
Всего примеров |
Средняя ошибка |
Максимальная ошибка |
Network1 |
18 (100%) |
0 (0%) |
18 |
0,04135789 |
0,09818411 |
Network2 |
18 (100%) |
0 (0%) |
18 |
0,05437197 |
0,08997858 |
Network3 |
18 (100%) |
0 (0%) |
18 |
0,03491326 |
007556272 |
Network4 |
18 (100%) |
0 (0%) |
18 |
0,06108506 |
0,08754587 |
Network5 |
18 (100%) |
0 (0%) |
18 |
0,05873443 |
009619588 |
-
Протестируем обученные сети на тестовой выборке:
Тестирование сетей и значимость сигналов:
Сводная таблица тестирования сетей по тестовой выборке:
Нейронная сеть |
Число правильных решений |
Число неправильных решений |
Всего примеров |
Средняя ошибка |
Максимальная ошибка |
Network1 |
9 (64,2857%) |
5 (35,7143%) |
14 |
0,0867617 |
0,2463133 |
Network2 |
10 (71,4286%) |
4 (28,5714%) |
14 |
0,1838465 |
0,9772249 |
Network3 |
11 (78,5714%) |
3 (21,4286%) |
14 |
0,1489477 |
0,9352959 |
Network4 |
10 (71,4286%) |
4 (28,5714%) |
14 |
0,2677065 |
1,065958 |
Network5 |
9 (64,2857%) |
5 (35,7143%) |
14 |
0,02513561 |
1,057493 |
-
Контрастируем число входных сигналов по обучающей выборке сетей:
Значимости входных сигналов после контрастирования:
Анализ значимости входных сигналов, показывает, что некоторые из них значительно меньше влияют на точность решения, чем другие.
-
Протестируем на тестовой выборке обученные и сокращенные по числу входных сигналов сети:
Сводная таблица тестирования сетей по тестовой выборке после сокращения числа входных сигналов:
Нейронная сеть |
Число правильных решений |
Число неправильных решений |
Всего примеров |
Средняя ошибка |
Максимальная ошибка |
Network1 |
14 (100%) |
0 (0%) |
14 |
0,04430774 |
0,08504331 |
Network2 |
14 (100%) |
0 (0%) |
14 |
0,06207586 |
0,09463394 |
Network3 |
14 (100%) |
0 (0%) |
14 |
0,02399272 |
0,04499292 |
Network4 |
14 (100%) |
0 (0%) |
14 |
0,03143137 |
0,09329855 |
Network5 |
14 (100%) |
0 (0%) |
14 |
0,05535635 |
0,08564788 |
-
Вывод:
Нейронные сети используются для решения различных по типу и сложности задач, в которых в большинстве случаев достаточно приближенного ответа. При усложнении сети и параметров, результат не всегда будет более точным.