Этот пост поможет вам больше узнать о том, как машина создает лучшую регрессионную модель, используя набор данных.

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

Как мы уже знаем, библиотека sklearn.linear_model в Python (в качестве примера) предоставляет нам предварительно определенный LinearRegression для построения модели (синяя линия) из нашего тестового набора (набор красных точек). Но как машина может построить эту модель? В этом посте мы подробно рассмотрим этот вопрос, чтобы выяснить, что такое обучение и что такое потери при создании модели машинного обучения.

Вот еще 4 ситуации. Давайте посмотрим на них и подумаем «Почему цифра 1 — лучшая модель?»

У вас есть собственный ответ? Мы надеемся на это!

Хорошо, ответ таков: «Рисунок 1 имеет минимальные убытки по сравнению с другими рисунками». Так что же такое потери?

Что такое потеря и обучение?

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

Например, на изображениях ниже показана модель с высокими убытками слева и модель с низкими убытками справа:

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

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

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

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

Квадрат потерь: популярная функция потерь

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

L² = квадрат разницы между меткой и прогнозом
= (наблюдение — прогноз (x))²
= (y — y’)²

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

где:

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

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

Разница между MSE и дисперсией

Если вы достаточно сообразительны, то заметите, что формулы MSE и Variance выглядят одинаково:

Тогда в чем между ними разница?

Дисперсия — это подмножество MSE для смещенной оценки, которая становится равной, когда отсутствует смещение.

дисперсия измеряет, насколько далеко разбросан набор чисел, тогда как MSE измеряет среднее значение квадратов «ошибок», то есть разницу между оценщиком и тем, что оценивается. MSE оценки θ’ неизвестного параметра θ определяется как E[(θ’−θ)²].

MSE — это второй момент (о происхождении) ошибки, поэтому MSE включает как дисперсию оценки, так и ее смещение (обратите внимание, что смещение E(θ')−θ).

Короче говоря, дисперсия выборки измеряет разброс данных вокруг среднего значения (в квадратах), а MSE измеряет разброс данных по вертикали вокруг линии регрессии (в квадратах по вертикали).

Давайте посмотрим на это на примере:

Если в классе из 100 учеников со средним ростом θ выбрать выборку из 10 учеников так, что средний рост выборки также равен θ, то смещения нет, в этом случае СКО этой выборки будет равна дисперсии этот образец.

Но если средняя высота выборки не равна θ, а, скажем, θ’, то MSE будет охватывать как дисперсию, так и систематическую ошибку. Дисперсия в этом случае — это разница между точками данных выборки, а смещение — это разница между θ и θ’. MSE по определению будет содержать и то, и другое, поэтому в этом случае MSE не будет равна дисперсии.

Все это меняется, когда мы говорим о MSE предсказания. Допустим, вы предсказываете рост учеников в приведенном выше случае. В этом случае определение дисперсии равно определению MSE.

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

Удачного обучения каждый день!