книги / Статистические и интеллектуальные методы прогнозирования
..pdfРис. 7.24. Создание новой нейронной сети
Network Type (тип сети) – список типа нейронных сетей:
Cascade-forward backprop – каскадная сеть с прямым рас-
пространением сигнала и обратным распространением ошибки;
Competitive – конкурирующая сеть;
Elman backprop – сеть Элмана с обратным распространением ошибки;
Feed-forward backprop – сеть с прямым распространением сигнала и обратным распространением ошибки;
Feed-forward time delay – сеть с прямым распространением сигнала, с задержкой по времени и обратным распространением ошибки;
Generalized regression – обобщенная регрессионная сеть;
Hopfield – сеть Хопфилда;
Linear layer (design) – линейный слой (создание);
181
Linear layer (train) – линейный слой (обучение);
LVQ – сеть для классификации входных векторов;
Perceptron – персептрон;
Probabalistic – вероятностная сеть;
Radial basis (fewer neurons) – радиальная базисная сеть
сминимальным числом нейронов;
Self-organizing map – самоорганизующаяся карта Кохонена. В зависимости от типа сети могут быть запрошены различ-
ные параметры в части окна, следующего ниже Network Type. Input data, Target Data – выбор входных и выходных дан-
ных для сети.
Input ranges (диапазоны входа) – допустимые границы входов, которые либо назначаются пользователем, либо определяются автоматически по имени входной последовательности.
Training function (функция обучения) – список обучающих функций.
Adaption learning function (функции настройки для режима адаптации) – список функций настроек.
Архитектура сети задается параметрами:
Number of layers (количество слоев) – количество слоев нейронной сети.
Properties for (свойства) – список слоев: Layer 1 (Слой 1),
Layer 2 (Слой 2).
Number of neurons (количество нейронов) – количество нейронов в слое.
Transfer function (функция активации) – функция активации слоя.
Качество обучения определяется Performance function (функция качества обучения) – список функций оценки качества обучения, например, MSE – среднеквадратическая ошибка.
После выбора типа и параметров сети можно посмотреть архитектуру сети с помощью View (рис. 7.25).
182
Рис. 7.25. Создание новой нейронной сети
Рассматриваемая сеть имеет два входа, один скрытый слой с 20 нейронами.
Для обучения сети необходимо вернуться в главное меню, открыть Open созданную сеть, после этого откроется окно действий с созданной сетью (рис. 7.26).
Рис. 7.26. Окно созданной нейронной сети
Назначение клавиш управления сетью:
Train – обучение сети;
Simulate – моделирование обученной сети;
Adapt – адаптация (настройка) сети;
Reinitialize Weights – повторная инициализация весов (сброс имеющихся);
View/Edit Weights – просмотр и редактирование весов. По клавише Train вызывается поле обучение сети
(рис. 7.27, 7.28).
183
Рис. 7.27. Окно входных и выходных данных обучения Training Info
Рис. 7.28. Окно параметров обучения Training Parameters
В окне Training Info выбираются входные и выходные переменные их списка загруженных данных и определяются выходные параметры обучения – выход сети – network1_outputs (по умолчанию)иошибкаобученияnetwork1_errors (поумолчанию).
184
В окне Training Parameters определяются параметры обучения:
epochs (количество эпох) – определяет число эпох (интервал времени), по прошествии которых обучение будет прекращено. Эпохой называют однократное представление всех обучающих входных данных на входы;
goal (достижение цели) – задание абсолютной величины функции ошибки, при которой цель будет считаться достигнутой;
show (период обновления) – период обновления графика кривой обучения, выраженный числом эпох;
time (время обучения) – временной интервал, по истечении которого обучение прекращается.
Обучение происходит при нажатии Train Network. Результат обучения можно наблюдать в окне обучения (рис. 7.29). На рис. 7.29 представлены характеристики обучения – количество эпох, время обучения, ошибка обучения. При нажатии Perfomsance активируется окно графиков среднеквадратической ошибки в трех выборках: обучающей,тестирующейивалидационной(рис.7.30).
При обучении весь экспериментальный набор подразделяется на три подмножества. Первое подмножество является набором обучающих данных, который используем в вычислениях градиент и обновление сетевых весов и смещений. Второе подмножество является набором валидации. Ошибка валидации обычно уменьшается во время начальной фазы обучения, как делает ошибку набора обучающих данных. Однако, когда сеть начинает сверхсоответствовать данным,ошибкананаборевалидацииобычноначинаетповышаться. Сетевые веса и смещения сохранены в минимуме ошибки набора валидации. Третье подмножество – набор тестов. Ошибка тестирующей выборки не используется во время обучения, но это используется, чтобы сравнить различные модели. Также полезно построить ошибку наборатестоввовремяучебногопроцесса.
Отношения по умолчанию для обучения, тестирования 0.85, 0.15 и 0.15 от объема обучающей выборки для валидации, соответственно.
185
Рис. 7.29. Окно результатов обучения
Рис. 7.30. Графики среднеквадратической ошибки для обучающей, валидационной и тестирующей выборок
186
ПРИМЕР 7.1. Построить нейронную сеть с прямым распространением сигнала и обратным распространением ошибки. Исследовать качество сети в зависимости от количества слоев и нейронов в слое на исходных данных, заданных в файле isx.mat (описание файла представлено в приложении 3).
Исходный файл isx.mat представляет собой временной ряд, содержащий 150 точек наблюдения. Загрузка файла осуществляется в рабочую область MATLAB.
В качестве входа будут использованы значения y(t 1), y(t 2), y(t 3), y(t 4), y(t 5) . Для обучения будет исполь-
зовано 140 точек, на оставшихся 10 точках будет осуществлена проверка качества прогнозирования.
1. Формирование обучающей выборки
N=150;
%формирование обучающей выборки размером Nt Nt=140;
for i=1: Nt t(1,i)=isx(1,i); end
%формирование данных для обучения НС
k=5;
for i=1:Nt-k y(1,i)=t(1,i+k); for j=1:5
x(j,i)=t(1,5-j+i); end
end
2. Обучение сети. По команде NNtool активируется главное окно (рис. 7.31).
Вводвходныхивыходныхданныхпоказаннарис.7.32и7.33. Далее создается нейронная сеть с прямым распространением сигнала и обратным распространением ошибки: 1 скрытый
слой с 10 нейронами – nw_1_10 (рис. 7.34).
187
Рис. 7.31. Главное окно NNtool
Рис. 7.32. Ввод входных данных
Рис. 7.33. Ввод выходных данных
188
Рис. 7.34. Создание нейронной сети nw_1_10
Архитектура сети представлена на рис. 7.35 при нажа-
тии View.
Рис. 7.35. Архитектура нейронной сети nw_1_10
189
Обучение сети осуществляются нажатием Open в главном окне NNTool и выбором параметром обучения при нажатии Train
в окне Network nw_1_10 (рис. 7.36–7.38).
Результаты обучения представлены на рис. 7.39, 7.40.
Рис. 7.36. Окно созданной нейронной сети nw_1_10
Рис. 7.37. Окно выбора входных данных для обучения и назначение выходной y_1_10
190