Введение в машинное обучение. Равиль Ильгизович Мухамедиев

Введение в машинное обучение - Равиль Ильгизович Мухамедиев


Скачать книгу
нейронной сети является возможность классификации c несколькими классами. В случае классификации объектов одного класса, то есть тогда, когда мы должны отделить условно «положительные» объекты от всех остальных, количество нейронов в выходном слое может быть равным и 1 (рисунок 1.5). В этом случае принадлежность объекта к классу «положительных» определяется значением функции гипотезы, то есть если hΘ(x(i)) > 0.5, то объект принадлежит к искомому классу. Однако чаще, в том числе с целью унификации, используется метод голосования («победитель забирает все»), когда сеть имеет в выходном слое 2 нейрона для двух классов объектов (рисунок 1.6), три для трех и т.д.

      Рисунок 2.9. Схема многослойной сети с двумя выходами

      Для обучения, то есть минимизации функции ошибки многослойной ИНС, используют алгоритм обратного распространения ошибки (Backpropagation of errors – BPE) [[55]] и его модификации, направленные на ускорение процесса обучения.

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

      Суть алгоритма BPE заключается в следующем. Для тренировочного набора примеров

      устанавливаем выход первого слоя нейронов:

      Шаг 1. Выполняем этап прямого распространения сигнала по слоям сети, то есть вычисляем сигнал на выходе сети, выполняя расчет для каждого нейрона в каждом слое, как показано в выражениях 1.4, 1.5. Результаты в виде выходных значений нейронов сети a[0],a[1],…,a[L] сохраняем в промежуточном хранилище (кэш).

      Шаг 2. Используя полученный результат на выходе сети a[L] = hw(i) (x), и необходимое для данного примера выходное значение y(i), рассчитываем ошибку выходного слоя:

      где L – номер выходного слоя нейронной сети.

      Шаг 3. «Возвращаем» ошибку, распространяя ее обратно по сети с учетом значения производной:

      где знак * – символ поэлементного умножения; g' – производная.

      Производная сигмоидальной активационной функции:

      Для любого скрытого слоя сети:

      В случае сигмоидальной активационной функции:

      Рассчитанное значение градиентов ошибки dz[1], dz[2], … , dz[L] также сохраняем в кэше.

      Шаг 4. Модифицируем веса сети с учетом значения ошибки для всех слоев I ∈ L:

      где i – номер слоя сети; ρ – параметр обучения (learning rate) (0 < ρ < 1); Θ(i) – матрица весов слоя i; dz[i] – рассчитанное значение ошибки i-го слоя (точнее говоря, градиент ошибки).

      Получив измененные значения весов, повторяем шаги 1–4 до достижения некоторого минимального значения ошибки либо заданное количество раз.

      Процесс обучения искусственной нейронной сети можно представить в виде следующей схемы (рисунок 2.10):

      Рисунок 2.10. Итеративный процесс обучения искусственной нейронной сети

      Рассмотрим пошаговый пример расчета прямого распространения сигнала, обратного распространения ошибки и коррекции весов.

      Пошаговый пример расчета алгоритма обратного распространения ошибки

      В


Скачать книгу

<p>55</p>

Werbos P. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. – Harvard University, 1974. – 38 p.