Почему функции стоимости используют квадратную ошибку?


73

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

Я узнал, что существует гипотеза:

hθ(x)=θ0+θ1x

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

hθ(x(i))y(i)

для всех от до . Следовательно, мы вычисляем сумму по этой разности, а затем вычисляем среднее значение, умножая сумму на . Все идет нормально. Это приведет к:1 м 1i1m1m

1mi=1mhθ(x(i))y(i)

Но это не то, что было предложено. Вместо этого курс предлагает взять квадратное значение разности и умножить на . Итак, формула имеет вид:12m

12mi=1m(hθ(x(i))y(i))2

Почему это? Почему мы используем здесь функцию квадрата и почему мы умножаем на вместо ? 112m1m


3
Похожие вопросы на stats.stackexchange.com
user1205197

Также взгляните на объяснение Криса Маккормика на goo.gl/VNiUR5
vimdude

потому что это расхождение Брегмана
Эндрю

Ответы:


41

Ваша функция потерь не будет работать, потому что она стимулирует установку любого конечного значения и в .θ1θ0

Назовем остаточного для ,r(x,y)=1mi=1mhθ(x(i))yhh

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

РЕДАКТИРОВАТЬ: Вы можете противостоять этому путем искусственного ограничения пространства параметров (например, вы хотите ). В этом случае оптимальные параметры будут лежать в определенных точках на границе пространства параметров. См. Https://math.stackexchange.com/q/896388/12467 . Это не то, что вы хотите.Θ|θ0|<10

Почему мы используем квадратную потерю

Квадратная ошибка к совпадению и . Он минимизируется при , если это возможно, и всегда равен , потому что это квадрат действительного числа .h(x)yu=v0uv

|uv|будет также работать для вышеуказанной цели, как , с некоторое положительное целое число. Первый из них фактически используется (он называется потерей ; вы также можете столкнуться с потерей , которая является еще одним названием квадратичной ошибки).(uv)2nn12

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

Если ваши данные не соответствуют точно всем точкам, т. не равен нулю для какой-либо точки, независимо от того, какую вы выбираете (как это всегда будет происходить на практике), это может быть вызвано шумом . В любой сложной системе будет много небольших независимых причин для разницы между вашей моделью и реальностью : ошибка измерения, факторы окружающей среды и т. Д. Согласно центральной предельной теореме (CLT), общий шум будет распределяться нормально , то есть в соответствии с Гауссово распределение . Мы хотим выбрать наиболее подходящуюh(x)yθ h yθпринимая во внимание это распределение шума. Предположим, что , часть которую ваша модель не может объяснить, следует распределению Гаусса . Мы используем заглавные буквы, потому что сейчас мы говорим о случайных переменных.R=h(X)YyN(μ,σ)

Распределение Гаусса имеет два параметра: среднее и дисперсия . Смотрите здесь, чтобы лучше понять эти термины.μ=E[R]=1mihθ(X(i))Y(i))σ2=E[R2]=1mi(hθ(X(i))Y(i)))2

  • Рассмотрим , это систематическая ошибка наших измерений. Используйте чтобы исправить систематическую ошибку, чтобы (упражнение для читателя). Больше здесь делать нечего.μh(x)=h(x)μμ=E[R]=0

  • σ представляет случайную ошибку , также называемую шумом . После того, как мы позаботились о компоненте систематического шума, как и в предыдущем пункте, лучший предиктор получается, когда сведено к минимуму. Иными словами, лучшим предиктором является тот, который имеет наименьшее распределение (наименьшее отклонение) вокруг прогнозируемого значения, то есть наименьшее отклонение. Минимизация наименьшего квадрата потерь - это то же самое, что минимизация дисперсии! Это объясняет, почему наименьший квадрат потерь работает для широкого спектра проблем. Основной шум очень часто гауссовский, из-за CLT, и минимизация квадрата ошибки оказывается правильнойσ2=1mi(hθ(X(i))Y(i)))2 вещь которую нужно сделать!

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

