Большинство проблем машинного обучения сводятся к подгонке набора наблюдений (точек) к некоторой математической кривой (упрощенно называемой «моделью» на языке машинного обучения). Это дает сжатое представление, которое можно использовать для приложений, включая прогнозирование и распознавание образов.

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

Линейная регрессия

Предположим, у вас есть набор функций для конкретной проблемы (скажем, n = 100). И вы знаете, что результат, который вы пытаетесь предсказать, представляет собой линейную комбинацию этих функций. Классический вариант использования, о котором говорится в большинстве учебных пособий, - это прогнозирование цены дома на основе различных характеристик (xᵢ) дома, где функции варьируются от местоположения до типов крыши, площади и т. Д. Прогноз цены (y), представленный функцией h (x), будет выглядеть следующим образом:

где fᵢ = признак, Wᵢ = значение признака ᵢ и W₀ = константа

Функция стоимости

Предположим, у меня есть обучающие данные из m = 2000 точек данных. Нам нужно найти такие значения W, чтобы прогнозируемая цена была как можно ближе к реальной цене.

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

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

Однако наиболее популярная функция стоимости, используемая в большей части литературы (и практически тоже), следующая:

где берется среднее значение квадрата ошибки в каждой выборке. Обратите внимание, что разница между двумя функциями стоимости заключается в степени увеличения абсолютной ошибки. Поэтому функция квадратичной ошибки называется L₂-нормой, а первая функция называется L₁-нормой.

Минимизация затрат

Теперь вопрос на миллион долларов: почему L₂-норма более популярна, чем L₁-норма? Большая часть литературы указывает на докомпьютерные рассуждения о методе расчета, как объясняется ниже.

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

Оказывается, что решение в закрытой форме - простая формула простыми словами - невозможно, когда функция стоимости представляет собой абсолютную ошибку, в отличие от того, когда функция стоимости представляет собой сумму квадратичных ошибок. Причина в том, что функция стоимости не дифференцируема в точке Cost = 0, как видно на графике ниже. Фиолетовая линия, представляющая производную, является разрывной в точке Cost = 0.

Функция стоимости, использующая квадратную ошибку, полностью дифференцируема, как видно из рисунка ниже.

Фактически решение в замкнутой форме оказывается следующим уравнением

где X - это матрица значений признаков, где Xᵢ, ⱼ представляет собой значение признакаⱼ в выборкеᵢ.

Однако в век компьютеров можно применять такие алгоритмы, как градиентный спуск, и итеративно выводить решение. Я не собираюсь углубляться в детали градиентного спуска, но хочу отметить, что градиентный спуск все еще можно использовать для L₁-нормы, если дифференциация функции стоимости на нуле принимается равной нулю. В качестве альтернативы можно использовать такие методы, как субградиент. Так есть ли еще причина использовать норму L₂ и достойна ли она своей популярности? Мы увидим это через мгновение.

Lp-норма

Теперь, когда мы рассмотрели 2 функции затрат - норму L₁ и норму L₂, давайте попробуем обобщить это на Lp-норму, где p может быть положительным вещественным числом.

Итак, что будет означать L₀-норма?

Это означает, что если абсолютное отклонение в определенной точке равно нулю, ошибка равна нулю, иначе ошибка равна 1. Представьте шансы на это в непрерывном пространстве.

Если L₀-норма используется в контексте линейной регрессии, стоимостью будет общее количество точек, которые не лежат на линии соответствия. Это означает, что использование L₀-нормы будет пытаться найти линию, которая точно проходит через максимальное количество точек!

Понимание функций затрат на примере

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

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

На этом этапе также важно отметить, что алгоритм градиентного спуска не может быть применен к L₀-норме из-за прерывистого характера функции в нуле (падение импульса, где его значение равно нулю!), А также плоского характера (плато) в другом месте, как показано на графике ниже.

Однако существуют такие алгоритмы, как поиск совпадений, который позволяет нам также решать для функций стоимости L₀-нормы.

Функции стоимости правят нашим миром!

Теперь давайте посмотрим на кривые, построенные на трех функциях стоимости.

Как видно, L1-норма проходит через самый верхний блок точек, в то время как L₀-норма проходит через небольшой набор коллинеарных точек в середине и L2-норму, пересекающую середину графа. Я думаю, что это довольно интригующе, и мы увидим почему в следующих параграфах.

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

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

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

Победитель

Таким образом, обобщая это, в функциях стоимости Lp-нормы, когда p уменьшается, мы можем увидеть трансформацию модели в мажоритарную систему и, наконец, в олигархию! Однако функции затрат более высокого порядка нормы Lp способствуют инклюзивности! Я думаю, это объясняет популярность выбора функции L₂ norm. Выбор функции стоимости зависит от сценария, но для большинства наборов данных справедливо сказать, что нормальная функция L₂ работает.

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

(Впервые опубликовано в журнале Analytics India Magazine)