Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
80
Добавлен:
01.05.2014
Размер:
156.67 Кб
Скачать

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

Проектирование и исследование простейших ИНС с помощью пакета STATISTICA Neural Networks (SNN)

Цель работы:

1.Научиться проектировать архитектуры и подбирать весовые коэффициенты связей для сетей прямого распространения со ступенчатой функцией активации всех нейронов сети, способных классифицировать образы, не разделимые линейно.

2.Научиться моделировать и обучать простейшие нейронные сети (простой персептрон и ADALINE) с помощью пакета STATISTICA Neural Networks.

Задания

1. Разработать структуру и сформировать набор весовых коэффициентов сети, решающей задачу классификации точек на плоскости, заданных своими вещественными координатами. Точки, принадлежащие заштрихованной области, сеть должна относить к классу S1, а остальные – к классу S2.

Сформировать представительный набор данных для тестирования сети и протестировать ее.

2. Спроектировать и обучить с помощью SNN персептрон, решающий задачу классификации изображений цифр от 0 до 9. Входными данными сети являются двоичные векторы, состоящие из 32 (8х4) элементов, в которых 1 соответствует элементу изображения, а 0 – его отсутствию.

Например, изображение цифры 0:

Входной вектор, описывающий цифру «0»:

[0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0]

Выход сети – двоичный вектор из 10 элементов, один из элементов которого равен 1, а остальные – 0.

Если на вход сети подано изображение «1», выходной вектор [1 0 0 0 0 0 0 0 0 0];

если «2», то – [0 1 0 0 0 0 0 0 0 0]; и т.д.

Исследовать способность сети к обобщению (к классификации образов, не принадлежащих обучающей выборке).

3. Исследовать простейшие ИНС – простой персептрон Розенблатта и адаптивный линейный элемент (ADALINE), моделируемые с помощью пакета SNN.

Сформировать архитектуру, обучить, оценить качество обучения и функционирования.

Пояснения к выполнению заданий:

К заданию 1:

Создайте набор данных для тестирования сети и сеть, способную к решению данной задачи.

Откройте меню Edit – Network, появится окно Network Editor.

В этом окне требуется задать следующие данные:

  • целевую функцию процедуры обучения – по умолчанию и для решаемой задачи это функция среднеквадратической ошибки (Sum-squared);

  • функции активации для каждого слоя ИНС: для входного слоя – линейная (Linear), для всех последующих – ступенчатая (Step);

  • передаточную функцию для каждого слоя нейронов ИНС: для решаемой задачи – линейная функция(Linear), т.е. вычисление линейной комбинации весового и входного векторов;

  • матрицу весовых коэффициентов сети для каждого слоя: для этого в окошке Connections Shown требуется выбрать All layers.

Здесь Threshold – пороговые значения для каждого нейрона значимых слоев сети, на пересечении i-й строки и j-го столбца таблицы – значение весового коэффициента связи от i-го нейрона сети к j-му нейрону сети.

Обозначение hi#j означает j-й нейрон i-го скрытого слоя (hidden).

Задайте весовые коэффициенты и пороги и протестируйте сеть на наборе входных данных. Среднеквадратическая ошибка обучения сети (Error) должна получиться равной 0. Характеристика качества функционирования сети (Performance) длдя данной сети должна быть также равна 0. Эта характеристика для сетей с числовыми выходами рассчитывается как отношение стандартного отклонения ошибки по всем примерам обучающей выборки к стандартному отклонению данных.

Стандартное отклонение

К заданию 2:

Создайте новый набор данных, содержащий 32 входных переменных. Количество выходных переменных может определяться двумя способами.

1 способ. Задайте 10 числовых выходных переменных:

2 способ. Задайте одну номинальную выходную переменную:

Создайте однослойный персептрон:

Если Вы выбрали первый способ представления выходных данных, создавайте сеть так же, по функционированию они отличаться не будут, но изображение сети будет другим:

Нормировку входных (и выходных в варианте 2) значений нужно отменить:

Обучение однослойного персептрона в пакете SNN моделируется следующим образом.

Выбирается метод обучения BackPropagation, устанавливаются следующие параметры: количество эпох 100 (реально понадобится не более 10), скорость обучения 1, инерция (Momentum) 0, флажки Shuffle Cases (перемешивать наблюдения) и Cross Verification (верификация в процессе обучения) не выставляются.

Попробуйте исказить некоторые изображения и посмотрите, как персептрон обрабатывает их. Исследуйте качество функционирования персептрона в зависимости от степени искажения изображения.

К заданию 3:

В пакете SNN персептрон моделируется однослойной линейной сетью или MLP-сетью, в которой заданы ступенчатые функции активации значимого слоя. Нормировку (Convert) выходных значений нужно отменить.

В качестве алгоритма обучения персептрона берется обратное распространение с коэффициентом инерции равным 0.

Сеть ADALINE моделируется как линейная сеть.

Соседние файлы в папке Лабораторная работа 2