Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №2.doc
Скачиваний:
59
Добавлен:
10.12.2018
Размер:
727.04 Кб
Скачать

Лабораторная работа №2

Решение задач классификации с помощью нейронных сетей

Цель работы

Целью лабораторной работы является ознакомление с пакетом Neural Network Wizard и работы в нем, а также изучение техники решения задач классификации с помощью нейронных сетей.

1. Краткие теоретические сведения

Нейронные сети широко используются при решении задач прогнозирования, классификации (распознавание образов), управления.

Искусственный нейрон имитирует свойства биологического нейрона, который представляет собой элементарный преобразовательный элемент. На вход искусственного нейрона поступает некоторое множество сигналов , каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес и поступает на суммирующий блок S. Суммирующий блок складывает взвешенные входы алгебраически, создавая выход, который преобразуется активационной функцией F и дает выходной нейронный сигнал Y. (рис. 2.1). Существует несколько типов активационных функций, наиболее распространенной является функция вида .

Ячейка

нейрона

Входы

Синапсы

Выход

S

Аксон

Синапсы

.

.

.

Рис. 2.1. Искусственный нейрон

Искусственная нейронная сеть - набор элементарных нейроподобных преобразователей информации (нейронов), соединенных друг с другом для их совместной работы. Наиболее распространенными являются следующие три типа нейронных сетей:

- сети прямого распространения, или многослойный персептрон (рис. 2.2);

- самоорганизующиеся карты Кохонена;

- сети Хопфилда;

Рис. 2.2 - Пример НС прямого распространения

2. Описание среды Neural Network Wizard

П

Таблица 2.1

X

Y

Z

0

0

0

0

1

1

1

0

1

1

1

0

орядок работы в среде Neural Network Wizard рассмотрим на следующем примере.

Пример.

Создать НС для распознавания

функции «Исключающее ИЛИ» (табл. 2.1).

Число переменных для входа и выхода

равно соответственно 2 и 1.

2.1 Создание набора данных

На первом шаге подготовим обучающие примеры. Данные для обучения нейронной сети должны быть представлены в текстовом файле с разделителем (Tab или пробел) (рис. 2.3).

Рис. 2.3 – Данные для обучения НС

Далее в главном окне программы необходимо выбрать файл, содержащий обучающую выборку (рис. 2.4). Информация, содержащаяся в этом файле, используется для обучения сети. Можно открыть txt-файл для обучения или nnw-файл – обученную нейронную сеть.

Рис. 2.4

Следующее окно программы, представленное на рис. 2.5, позволяет задать входные и выходные переменные, провести при необходимости процедуру нормализации данных.

Рис. 2.5

Здесь

Использовать поле как - нейронная сеть состоит из входного, выходного и скрытых слоев. Количество нейронов в первом и последнем слое зависит от того, сколько полей вы определите как входные и выходные. Поля, отмеченные пометкой «не использовать» в обучении и тестировании сети применяться не будут.

Нормализовать поле как - на вход сети должна подаваться информация в нормализованном виде. Т.е. это числа в диапазоне от 0 до 1. Можно выбрать один из методов нормализации:

  • - линейная нормализация.

  • – экспоненциальная нормализация.

  • Авто – нормализация, основанная на статистических характеристиках выборки

  • Без нормализации – нормализация не производится

Параметры нормализации - задаются значения, используемые в формулах нормализации.

Для рассматриваемого примера входными данными являются X и Y, выходной переменной – Z. Нормализация исходных данных не производится.

2.2. Создание нейронной сети

На следующем шаге в окне представленном на рис. 2.6 задаем параметры конфигурации нейронной сети.

Здесь

Число скрытых слоев нейросети - нейронная сеть состоит из нескольких слоев – входного, выходного и скрытых (скрытых слоев может быть несколько). Этот параметр позволяет указать количество скрытых слоев. Общего правила, сколько должно быть таких слоев, нет, обычно задается 1-3 скрытых слоя. Можно говорить, что чем более нелинейная задача, тем больше скрытых слоев должно быть.

Слои, Число нейронов – этот параметр позволяет задать количество нейронов в каждом скрытом слое. Общих правил определения количества нейронов в скрытых слоях нет, но необходимо, чтобы число связей между нейронами было меньше количества примеров в обучающей выборке.

Параметр сигмоиды – в Neural Network Wizard в качестве функции активации используется сигмоидальная функция (сигмоида). Сигмоида применяется для обеспечения нелинейного преобразования данных. В противном случае, нейросеть сможет выделить только линейно разделимые множества. Чем выше параметр, тем больше переходная функция походит на пороговую функцию. Параметр сигмоиды подбирается экспериментально.

Рис. 2.6 – Окно задания параметров нейронной сети

Для рассматриваемого нами примера будет использована сеть с одним скрытым слоем, содержащим 2 нейрона.