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

книги / Статистические и интеллектуальные методы прогнозирования

..pdf
Скачиваний:
6
Добавлен:
12.11.2023
Размер:
8.94 Mб
Скачать

Рис. 7.15. Архитектура нейронных сетей и решаемые задачи

Рис. 7.16. Архитектура сети прямого распространения

(Feed forward)

171

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

7.5.2. Сети с обратными связями, сети обратного распространения, или рекуррентные нейронные сети (Recurrent)

Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя

(обратная связь) [34, 38] (рис. 7.17).

Рис. 7.17. Архитектура нейронной сети с обратными связями

172

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

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

7.5.3. Радиально-базисная сеть

Особенность радиально-базисной нейронной сети (РБФсети) состоит в том, что в ней активационными функциями являются радиально-базисные функции. Общий вид радиальнобазисной функции определен формулой

F(u) (

x2

) .

(7.16)

2

 

 

 

На практике в качестве радиально-базисной функции чаще всего используется экспонента

(x) exp(

x2

) ,

(7.17)

2

 

 

 

где x – вектор входных сигналов нейрона; – ширина окна функции; (x) – убывающая функция (чаще всего, равная ну-

лю вне некоторого отрезка) (рис. 7.18).

Нейронная сеть радиальных базисных функций содержит только один скрытый слой с радиально-симметричной активационной функцией. Веса входов в скрытый слой равны единице

(рис. 7.19).

173

y

1

x

Рис. 7.18. График радиально-базисной функции

Рис. 7.19. Архитектура радиально-базисной нейронной сети

К достоинству РБФ-сетей относятся простая структура сети: один скрытый слой и нелинейная функция активации. Благодаря этому не возникает проблемы выбора количества слоев, для настройки весов может быть использован прямой (не итерационный) алгоритм. Поэтому процесс обучения РБФ-сетей идет на порядок быстрее, чем в сетях с обратным распространением.

Недостатком РБФ-сетей является громоздкость сети при большом объеме обучающей выборки.

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

174

7.6.ЭТАПЫЖИЗНЕННОГО ЦИКЛАНЕЙРОННЫХ СЕТЕЙ

Использование искусственной нейронной сети для решения прикладных задач – трудоемкий, а в некоторых случаях и длительный процесс. В этой связи можно выделить и описать несколько этапов ее жизненного цикла.

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

(см. рис. 7.15).

2.Определение качественного и количественного соста-

вов входов и выходов. Качественный состав входных и выходных переменных нейросетевой модели определяется главным образом поставленной на предыдущем этапе задачей. Количе-

ственный состав может зависеть еще от природы входных

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

ивыходов модели.

3.Формирование исходной выборки. Исходная выборка данных может быть сформирована на основе практического или вычислительного эксперимента. Чем больше объем проведенного эксперимента, тем более точная нейронная сеть будет построена.

4.Предварительная обработка и нормализация исходной выборки. Данный этап определяется выбранной архитектурой нейронной сети, составом входных и выходных переменных и, собственно, фактическими данными, полученными в результате эксперимента. Если входные переменные обучающей выборки имеют значения, отличающиеся на порядок, то необходимо нормализовать данные исходной выборки. На практике чаще всего используется линейная нормализация на диапазоне [0,1]:

175

 

 

x

xik xmink

,

(7.18)

 

 

 

 

 

ik

xmaxk xmink

 

 

 

 

 

где

x

i-е нормализованное значение k-й входной переменной;

 

ik

 

 

 

 

xik

i-е реальное значение k-й входной переменной; xmink ,

xmaxk

минимальное и максимальное значение k-й входной переменной

висходной выборке.

5.Разделение исходной выборки на обучающую и тести-

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

В программных реализациях, например NNTOOL MATLAB, разделение на выборки осуществляется автоматически.

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

7.Обучение нейронной сети. В соответствии с выбранным алгоритмом обучения осуществляется расчет весовых коэффициентов. Для обучения могут быть использованы только примеры обучающей выборки.

8.Тестирование нейронной сети. С использованием тес-

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

В случае неудовлетворительного решения этапы 6–8 повторяются для изменения параметров или структуры нейронной сети.

176

9.Практическое использование нейронной сети. Обучен-

ная и протестированная нейронная сеть может быть использована для практического решения задачи.

10.Дообучение нейронной сети. В случае необходимости разработанная нейронная сеть может быть дообучена для других входных последовательностей. Процесс дообучения представляет собой подстройку весов выбранной модели нейронной сети, при этом общая структура модели нейронной сети не меняется.

7.7.РЕАЛИЗАЦИЯ ИНС В MATLAB

Впрограммной среде MATLAB существует несколько возможностей реализации ИНС: с помощью команд встроенного пакета Neural Network Toolbox, использования графического интерфейса NNTool [40, 46, 47].

Пакет для работы с нейронными сетями Neural Network Toolbox представляет собой полноценную среду MATLAB для решения прикладных задач, обеспечивая поддержку проектирования, обучения и моделирования нейронных сетей [40, 46].

Neural Network Toolbox включает в себя команды, реализующие функции: создания нейронной сети, выбора модели сети, выбора функции активации, обучения нейронной сети, настройки нейронных слоев, выбора функций оптимизации при обучении сети, инициализации слоев и смещений, тестирования,

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

Создание, обучение, тестирование сети происходит с помощью команд Neural Network Toolbox, реализуемых непосредственно в поле MATLAB или с помощью программы-скрипта

[40, 46, 47].

Графический интерфейс NNTool вызывается соответствующей командой из поля MATLAB и представляет собой графическую оболочку, в которой путем выбора функций и парамет-

177

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

С точки зрения возможностей пакет Neural Network Toolbox обладает большим функционалом, а графический интерфейс NNTool – удобством пользования.

Рассмотрим методику создания и исследования нейронной сети с использованием средств NNTool.

Вызов графического интерфейса NNTool осуществляется из рабочего поля MATLAB командой

>> nntool

В результате появляется основное окно (рис. 7.20) – Neural Network/Data Manager (nntool).

Рис. 7.20. Главное окно NNTool

178

Ввод входных и выходных данных для создания и обучения сети можно осуществить непосредственно в NNTool, для этого активируется окно Create Nertwork/Data (рис. 7.21) путем нажатия на New.

Рис. 7.21. Задание входных и выходных данных

В данном окне вводятся исходные данные в поле Value, присваивается имя переменной в поле Name, выбирается тип переменной: Inputs – входы, Targets – выход. Сохранение данных осуществляется по нажатию Create, выход окна данных – Close.

Входные и выходные данные могут быть импортированы из рабочей области MATLAB (рис. 7.22), где они были предварительно созданы.

Кроме того, входные и выходные данные могут быть загружены из файла с расширением *.mat (рис. 7.23).

179

Рис. 7.22. Импорт входных и выходных данных из рабочей области MATLAB

Рис. 7.23. Импорт входных и выходных данных из файла

Создание новой нейронной сети осуществляется путем активации New в главном поле и выбора Network в поле Create Nertwork/Data (рис. 7.24).

Назначение полей окна Create Nertwork/Data:

Name (Имя сети) – стандартное имя сети, присваиваемое интерфейсом NNTool; в процессе создания новых сетей порядковый номер будет изменяться автоматически.

180

Соседние файлы в папке книги