Последующие вопросы:

  • Потеря наименьших квадратов = ошибка Гаусса. Соответствует ли любая другая функция потерь некоторому распределению шума? Да. Например, потеря (минимизация абсолютного значения вместо квадратичной ошибки) соответствует распределению Лапласа (посмотрите на формулу для PDF в информационном блоке - это просто гауссов с вместо ). Популярной потерей для вероятностных распределений является KL-дивергенция . -Гауссово распределение очень хорошо мотивировано из-за центральной предельной теоремы1|xμ|(xμ)2, о котором мы говорили ранее. Когда распределение Лапласа является правильной моделью шума? Есть некоторые обстоятельства, когда это происходит естественным образом, но чаще всего это регуляризатор для обеспечения разреженности : потеря является наименее выпуклой среди всех выпуклых потерь.1

    • Как упоминает Ян в комментариях, минимизатор квадратов отклонений является средним значением, а минимизатор суммы абсолютных отклонений - медианой . Почему мы хотим найти медиану остатков вместо среднего? В отличие от среднего, медиана не отбрасывается одним очень большим выбросом. Таким образом, потеря используется для повышения надежности. Иногда используется комбинация двух.1
  • Существуют ли ситуации, когда мы минимизируем среднее значение и дисперсию? Да. Посмотрите на компромисс Bias-Variance . Здесь мы рассмотрим набор классификаторов и спросим, ​​какой из них является лучшим. Если мы спросим, ​​какой набор классификаторов является лучшим для проблемы, минимизация смещения и дисперсии становится важной. Оказывается, между ними всегда есть компромисс, и мы используем регуляризацию для достижения компромисса.hθH

Относительно термина12

1/2 не имеет значения, и фактически, также как и - они оба постоянны. Оптимальное значение останется неизменным в обоих случаях.mθ

  • Выражение для градиента становится симпатичнее с помощью , потому что 2 из квадратного члена аннулируется.12

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

    • Я сталкивался с этой проблемой раньше: я тестирую код с небольшим количеством точек, и он работает нормально, но когда вы тестируете его со всем набором данных, происходит потеря точности, а иногда и чрезмерных / недостаточных потоков, то есть ваш градиент становится nanили inf, Чтобы избежать этого, просто нормализуйте по количеству точек данных.
  • Эти эстетические решения используются здесь для поддержания согласованности с будущими уравнениями, в которые вы добавите термины регуляризации . Если вы включите , параметр регуляризации не будет зависеть от размера набора данных и будет более интерпретируемым при решении проблем.mλm


Вы сказали: «Когда вы берете производную, выражение красивее, потому что 2 исключает 2 из квадратного термина». Но почему мы хотим взять его производную?
Генеральный директор

Мы обычно оптимизируем потери, используя градиентный спуск, который требует принятия производного. Я не упомянул об этом, потому что это должно быть ясно из контекста этого вопроса.
Суровый

1
Суров, простите мою наивность, но почему бы не использовать абсолютное значение вместо квадрата?
Александр Сурафель

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

@AlexanderSuraphel Извините за задержку с ответом :) Я добавил раздел выше для решения этой проблемы
Harsh

25

Коэффициент 1/2 только для удобства; это делает производную, которая на самом деле является оптимизируемой функцией, выглядит лучше. 1 / м является более фундаментальным; это говорит о том, что нас интересует среднеквадратическая ошибка. Это позволяет делать справедливые сравнения при изменении размера выборки и предотвращает переполнение. Так называемые «стохастические» оптимизаторы используют подмножество набора данных (m '<m). Когда вы вводите регуляризатор (аддитивный термин к целевой функции), использование коэффициента 1 / m позволяет использовать один и тот же коэффициент для регуляризатора независимо от размера выборки.

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


4
Помимо дифференцируемости, норма уникальна в нормах тем, что она является гильбертовым пространством. Тот факт, что норма возникает из внутреннего продукта, делает огромное количество машин доступным для что недоступно для других норм. L p L 2L2LpL2
Стивен Губкин

6

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

Не существует строгого правила в отношении формулировки этого «статистического расстояния», но если выбор уместен, то постепенное сокращение этого «расстояния» во время оптимизации приводит к постепенному улучшению оценки модели. Следовательно, выбор «статистического расстояния» или меры ошибки связан с основным распределением данных.

На самом деле, существует несколько четко определенных показателей расстояния / ошибки для различных классов статистических распределений. Желательно выбрать меру ошибки, основанную на распределении данных в руке. Так уж получилось, что распределение Гаусса является вездесущим, и, следовательно, связанная с ним мера расстояния, L2-норма, является самой популярной мерой ошибки. Однако это не правило, и существуют данные реального мира, для которых «эффективная» * оптимизационная реализация будет принимать меру ошибки, отличную от L2-нормы.

Рассмотрим множество расхождений Брегмана . Каноническим представлением этой меры дивергенции является L2-норма (квадрат ошибки). Он также включает относительную энтропию (расхождение Кульбака-Либлера), обобщенное евклидово расстояние (метрика Махаланобиса) и функцию Итакура-Сайто. Вы можете прочитать больше об этом в этой статье о функциональной дивергенции Брегмана и байесовской оценке распределений .

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

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


5

В дополнение к ключевым моментам, сделанным другими, использование квадратичной ошибки делает больший акцент на большей ошибке (что происходит с 1/2, когда вы возводите ее в квадрат против 3/2?).

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

Использование квадрата ошибки использует ошибку в качестве веса подразумеваемой важности для корректировки прогноза.


Итак, в чем заключается произвольная ошибка
Jeza

3

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.