Цель работы: научиться создавать и редактировать обучающие и тестовые данные, создавать и обучать искусственные нейронные сети (ИНС), оценивать качество обучения и функционирования ИНС с помощью пакета 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 для автоматического построения графиков и оформления отчета.