Краткий обзор всеми любимой функции потерь

Так креативно, что больно

Как выздоравливающий статистик, я буду первым, кто скажет вам, что мои люди — это болезненно буквально мыслящая кучка. В то время как специалисты по искусственному интеллекту предпочитают более научно-фантастические имена, любители статистики любят, чтобы все делало именно то, что написано на банке… и нигде это отношение не является более бросающимся в глаза, чем популярные метрики MSE и RMSE.

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

Как рассчитать среднеквадратичную ошибку (MSE):

  1. Вы находите ошибки. (Д)
  2. Вы уравниваете эти ошибки. (С)
  3. Вы берете среднее значение квадратов ошибок. (М)

Та-да, это MSE.

И если вы ищете среднеквадратичную ошибку (RMSE), вы просто берете квадратный корень в конце.

4. Вы берёте корень. (R)

Да, эти названия метрик настолько креативны, что даже больно. На самом деле это просто рецепты наоборот.

Если из этого краткого объяснения вы поняли, что такое MSE, продолжайте читать! Если вы не уверены, что такое ошибка, и/или чувствуете себя немного сбитым с толку, совершите быстрый обход моего вводного руководства по MSE здесь.

Первая функция потерь ребенка

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

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

Вы видели, что такое MSE *...но почему он так популярен? Почему это кажется всеми любимой функцией подсчета очков?

Есть несколько причин, и некоторые из них даже веские причины.

Почему мы можем захотеть рассчитать MSE?

  1. Оценка эффективности: насколько хороша наша модель?
  2. Модель оптимизация: это наилучшее возможное подгонка? Можем ли мы приблизить модель к нашим точкам данных?

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

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

Когда дело доходит до модели оценки, MSE — это ерунда. Серьезно. С ним как с метрикой все не так, начиная с того факта, что он находится в неправильном масштабе (проблема часто решается путем извлечения квадратного корня вместо RMSE), но не заканчивается этим. Он также перевешивает выбросы, что затрудняет интерпретацию как MSE, так и RMSE. Ни один из них точно не отражает смысл, который был бы наиболее интересен человеку, который хочет знать, насколько ошибочна в среднем его модель. Для этого идеальной метрикой является то, что называется MAD. И нет причин не использовать MAD для оценки — его легко вычислить.

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

Если вы хотите использовать алгоритм оптимизации (или исчисление), чтобы быстро найти идеальные настройки параметров, дающие вам наилучшие — наиболее оптимальные! » — производительность, приятно иметь удобную функцию для работы. И в этом трудно превзойти MSE. Есть веская причина, по которой первая производная, которую вы когда-либо изучали, — это x² — в исчислении квадраты очень упрощают задачу. Следующее, чему вас учат в исчислении 101, — это то, что делать с константами и суммами, поскольку это тоже очень просто. Угадай, что? Квадраты, суммы и константы (1/n) — вот и вся формула MSE!

И в этом, друзья мои, настоящая причина популярности MSE. Прагматичная лень. Это буквально самая простая смутно разумная функция ошибок для оптимизации. И именно поэтому его использовали Лежандр и Гаусс на рубеже 19-го века для первых в истории регрессионных моделей… и почему мы все еще любим его сегодня.

Но подходит ли он для всех ваших потребностей? И превосходит ли он другие функции потерь во всех условиях? Конечно, нет, особенно когда в ваших данных полно выбросов.

На практике часто приходится работать с двумя функциями: функцией потерь и отдельной метрикой оценки эффективности. Подробнее об этом здесь.

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

Спасибо за прочтение! Как насчет курса YouTube?

Если вам было весело здесь, и вы ищете полный курс прикладного ИИ, предназначенный для развлечения как новичков, так и экспертов, вот тот, который я сделал для вашего развлечения:

Ищете практические руководства по ML/AI?

Вот некоторые из моих любимых 10-минутных прохождений:

Сноска

* Функция потерь — это слово машинного обучения для целевой функции — это одно и то же.