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

Давайте обсудим некоторые концепции, которые могут поставить в тупик некоторых новых специалистов по данным. Когда вы начинаете проект машинного обучения, вам также необходимо каким-то образом решить, хорошо ли работает ваша модель. Сегодня мы разберем некоторые из наиболее распространенных показателей производительности регрессии, которые помогут вам определить, когда ваша модель будет готова к работе. Эти показатели включают R-квадрат, скорректированный R², MSE, RMSE и MAE. В конце мы даже рассмотрим некоторые функции потерь. Давайте начнем!

Регрессия против классификации

Прежде чем перейти к показателям производительности, мы должны сначала прояснить проблемы регрессии и классификации. В машинном обучении обычно используются два типа моделей: регрессия и классификация. Регрессия относится к задачам, которые предсказывают числовое значение в непрерывном спектре. Напротив, задача классификации позволяет предсказать, к какой группе или классу принадлежит элемент. Проблемы регрессии пытаются ответить на такие вопросы, как «Сколько стоит моя машина?» Задачи классификации пытаются ответить на такие вопросы, как «Является ли эта картинка птицей, собакой или кошкой?» или «Это спам по электронной почте или нет?»

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

R-квадрат

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

Из-за того, как рассчитывается R-квадрат, более высокое значение обычно означает, что модель работает хорошо, а более низкое значение указывает на плохую модель (но это не всегда так — мы рассмотрим это в следующем абзаце). Давайте разберем приведенную выше формулу. У нас есть RSS, сумма квадратов остатков, которая представляет собой квадрат разницы для каждой точки данных из прогноза модели, а затем суммируется для всех точек данных. TSS, общая сумма квадратов, представляет собой каждую точку данных минус среднее значение всех точек данных, возведенное в квадрат и суммированное для всех данных. Что это дает нам при вычитании из 1, так это «процент» от общей дисперсии, объясняемой моделью. Если модель всегда предсказывает среднее значение, которое мы также можем использовать в качестве базовой линии, у нас будет R² = 0. Если модель работает хуже, чем базовая линия, тогда у нас может быть отрицательное значение (о нет!).

Итак, всегда ли большое значение R² означает хорошую модель? Не всегда. Один из способов проверить это — посмотреть на график «Остатки и подогнанные значения». Эти графики могут помочь нам определить, действительно ли модель подходит для данных. R² бесполезен при использовании нелинейных данных, поэтому проверка этого графика может помочь нам определить, следуют ли данные линейному плану.

Кроме того, вы не можете использовать R² для сравнения разных моделей с разным количеством переменных. Например, если у вас есть модель A, которая использует один параметр, и модель B, которая использует 3 параметра, обычно модель B всегда будет превосходить модель A при использовании R². Это связано с тем, что, добавляя больше предикторов, вы, следовательно, учитываете большую дисперсию данных, даже если модель на самом деле работает плохо, например, из-за переобучения.

Скорректированный R²

Если вы настроены на использование линейной модели, но вам нужна более надежная метрика для определения производительности различных моделей, вам подойдет скорректированный R². Скорректированный R² регулирует количество предикторов в модели. Таким образом, мы можем сравнивать разные модели с разными числовыми параметрами. Как правило, скорректированный R² всегда будет положительным и ниже значения R² для соответствующей модели. Чтобы найти скорректированный R², мы вычисляем формулу, аналогичную R², но с учетом числовых параметров.

В формуле выше мы имеем n как количество точек данных и K как количество параметров в модели. Мы видим, что эта формула очень похожа на формулу R², за исключением того, что мы делим RSS и TSS на (n-K) по отдельности. Обычно мы говорим, что если модель A имеет более высокое скорректированное R², чем модель B, то модель A является лучшей моделью. Однако это не всегда так. Я не буду вдаваться в подробности, но призываю вас к дальнейшему исследованию и особенно к F-тестам. (Возможно, в будущем у меня тоже будет запись в блоге об этом).

MSE

Среднеквадратическая ошибка (MSE) — еще одна мера соответствия модели. Это широко используемая метрика, потому что она дает нам общую ошибку в одном числе — другими словами, это среднее значение ошибок. Его преимущество состоит в том, что он «раздувает» большие ошибки из-за вычисления возведения в квадрат. Недостатком MSE является то, что это также единица измерения в квадрате, которую людям часто трудно точно интерпретировать.

Что касается MSE, меньшее значение означает более высокую производительность модели, поскольку оно имеет меньшее значение для числа и/или диапазона значений ошибок.

СКО

Чтобы решить проблему квадратных единиц в MSE, мы можем использовать среднеквадратичную ошибку (RMSE), которую легче интерпретировать. Например, единицы MSE для модели цен на жилье могут быть выражены в «долларах в квадрате», а RMSE — просто в долларах.

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

МАЭ

MAE, или средняя абсолютная ошибка, похожа на RMSE, но принимает абсолютное значение разницы, а не квадрат. Опять же, более низкий MAE указывает на лучшую модель. Мы рассчитываем MAE как таковой:

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

Потеря

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

  1. Среднеквадратическая ошибка (MSE)
  2. Средняя абсолютная ошибка (MAE)
  3. Потеря Хубера (также известная как сглаженная средняя абсолютная ошибка)

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

Заключительные мысли

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

Спасибо за чтение! Ищи меня в Linkedin

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