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

neuro_lab2

.pdf
Скачиваний:
21
Добавлен:
05.07.2022
Размер:
753.58 Кб
Скачать

Отчет по лабораторной работе № 2

по дисциплине «Нейрокомпьютеры и их применение»

на тему: «Многослойный персептрон»

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

1. Проведем предварительный анализ данных файла min_water.txt.

Для этого применим кластерный анализ к переменным. Столбец var1 не содержателен, поэтому применим операцию ignore к нему. Столбец var2 определяет 5 типов минеральной воды. Столбцы var3-var25 определяют различные признаки образцов минеральной воды. Будем проводить кластерный анализ так: группирование производить относительно выходной переменной var2, в качестве x зафиксируем, например, var3, для Y будем последовательно менять значения: var4var25. Те var4-var25, которые позволят получить 5 достаточно хорошо определенных несмешанных групп информативны. Например, информативны var3 и var6:

Рис. 22 – Пример проведения кластерного анализа

Было выявлено, что информативны var3, 6, 7, 8, 16, 19, 21, 22 (возможны и другие варианты, если мы зафиксировали не var3, а другую переменную).

Отметим столбец var2 выходом; столбцы var3, 6, 7, 8, 16, 19, 21, 22 – входами,.к остальным применим операцию ignore.

1

Рис. 23 - Часть отредактированной таблицы

Изменим соотношение чисел в cases на 24:8:8 – 24 строки (образца минеральной воды) для обучения, 8 – для верификации (валидации), 8 – для тестирования соответственно.

Рис. 24 - Часть отредактированной таблицы

Сделаем, чтобы разбиение на примеры для обучения, верификации, теста было случайным, для этого выберем: Edit – cases – shuffle – train, verify and test.

2

Рис. 25 - Часть отредактированной таблицы

Сделаем, чтобы для каждого из 5 типов воды было, по крайней мере, по 1 тестовой (синей) строке и 1 верификационной (красной) строке. В сумме должно быть 16 строк – для некоторых признаков, например, 1,3, 4 апризнаков – по 2 тестовых примера и 2 верификационных примера.

Рис. 27 - Часть отредактированной таблицы

3

2. Создадим многослойный персептрон, например с двумя внутренними слоями:

Рис. 28 – Многослойный персептрон с одним выходом Характеристики нейросети:

Тип: многослойный перцептрон

Число слоев: 4

Число входов: 8 (равно числу выявленных в пункте 1 признаков)

Число нейронов первого внутреннего слоя: 5

Число нейронов второго внутреннего слоя: 3

Число выходов: 1

Steps: 1

Lookahead: 0

Функция преобразования нейронов: minimax

Функция активации нейронов первого слоя: linear

Функция активации нейронов первого внутреннего слоя: logistic

Функция активации нейронов второго внутреннего слоя: logistic

Функция активации нейронов выходного слоя: linear

Функция ошибки: sum-squared

Обучим нейросеть методом обратного распространения ошибки. Параметры обучения:

Число эпох: 2000

Скорость обучения: от 0,5 до 0,0001

Momentum: 0,3

4

Рис. 29 – График ошибки обучения и ошибки верификации нейросети

Рис. 30 - Таблица с предсказаниями нейросети и действительными классами

Пусть допуск по тесту 5% (то есть отклонение реального выхода НС не должно быть больше 5%, при этом нужно учитывать нормировку, например для образца № 27 отклонение (0,077 / 4) * 100% = 2%). Из рис. 30 видно, что все тестовые (синие) ответы сети верны, кроме образца № 3 с

5

отклонением более 8 %. Тогда отношение числа неверно распознанных тестовых образцов к общему числу тестовых образцов:

(1/8)*100% = 12,5 %

Вывод: из рис. 29 видно, что в процессе обучения нейросети в течение 2000 эпох значение ошибки обучения постепенно убывает, на последней эпохе составляет 0,05; значение ошибки верификации убывает, затем практически не меняется и составляет на последней эпохе 0,17. Из рис. 30 видно, что значения, предсказанные нейросетью, в основном отличаются от действительных менее, чем на 10 %; ошибка на тестовых данных составляет 0,077. Следовательно, данную нейросеть можно использовать для задачи распознавания образцов минеральной воды.

3. Изменим таблицу, чтобы число выходных переменных было 5, для этого применим ignore к var2, в конец таблицы добавим 5 переменных, обозначим их в качестве выходных и заполним нулями и единицами:

Рис. 31 - Часть отредактированной таблицы

6

Рис. 32 - Часть отредактированной таблицы Создадим многослойный персептрон с пятью выходами:

Рис. 33 - Многослойный персептрон с пятью выходами Характеристики нейросети:

Тип: многослойный перцептрон

Число слоев: 4

Число входов: 8 (равно числу выявленных в пункте 1 признаков)

Число нейронов первого внутреннего слоя: 5

Число нейронов второго внутреннего слоя: 3

Число выходов: 5

Steps: 1

7

Lookahead: 0

Функция преобразования нейронов: minimax

Функция активации нейронов первого слоя: linear

Функция активации нейронов первого внутреннего слоя: logistic

Функция активации нейронов второго внутреннего слоя: logistic

Функция активации нейронов выходного слоя: logistic

Функция ошибки: sum-squared

Обучим нейросеть методом обратного распространения ошибки. Параметры обучения:

Число эпох: 2000

Скорость обучения: 0,9

Momentum: 0,3

Рис. 34 – График ошибки обучения и ошибки верификации нейросети

8

Рис. 35 - Таблица с предсказаниями нейросети и действительными классами

Пусть допуск 6 %. Все тестовые (синие) образцы удовлетворяют этому допуску. Тогда:

(0/8) *100% = 0 %

Вывод: из рис. 34 видно, что в процессе обучения нейросети в течение 2000 эпох значение ошибки обучения постепенно убывает, на последней эпохе составляет 0,0108; значение ошибки верификации убывает и составляет на последней эпохе 0,0163. Из рис. 35 видно, что значения, предсказанные нейросетью, в основном отличаются от действительных менее, чем на 10 %; ошибка на тестовых данных составляет 0,0152. Следовательно, данную нейросеть можно использовать для задачи распознавания образцов минеральной воды. Целесообразнее использовать для классификации образцов полученную сеть, а не сеть из пункта 2, так как для данной сети более вероятно отсутствие переобучения (ошибка верификации все время убывает), а значение ошибок обучения, верификации и тестовой меньше на последней эпохе при равном числе эпох обучения.

4. Решим задачу классификации образцов минеральной воды с помощью квазиньютоновского алгоритма обучения с чилом эпох обучения равным 1000.

9

Рис. 36 – График ошибки обучения и ошибки верификации нейросети

Рис. 37 - Таблица с предсказаниями нейросети и действительными классами

Пусть допуск 1 %. Все тестовые (синие) образцы удовлетворяют этому допуску. Тогда:

(0/8) *100% = 0 %

Вывод: из рис. 36 видно, что в процессе обучения нейросети в течение 1000 эпох значение ошибки обучения постепенно убывает и составляет практически ноль на последней эпохе; значение ошибки верификации сначала убывает, в районе 500-й эпохи резко возрастает, затем практически равно нулю. Из рис. 37 видно, что значения, предсказанные нейросетью отличаются от

10

Соседние файлы в предмете Нейрокомпьютеры и их применение