Не знаете, почему R² отрицательный? Читайте ниже, чтобы узнать больше.

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

Машинное обучение в основном бывает двух типов: обучение с учителем и обучение без учителя. Обучение с учителем можно рассматривать просто как обучение с помощью учителя. Это означает, что у нас есть точки данных вместе с метками для каждой точки данных. С другой стороны, обучение без учителя можно рассматривать как обучение без учителя. Здесь нам просто даются необработанные данные без каких-либо меток, и предполагается, что алгоритм находит закономерности в данных и соответствующим образом группирует их. Большая часть прогресса в машинном обучении достигается в мире контролируемого обучения, в то время как мир без учителя остается загадочным и не полностью изученным.

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

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

Основной конвейер классификации или регрессии работает следующим образом:

  1. Мы начинаем с некоторой начальной конфигурации модели и прогнозируем результат на основе некоторого ввода.
  2. Затем прогнозируемое значение сравнивается с целевым и измеряется производительность нашей модели.
  3. Затем различные параметры модели итеративно корректируются для достижения оптимального значения показателя производительности.

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

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

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

Для оценки результатов прогноза используются следующие различные показатели:

  1. Среднеквадратичная ошибка (MSE)
  2. Среднеквадратическая ошибка (RMSE).
  3. Средняя абсолютная ошибка (MAE).
  4. R² или коэффициент детерминации.
  5. Скорректированный R²

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

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

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

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

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

Почему R² отрицательный?

После краткого обзора различных показателей регрессии давайте, наконец, поговорим о том, почему R² отрицательный.

Среди людей существует неправильное представление о том, что оценка R² колеблется от 0 до 1, но на самом деле она колеблется от -∞ до 1. Из-за этого заблуждения они иногда пугаются, почему R² является отрицательным, что, по их мнению, невозможно.

Основные причины отрицательного значения R² следующие:

  1. Одна из основных причин отрицательного значения R² заключается в том, что выбранная модель не следует тенденции данных, в результате чего R² оказывается отрицательным. Это приводит к тому, что mse выбранной модели (числитель) будет больше, чем mse для постоянной базовой линии (знаменатель), что приведет к отрицательному R².

2. Возможно, в данных имеется большое количество выбросов, из-за которых mse модели превышает mse базовой линии, что приводит к отрицательному значению R² (т. Е. Числитель больше знаменателя).

3. Иногда при кодировании алгоритма регрессии исследователь может забыть добавить точку пересечения к регрессору, что также приведет к отрицательному значению R². Это связано с тем, что без преимущества перехвата регрессия могла бы работать хуже, чем выборочное среднее (базовое значение) с точки зрения отслеживания зависимой переменной (т. Е. Числитель мог бы быть больше знаменателя). Однако большинство стандартных библиотек машинного обучения, таких как scikit-learn, включают перехват по умолчанию, но если вы используете библиотеку stats-model, вам придется добавить перехват вручную.

Личный опыт:

Недавно я работал над проблемой регрессии, когда моя модель была обучена на данных, имеющих диапазон зависимых переменных от 17 до 35, но диапазон не пересекался посередине. Чтобы уточнить, в данных были значения от 17 до 22, затем с перерывом, а затем снова от 29 до 33. Если я построю данные, это будет примерно так, как показано на рисунке ниже.

Модель имела r2_score 0,95 на проверочном наборе. После обучения модели меня попросили протестировать производительность модели на подмножествах данных от 17–22 до 29–33. Производительность модели на каждом из подмножеств имеет отрицательный показатель r2_score, и я был очень смущен и задавался вопросом, где я ошибся. Я проверил производительность модели на объединенном наборе данных, и она была похожа на производительность набора для проверки, но когда я разделил данные тестирования на подмножества и протестировал, был замечен отрицательный результат r2_score. Затем, долго подумав и реализовав вручную функцию r2_score и распечатав вывод на каждом этапе расчета, я осознал проблему.

Итак, давайте рассмотрим случай 17–22 и выясним, почему r2_score был отрицательным. Как обсуждалось выше, r2_score сообщает производительность модели по сравнению со средней оценкой, то есть моделью, которая берет среднее значение зависимой переменной и прогнозирует его для всех записей. В обычных случаях оценка среднего значения является плохой моделью и не работает. Но когда мы разбиваем наши данные на более мелкие подмножества, средняя оценка на самом деле является хорошей оценкой. Если, например, мы считаем, что среднее значение нашей зависимой переменной равно 19 для подмножества 17–22. Теперь, если мы рассмотрим нашу модель, которая обучена на данных всего диапазона, а не только 17–22, она будет давать ошибку, скажем, в среднем 1, что очень хорошо, если мы рассмотрим весь диапазон от 17 до 33, но если мы подмножество данные в 17–22, средняя ошибка 1 может быть хуже, чем средняя оценка, что приведет к отрицательному значению r2_score. Аналогичный сценарий будет наблюдаться, когда данные будут подмножеством в подмножестве 19–33.

Заключение:

В этом посте мы обнаружили различные метрики, используемые в регрессионном анализе, а также попытались ответить на вопрос, почему R² отрицательный?

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

Вдохновляющая цитата:

«Внимательно изучите то, что вас интересует, самым недисциплинированным, дерзким и оригинальным способом». - Ричард Фейнман

Дальнейшее чтение:

  1. Показатели производительности в машинном обучении