BD_PP_12
.pdfЛабораторная работа № 11 Выбор архитектуры нейронной сети с двумя скрытыми слоями
Теоретические основы
Нейронная сеть с несколькими скрытыми слоями состоит из нескольких групп (слоев) нейронов. Внутри одного слоя нейроны не связаны между собой. Выходные сигналы нейронов одного слоя подаются на вход другого слоя.
x1 |
|
1-й нейрон |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
1-й нейрон |
|
|
y |
||
x |
|
|
|
|
|
|
||
2 |
|
2-й нейрон |
выходной |
|||||
|
|
|
|
|
||||
|
|
|
|
|
||||
|
|
|
|
|
|
нейрон |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k-й нейрон |
|
|
|
xn |
m-й нейрон |
|
|
|
|
|||
|
|
|
|
|
||||
|
|
2-й |
|
|
||||
входной |
1-й |
|
выходной |
|
||||
слой |
скрытый слой |
|
скрытый слой |
|
||||
|
слой |
|
||||||
|
|
|
|
|
|
|
|
Обозначим количество факторов n, количество нейронов в 1-м слое m, во 2-м k. Тогда представленная сеть будет иметь структуру n:m:k:1. Обычно n ≥ m ≥ k.
Чем сложнее структура нейронной сети, тем выше ее нелинейность и сложнее ее обучение. Возрастает опасность переобучения сети, когда ошибка по обучающей выборке мала, а по контрольной выборке – велика.
Задание
Экспериментальные данные (920 записей) находятся в файле base1.xls. В работе используются данные, подготовленные в результате выполнения п.1 предыдущей работы (лист Норм).
Используя эти данные
1.По обучающей выборке построить нейронную сеть 9:4:3:1, найти веса нейронов. Рассчитать стандартную ошибку по обучающей и контрольной выборкам.
2.По обучающей выборке построить нейронную сеть 9:5:2:1, найти веса нейронов. Рассчитать стандартную ошибку по обучающей и контрольной выборкам.
Этапы выполнения работы
1.Построение нейронной сети 9:4:3:1
1.1.Ввод случайных начальных значений весов нейронов
После столбца А (Прочность) добавить новый столбец, задать его заголовок Св.член, заполнить этот столбец единицами.
Перед 1-й строкой добавить 8 строк. Ввести заголовки для таблицы весов нейронов. Заполнить эту таблицу случайными числами, используя программу Генерация случайных чисел из пакета программ Анализ данных (вкладка Данные-Анализ). Параметры программы:
•9 переменных – входных нейронов (столбцы B:J);
•8 случайных чисел (4 нейрона 1-го скрытого слоя, 3 нейрона 2-го скрытого слоя и 1 выходной нейрон);
•равномерное распределение от -1 до 1;
•случайное рассеивание 20;
•выходной интервал, начиная с ячейки B2.
В ячейки G6:J8 и F9:J9 записать 0, поскольку при построении нейронной сети эти ячейки не используются.
Для наглядности в таблице нейроны 1-го скрытого слоя выделены голубым, нейроны 2-го скрытого слоя – зеленым, выходной нейрон – оранжевым. При выполнении работы заливку можно не использовать.
1.2.Расчет выходных значений нейронов
В6-ю строку ввести заголовки для столбцов, в которых будут рассчитаны выходы нейронной сети. Столбцы К и Р (Св.член) заполнить единицами.
Вячейку L11 (нейрон_1_1) ввести формулу для функции активации 1-го нейрона 1-го скрытого слоя (исходные данные 1-го эксперимента перемножаются на веса входных нейронов из 2-й строки)
=1/(1+EXP(-СУММПРОИЗВ($B11:$J11;$B$2:$J$2)))
Аналогично, в ячейки M11:O11 ввести формулы для функции активации других нейронов 1-го скрытого слоя.
В ячейку Q11 (нейрон_2_1) ввести формулу для функции активации 1-го нейрона 2-го скрытого слоя (выходы нейронов 1-го скрытого слоя перемножаются на веса из 6-й строки)
=1/(1+EXP(-СУММПРОИЗВ($K11:$O11;$B$6:$F$6)))
Аналогично, в ячейки R11:S11 ввести формулы для функции активации других нейронов 2-го скрытого слоя.
Для расчета выхода нейронной сети в ячейке T11 используются веса нейронов из 9-й строки и выходы нейронов 2-го скрытого слоя:
=1/(1+EXP(-СУММПРОИЗВ($P11:$S11;$B$9:$E$9)))
Формулы из ячеек L11:T11 скопировать вниз до 930-й строки.
2.Минимизация стандартной ошибки
2.1.Ввод формул для расчета стандартной ошибки
Вначале столбцов L:N подготовить таблицу для расчета остаточных сумм и стандартных ошибок по обучающей и контрольной выборкам.
Рассчитать сумму квадратов разностей между экспериментальным и расчетным значениями прочности для обучающей (в ячейке M2 по первым 700 строкам данных) и контрольной (в ячейке N2 по оставшимся строкам) выборок.
Рассчитать значения стандартных ошибок как квадратный корень из остаточных сумм в ячейках M3:N3. Для этих ячеек задать процентный формат чисел с 2 знаками после запятой.
2.2.Поиск минимума стандартной ошибки
Найти минимум стандартной ошибки обучающей выборки (ячейка M3), изменяя веса нейронов в ячейках B2:J9, используя программу «Поиск решения». В основном окне программы нажать конпку Параметры и на вкладке Поиск решения нелинейных задач методом ОПГ уменьшить значение сходимости до 0,001.
После получения результата убедиться, что стандартная ошибка обучающей выборки не больше, чем стандратная ошибка контрольной выборки. В противном случае заново задать веса нейронов и выполнить поиск решения еще раз.
3. Переименовать лист Норм в 9_4_3_1. Скопировать этот лист и переименовать копию в 9_5_2_1. Изменить формулы для нейронной сети со структурой 9:5:2:1. Заново выполнить поиск минимума стандартной ошибки.
Содержание отчета о работе:
•Значения стандартной ошибки для обучающей и контрольной выборки при различных значениях случайного рассеивания начальных весов нейронов:
Структура сети Обучающая |
Контрольная |
выборка |
выборка |
9:4:3:1
9:5:2:1
• вывод: при какой структуре нейронной сети стандартная ошибка наименьшая.
Контрольные вопросы:
•Как изменится структура расчетной таблицы при построении нейронной сети с архитектурой
9:6:3:1?
•В чем преимущества и недостатки нейронных сетей с двумя скрытыми слоями по сравнению с сетями с одним скрытым слоем?
•Для чего при обучении сети с двумя скрытыми слоями требуется уменьшить величину сходимости?
•Объясните выбор параметров генератора случайных чисел в этой работе.
•Какие программы и встроенные функции Excel используются в этой работе? Какова задача каждой из программ и функций?