Спуск в машинное обучение: обучение и потери

Обучение модели просто означает изучение (определение) хороших значений для всех весов и смещения из помеченных примеров. При обучении с учителем алгоритм машинного обучения строит модель, исследуя множество примеров и пытаясь найти модель, минимизирующую потери; этот процесс называется минимизацией эмпирического риска .

Проигрыш — это наказание за плохой прогноз. То есть потеря — это число, указывающее, насколько плохим был прогноз модели на одном примере. Если прогноз модели совершенен, потери равны нулю; в противном случае потери будут больше. Цель обучения модели — найти набор весов и смещений, которые в среднем имеют низкие потери во всех примерах. Например, на рис. 3 слева показана модель с высокими потерями, а справа — модель с низкими потерями. Обратите внимание на следующее по рисунку:

  • Стрелки обозначают потерю.
  • Синие линии представляют прогнозы.

Два декартовых графика, каждый из которых показывает линию и некоторые точки данных. На первом графике линия ужасно подходит для данных, поэтому потери велики. На втором графике линия лучше соответствует данным, поэтому потери невелики.

Рисунок 3. Высокие потери в левой модели; низкие потери в правильной модели.

Обратите внимание, что стрелки на левом графике намного длиннее, чем их аналоги на правом графике. Ясно, что линия на правом графике является гораздо лучшей прогностической моделью, чем линия на левом графике.

Вам может быть интересно, можно ли создать математическую функцию — функцию убытков, — которая осмысленно агрегировала бы отдельные убытки.

Модели линейной регрессии, которые мы рассмотрим здесь, используют функцию потерь, называемую квадратом потерь (также известную как потери L2 ). Квадрат потерь для одного примера выглядит следующим образом:

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

Среднеквадратическая ошибка ( MSE ) — это среднеквадратичная потеря для каждого примера по всему набору данных. Чтобы рассчитать MSE, просуммируйте все квадраты потерь для отдельных примеров, а затем разделите на количество примеров:

$$ MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2 $$

куда:

  • \((x, y)\) — это пример, в котором
    • \(x\) — это набор функций (например, число щебетов в минуту, возраст, пол), которые модель использует для прогнозирования.
    • \(y\) — метка примера (например, температура).
  • \(prediction(x)\) является функцией весов и смещения в сочетании с набором признаков \(x\).
  • \(D\) — это набор данных, содержащий множество помеченных примеров, представляющих собой пары \((x, y)\) .
  • \(N\) — количество примеров в \(D\).

Хотя MSE обычно используется в машинном обучении, это не единственная практическая функция потерь и не лучшая функция потерь для всех обстоятельств.