Лабораторная работа 1 / lab1_neiroseti / Лабораторная работа 1 / Лабораторная работа 1
.docЛабораторная работа №1.
Основы работы с пакетом STATISTICA Neural Networks
Цель работы: научиться создавать и редактировать обучающие и тестовые данные, создавать и обучать искусственные нейронные сети (ИНС), оценивать качество обучения и функционирования ИНС с помощью пакета STATISTICA Neural Networks.
Задание
С помощью пакета STATISTICA Neural Networks создать различные архитектуры искусственных нейронных сетей, реализующих логические функции двух переменных ИЛИ(OR) и ИСКЛЮЧАЮЩЕЕ ИЛИ(XOR), и обучить их.
Для каждой логической функции:
-
Создать новый набор обучающих данных;
-
Создать новый набор прямонаправленных нейронных сетей различной конфигурации:
-
однослойную сеть (входной и выходной слой);
-
двухслойную сеть с двумя нейронами скрытого слоя;
-
двухслойную сеть с четырьмя нейронами скрытого слоя;
-
трехслойную сеть, содержащую 8 нейронов в первом скрытом слое и 4 нейрона во втором скрытом слое.
Обучить каждую сеть набора;
Протестировать каждую сеть на обучающем наборе данных;
На основании оценок качества обучения и функционирования и параметров сети выбрать наилучшую сеть.
Пояснения к выполнению задания:
Закройте окно Open Data Set, которое автоматически появляется при входе в программу. Для создания нового набора данных выберите из меню File – New – Data Set. В окне Create Data Set введите количество входов (2) и количество выходов (1). Нажмите кнопку Create.
Появятся два окна Data Set Editor и Network Set Editor. В окне Data Set Editor введите данные. Для данной задачи это – таблица истинности логической функции.
Для того, чтобы ввести номинальные значения для выходной переменной (false, true), щелкните правой кнопкой мыши по ее имени и выберите Definition. Введите значение в окошке Value.
В окошках Variables должны быть установлены количества входных и выходных переменных (2 и 1), а в окошках Cases устанавливают количество примеров для обучения (в нашем случае 4), верификации и тестирования.
Верификация – это процедура, используемая в некоторых алгоритмах обучения для предотвращения так называемого переобучения сети, в результате которого сеть утрачивает способность к обобщению. В данной задаче нет опасности переобучить сеть, поэтому количество примеров для верификации 0.
Тестирование будем осуществлять на примерах из обучающей выборки, поэтому количество примеров для тестирования тоже 0.
Теперь можно создавать и редактировать набор нейронных сетей. Выберите в меню File – New – Network. Откроется окно Create Network. Нажмите кнопку Advise (Совет) – программа автоматически подберет параметры сети для решения задачи.
Здесь потребуется изменить следующие данные. В таблице Pre/Post Processing для входных переменных укажите (правая кнопка мыши) Convert (способ их преобразования) None (без преобразования). В столбце Missing указывают метод замены пропущенных значений – укажите Min, тогда на место пропущенных входных данных будет поставлен 0 , а на место выходных – false. Данные в двух последних столбцах - параметры для способа преобразования данных, оставьте их без изменения, т.к. преобразования производиться не будут.
Выберите количество слоев (для однослойной сети – 2). В таблице установите количество нейронов скрытых слоев (если они есть). Ширина слоя равна 1 для выбранного типа сети.
Нажмите Create и выберите Нет в ответ на предложение записать сеть в набор.
Записать сеть в набор можно следующим образом. Нажмите Options в окне Network Set Editor, и в открывшемся окне Network Set Options нажмите Add. Сеть будет добавлена в набор.
В окне Network Set Editor представлены характеристики сети, которые понадобятся для анализа качества ее обучения и функционирования. Сеть еще не обучена, поэтому характеристики плохие (смысл характеристик см. ниже).
Приступайте к обучению сети.
Выберите меню Statistics – Training Graph… Откроется окно Training Error Graph. Выберите меню Train – Multilayer Perceptrons – Back Propagations.
Установите количество эпох обучения (количество предъявлений сети каждого из входных данных) 50000 и нажмите кнопку Train.
Сохраните обученную сеть в наборе сетей вместо текущей, нажав кнопку Replace в окне Network Set Options. При этом убедитесь, что в окошке Network to replace указан номер текущей сети из набора.
Теперь можно оценить качество обучения и функционирования сети.
В окне Network Set Editor содержится следующая необходимая для этого информация:
-
Error – среднеквадратичная ошибка обучения на всех обучающих примерах
, где – абсолютная ошибка на i-м примере.
-
Performance – доля правильно классифицированных данных (в задачах классификации).
Тестирование сети на примерах из обучающей выборки подтверждает эту информацию.
Выберите меню Run – Data Set.
Теперь повторите все действия для создания, обучения и оценивания характеристик других конфигураций сетей, перечисленных в задании.
Любые данные пакета можно передать в систему STATISTICA для автоматического построения графиков и оформления отчета.