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

Учебник поможет студентам различных специальностей освоить современные технологии машинного обучения и практически использовать их в работе и научных проектах. В настоящем пособии даются весьма краткие теоретические и относительно подробные практические сведения о применении отдельных алгоритмов классификации и регрессии. Для практического освоения материала достаточно базовых навыков работы с языком Python. При этом освоение возможностей основных библиотек, таких как matplotlib, numpy, pandas, sklearn происходит в процессе решения задач. Используя полученные знания и навыки, студенты смогут решать широкий круг задач классификации, регрессии, анализировать влияние отдельных признаков на работу классификаторов и регрессионных моделей, снижать размерность данных, визуализировать результаты и оценивать качество моделей машинного обучения. Издание рекомендовано УМО РУМС.

date_range Год издания :

foundation Издательство :Автор

person Автор :

workspaces ISBN :

child_care Возрастное ограничение : 16

update Дата обновления : 17.01.2024

Рисунок 2.8. Схема многослойной сети с одним скрытым слоем

Для настройки весов w нейронной сети (обучения сети) используют функцию стоимости, напоминающую функцию стоимости для логистической регрессии (Eq. 2.12).

где L – количество слоев нейронной сети; s

– количество нейронов в слое l; K – количество классов (равно количеству нейронов в выходном слое); W – матрица весов.

Достоинством нейронной сети является возможность классификации c несколькими классами. В случае классификации объектов одного класса, то есть тогда, когда мы должны отделить условно «положительные» объекты от всех остальных, количество нейронов в выходном слое может быть равным и 1 (рисунок 1.5). В этом случае принадлежность объекта к классу «положительных» определяется значением функции гипотезы, то есть если h

(x

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

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

Для обучения, то есть минимизации функции ошибки многослойной ИНС, используют алгоритм обратного распространения ошибки (Backpropagation of errors – BPE) [[55 - Werbos P. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. – Harvard University, 1974. – 38 p.]] и его модификации, направленные на ускорение процесса обучения.

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

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

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

Шаг 1. Выполняем этап прямого распространения сигнала по слоям сети, то есть вычисляем сигнал на выходе сети, выполняя расчет для каждого нейрона в каждом слое, как показано в выражениях 1.4, 1.5. Результаты в виде выходных значений нейронов сети a

],a

],…,a

] сохраняем в промежуточном хранилище (кэш).

Шаг 2. Используя полученный результат на выходе сети a

= h

(x), и необходимое для данного примера выходное значение y

, рассчитываем ошибку выходного слоя:

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

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

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

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

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

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

Рассчитанное значение градиентов ошибки dz

], dz

], … , dz

также сохраняем в кэше.

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

где i – номер слоя сети; ? – параметр обучения (learning rate) (0 < ? < 1); ?

– матрица весов слоя i; dz

– рассчитанное значение ошибки i-го слоя (точнее говоря, градиент ошибки).

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

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

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

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

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

Все книги на сайте предоставены для ознакомления и защищены авторским правом