Алгоритм обратного распространения ошибки




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

1. Задается шаг обучения и желаемая среднеквадратичная ошибка нейронной сети .

2. Случайным образом инициализируются весовые коэффициенты и пороговые значения нейронной сети.

3. Последовательно подаются образы из обучающей выборки на вход нейронной сети. При этом для каждого входного образа выполняются следующие действия:

a) производится фаза прямого распространения входного образа по нейронной сети. При этом вычисляется выходная активность всех нейронных элементов сети:

,

где индекс j характеризует нейроны следующего слоя по отношению к слою i.

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

,

.

В последнем выражении индекс i характеризует нейронные элементы следующего слоя по отношению к слою .

c) для каждого слоя нейронной сети происходит изменение весовых коэффициентов и порогов нейронных элементов:

.

4. Вычисляется суммарная среднеквадратичная ошибка нейронной сети:

где — размерность обучающей выборки.

5. Если то происходит переход к шагу 3 алгоритма. В противном случае алгоритм обратного распространения ошибки заканчивается.

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

 

Задание.

1. Написать на любом ЯВУ программу моделирования прогнозирующей нелинейной ИНС. Для тестирования использовать функцию

.

Варианты заданий приведены в следующей таблице:

 

№ варианта a b с d Кол-во входов ИНС Кол-во НЭ в скрытом слое
  0.1 0.1 0.05 0.1    
  0.2 0.2 0.06 0.2    
  0.3 0.3 0.07 0.3    
  0.4 0.4 0.08 0.4    
  0.1 0.5 0.09 0.5    
  0.2 0.6 0.05 0.6    
  0.3 0.1 0.06 0.1    
  0.4 0.2 0.07 0.2    
  0.1 0.3 0.08 0.3    
  0.2 0.4 0.09 0.4    
  0.3 0.5 0.05 0.5    

 

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

 

2. Результаты представить в виде отчета содержащего:

1. Титульный лист,

2. Цель работы,

3. Задание,

4. График прогнозируемой функции на участке обучения,

5. Результаты обучения: таблицу со столбцами: эталонное значение, полученное значение, отклонение; график изменения ошибки в зависимости от итерации.

6. Результаты прогнозирования: таблицу со столбцами: эталонное значение, полученное значение, отклонение.

7. Выводы по лабораторной работе.

Результаты для пунктов 3 и 4 приводятся для значения a, при котором достигается минимальная ошибка. В выводах анализируются все полученные результаты.

 

Контрольные вопросы.

 

1. ИНС какой архитектуры Вы использовали в данной работе? Опишите принцип построения этой ИНС.

2. Как функционирует используема Вами ИНС?

3. Опишите (в общих чертах) алгоритм обучения Вашей ИНС.

4. Как формируется обучающая выборка для решения задачи прогнозирования?

5. Как выполняется многошаговое прогнозирование временного ряда?

6. Предложите критерий оценки качества результатов прогноза.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: