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


Этот алгоритм является аналогом метода градиентного спуска. В этом случае для градиентного спуска мы должны знать как нам изменить коэффициенты, чтобы получить требуемое увеличение или уменьшение выходов на нейроны. Допустим есть нейрон (рис). Он описывается следующим уравнением: y=r(Swixi). если мы знаем, что функция больше требуемого значения, то зная производную при заданных xi , мы будем знать что нам делать с коэффициентами(рис). (к рис.) вот есть 2 функции. Если ошибка больше 0, мы должны уменьшить y, а увеличить x, то есть увеличить весовой коэффициент. Чтобы уменьшить ошибку мы должны знать в какую сторону изменять весовой коэффициент. Далее, как правило в методах, которые используют обратное распространение ошибки используется простые аналитические функции архивации: clip_image002, clip_image004.

В общем случае надо использовать частные производные, потому что у нас много переменных. Но для нашего упрощенного рассмотрения будет достаточно вычисления производной по clip_image004[1]. clip_image006.

Цель обучения:

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

Алгоритм состоит из следующих шагов:

1. Перед началом обучения всем весам присвоены небольшие начальные значения, выбранные случайным образом: wi~0.

2. Выбираем очередную обучающую пару(X,R).

3. Вычисляем выход сети Y и вектор ошибки Е=Y-R.

4. Выполняем коррекцию весов w(1)?w(2), исходя из примитивных представлений.

5. Повторяем шаги 2-4 до тех пор, пока ошибка распознавания е на всей обучающей выборке не достигнет допустимого уровня величины.

Загрузка...