- •Цели и задачи
- •Лабораторный практикум лабораторная работа 1
- •1.1 Теоретические сведения. Основные понятия
- •1.2 Пример создания онтологии в системе Protégé
- •1.2.1 Постановка задачи
- •1.2.2 Создание онтологии в системе Protégé
- •Содержание работы
- •Лабораторная работа 2
- •2.1 Теоретические сведения. Основные понятия
- •2.2 Алгоритм обратного распространения ошибки
- •2.3 Построение нейронной сети в Deductor Studio 4.4
- •Содержание работы
- •Лабораторная работа 3
- •3.1 Теоретические сведения. Основные понятия
- •3.1.1 Операции над нечёткими множествами
- •Результатом вычитания, как и в случае отрицания, становится размерность множества, а не значения его координат.
- •3.1.2 Операции над нечёткими отношениями
- •3.2 Создание нечёткой экспертной системы в пакете CubiCalc
- •Содержание работы
- •Лабораторная работа 4
- •4.1 Теоретические сведения. Основные понятия
- •4.1.1 Программные средства реализации генетических алгоритмов
- •4.1.2 Задача о коммивояжере
- •4.2 Решение задачи о коммивояжере в GeneHunter
- •Содержание работы
- •Список рекомендуемой литературы
2.2 Алгоритм обратного распространения ошибки
Алгоритм обратного распространения ошибки (ОРО, Back Propagation) – один из алгоритмов обучения с учителем. Алгоритм ОРО реализует два прохода по сети: прямой проход – от входного слоя к выходному и обратный – от выходного слоя к входному. В процессе обучения каждому входному образцу определяется соответствующий выходной образец, который должен получаться для данного входного, при этом весовые коэффициенты нейронов с каждым новым проходом корректируются. Целью обучения является нахождение такого набора весовых коэффициентов сети Wi, который обеспечивает решение поставленной задачи.
Рассмотрим пример, демонстрирующий процесс обучения сети методом ОРО. Пусть сеть состоит из двух слоев нейронов: два нейрона в скрытом слое и один нейрон в выходном слое (см. рис. 2.2). НС предназначена для прогнозирования курса «доллар США – евро». Обучающая выборка состоит из двух входов (первый – курс «доллар США – евро» позавчера, второй – курс «доллар США – евро» вчера) и одного выхода (курс «доллар США – евро» сегодня). Продемонстрируем две итерации обучения и один обратный проход.
Первый прямой проход
На вход скрытого слоя сети подается набор обучающих данных:
= [0.725 0.7],
где i – номер итерации;
j – номер входа.
Синаптические матрицы весов для скрытого и выходного слоев имеют вид: и соответственно.
Рассчитаем взвешенный вход для каждого из нейронов скрытого слоя:
.
Далее рассчитывается выход скрытого слоя сети, преобразованный функцией активации:
.
Выход скрытого слоя является входом для выходного слоя: . Рассчитываем взвешенный вход для выходного слоя точно так же, как и для скрытого слоя:
.
Получаем выход сети, преобразованный сигмоидальной функцией активации:
.
В то же время рассчитываем желаемое значение выхода сети и вычисляем среднеквадратичную ошибку:
.
Далее вычисляем величину скорости реакции ошибки при данном значении выхода сети:
.
Рассчитываем скорость изменения ошибки сети при изменении средневзвешенного входа выходного слоя:
.
Затем рассчитываем вектор значений, на которые следует скорректировать синаптическую матрицу выходного слоя:
.
Далее необходимо выполнить обратный проход для корректировки весов сети.
Обратный проход
Изменяем значения весов на входе выходного нейрона (скорость обучения принимаем равной единице =1):
.
Определяем реакцию ошибки при изменении активности скрытого слоя для получения корректировочных коэффициентов для скрытого слоя:
,
где k – номер нейрона скрытого слоя.
Теперь можно рассчитать корректировочные коэффициенты для синаптической матрицы скрытого слоя:
Рассчитываем скорректированные веса для скрытого слоя:
.
Для определения степени близости рассматриваемой сети к поставленной цели, следует выполнить еще один (второй) прямой проход с новыми весами, но с теми же входами [0.725 0.7].
Описанные итерации повторяются до тех пор, пока ошибка не станет приемлемой. Далее на вход сети предъявляется новый входной образец и осуществляется прямой проход с вновь полученными весами связей.