Сокращение потерь: итеративный подход

В предыдущем модуле было введено понятие потерь. Здесь, в этом модуле, вы узнаете, как модель машинного обучения итеративно снижает потери.

Итеративное обучение может напомнить вам детскую игру «Горячо и холодно», в которой нужно найти спрятанный предмет, например наперсток. В этой игре «поиск предметов» — лучшая из возможных моделей. Вы начнете с необдуманного предположения («Значение \(w_1\) равно 0») и подождите, пока система сообщит вам, в чем заключается потеря. Затем вы попробуете еще раз угадать («Значение \(w_1\) равно 0,5») и посмотреть, какова потеря. Ааа, тебе становится теплее. На самом деле, если вы правильно играете в эту игру, вам обычно становится теплее. Настоящая хитрость игры заключается в том, чтобы как можно эффективнее найти лучшую возможную модель.

На следующем рисунке показан итерационный процесс проб и ошибок, который алгоритмы машинного обучения используют для обучения модели:

Цикл перехода от функций и меток к моделям и прогнозам.

Рисунок 1. Итеративный подход к обучению модели.

Мы будем использовать тот же итерационный подход на протяжении всего ускоренного курса машинного обучения, подробно описывая различные сложности, особенно в этом грозовом облаке, помеченном как «Модель (функция прогнозирования)». Итеративные стратегии широко распространены в машинном обучении, прежде всего потому, что они хорошо масштабируются для больших наборов данных.

«Модель» принимает одну или несколько функций в качестве входных данных и возвращает один прогноз в качестве выходных данных. Для упрощения рассмотрим модель, которая принимает одну функцию (\(x_1\)) и возвращает один прогноз (\(y'\)):

$$ y' = b + w_1x_1 $$

Какие начальные значения нам следует установить для \(b\)и \(w_1\)? Оказывается, для задач линейной регрессии начальные значения не важны. Мы могли бы выбрать случайные значения, но вместо этого мы возьмем следующие тривиальные значения:

  • \(b\) = 0
  • \(w_1\) = 0

Предположим, что первое значение признака равно 10. Подстановка этого значения признака в функцию прогнозирования дает:

$$ y' = 0 + 0 \cdot 10 = 0 $$

Часть диаграммы «Вычисление потерь» — это функция потерь , которую будет использовать модель. Предположим, мы используем функцию квадрата потерь. Функция потерь принимает два входных значения:

  • \(y'\): Прогноз модели для функций x
  • \(y\): правильная метка, соответствующая функциям x .

Наконец мы добрались до части диаграммы «Вычисление обновлений параметров». Именно здесь система машинного обучения проверяет значение функции потерь и генерирует новые значения для \(b\) и \(w_1\). А пока просто предположим, что этот загадочный ящик изобретает новые значения, а затем система машинного обучения повторно оценивает все эти функции по всем этим меткам, получая новое значение для функции потерь, которая дает новые значения параметров. И обучение продолжается до тех пор, пока алгоритм не обнаружит параметры модели с наименьшими возможными потерями. Обычно вы выполняете итерации до тех пор, пока общие потери не перестанут меняться или, по крайней мере, не будут меняться крайне медленно. Когда это происходит, мы говорим, что модель сошлась .