Объяснение концепций машинного обучения

Основные метрики для понимания моделей регрессии на простом английском языке

Интервью по науке о данных требуют интуитивного понимания этих показателей.

Легко запомнить такие правила, как хорошо, когда RMSE и MAE должны быть низкими, R в квадрате и другие разновидности значений R в квадрате должны быть высокими. Но собеседования в области Data Science не ожидают большего от кандидатов. Они не спрашивают вас, лучше ли значение R-Squared 0,6 или 0,7. Можно ожидать вопросов, например, какие метрики вы бы использовали для оценки регрессионной модели и почему эта метрика? Кроме того, если ваша роль подобна аналитическому переводчику в вашей компании, вам, возможно, придется объяснить бизнесу сложные концепции простым способом. Итак, этот пост посвящен их интуитивному объяснению, а не предоставлению кода. Легко найти фрагменты кода из документации sci-kit learn или Stackoverflow о том, как рассчитать эти оценки.

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

Из рис. 1 можно сказать, что модель линейной регрессии не идеальна. На линии есть четыре точки, а другие точки удалены от линии в любом направлении. В то время как оранжевая точка представляет собой фактическое значение Y, точка, откуда начинается синяя стрелка на линии регрессии, является прогнозом Ŷ.

Средняя абсолютная ошибка (MAE)

Если мы рассмотрим все оранжевые точки и посчитаем, насколько прогноз не соответствует действительности, мы получим значение ошибки для этой точки. В этом разница между Y и Ŷ. Чтобы рассчитать MAE,

  1. Возьмите абсолютную разницу между Y и Ŷ для каждого из 11 доступных наблюдений: ⎮Yᵢ-Ŷᵢ⎮, где i ϵ [1, общее количество точек в наборе данных].
  2. Суммируйте каждую абсолютную разницу, чтобы получить общую ошибку: Σ⎮Yᵢ-Ŷᵢ⎮
  3. Разделите сумму на общее количество наблюдений, чтобы получить среднее значение ошибки: Σ⎮Yᵢ-Ŷᵢ⎮ / n

MAE = Σ⎮Yᵢ-Ŷᵢ⎮ / n

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

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

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

Среднеквадратичная ошибка (MSE)

Как рассчитать MSE?

  1. Возьмите разницу между Y и Ŷ для каждого из 11 доступных наблюдений: Yᵢ-Ŷᵢ
  2. Возведите в квадрат каждое значение разницы: (Yᵢ-Ŷᵢ) ²
  3. Значения в квадрате суммы: Σ (Yᵢ-Ŷᵢ) ², где i ϵ [1, общее количество точек в наборе данных]
  4. Разделите на общее количество наблюдений: Σ (Yᵢ-Ŷᵢ) ² / n

MSE = Σ (Yᵢ-Ŷᵢ) ² / n

Эти четыре шага должны дать нам MSE для этой модели. Но почему мы возводим разницу в квадрат?

Допустим, у вас есть две модели, созданные на основе примерно 1000 примеров. Для обеих моделей вы рассчитали MAE и обнаружили, что они совпадают. Но есть моментально незаметная разница между моделями. Одна модель имеет крошечное значение ошибки для каждого наблюдения, в то время как другая модель имеет крайний случай ошибок, значения ошибок либо сверхвысокие, либо сверхнизкие. Какая модель сейчас лучше?

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

Возводя в квадрат разницу между фактическими и прогнозируемыми значениями, мы можем учитывать только отрицательные значения ошибок и наказывать более высокие значения ошибок. Допустим, есть две модели регрессии со значениями ошибок -1, - 2, 3, 2 (модель A) и 1, -5, 1,5, 0,5 (модель B) соответственно. MAE для обеих моделей будет 2. Но MSE будет 3.5 и 7.125. Поскольку модель B имеет одну ошибку большой величины (-5), MSE значительно снижает ее.

Другой способ интерпретации MSE - это дисперсия значений ошибок (насколько широко распространены ошибки)!

Среднеквадратичная ошибка

Это в основном квадратный корень из MSE. Продолжая использовать тот же пример выше, 3,5 и 7,125 MSE будут 1,87 и 2,67 RMSE. Единственная разница в том, что RMSE будет иметь те же единицы измерения, что и целевая переменная, в то время как MSE будет иметь квадраты единиц. Поскольку MSE - это дисперсия значения ошибки, RMSE - это стандартное отклонение ошибок.

Среднеквадратичная логарифмическая ошибка

Я не использовал это, пока не участвовал в конкурсе Kaggle. Когда наблюдения огромны по величине как для фактических, так и для прогнозируемых значений, ошибка для этой пары будет большой по сравнению с другими наблюдениями меньшей величины. Например, вы можете встретить набор данных о недвижимости, в котором есть хорошее сочетание дорогих особняков, средних домов и ультра-дешевых разваливающихся домов, подобных этим. Если модель предсказывает, что небольшие квартиры стоимостью 100 000 долларов США будут равны 50 000 долларов, то это будет намного меньше, но если та же модель предсказывает цену особняка на уровне 900 000 долларов вместо 850 000 долларов, мы можем считать ее близкой. Одно и то же значение ошибки в 50 тысяч долларов является одновременно большим и незначительным в одном и том же наборе данных. Итак, в таких случаях, чтобы избежать таких относительно больших различий между фактическим и прогнозируемым значением, способствующих возникновению ошибки, мы используем RMSLE

Логарифмы - обычно удобный способ выразить большие числа в гораздо меньшей величине. Проверьте это, значение журнала 10000 - 4, а значение журнала 5000 - 3.6989. Когда значения Y и Ŷ регрессионных моделей сильно различаются, более высокие значения величины значительно увеличивают ошибку в RMSE, MSE и MAE.

Рассчитать RMSLE:

  1. Получите значение журнала для Прогноз + 1 и Фактический + 1 и Возьмите разницу между этими двумя или Получите значение журнала отношения между Прогнозируемым + 1 и Фактическим + 1: (log (Yᵢ + 1 ) - журнал (Ŷᵢ + 1)) или журнал ( (Yᵢ + 1) / (Ŷᵢ + 1)) (ПРИМЕЧАНИЕ. Для обоих прогнозируемый и фактический, добавляется +1, чтобы избежать неопределенных ошибок, если прогнозируемое или фактическое значение равно нулю)
  2. Возведите каждое значение в квадрат и просуммируйте их: Σ (log (Yᵢ + 1) -log (Ŷᵢ + 1)) ²
  3. Извлеките квадратный корень из суммы, чтобы получить СКО: √ Σ (log (Yᵢ + 1) -log (Ŷᵢ + 1)) ²

Его также можно рассматривать как метрику, которая учитывает соотношение между прогнозом и фактом, а не разницу. Если Pred₁ = 50 000 долларов США, Actual₁ = 80 000 долларов США и Pred₂ = 500 000 долларов США, Actual₂ = 800 000 долларов США. Тогда в обоих случаях log ((P + 1) / (A + 1)) будет одинаковым.

Я не собираюсь использовать здесь пример недвижимости, чтобы упростить расчет. допустим, у нас есть значения Y (фактические значения) и Y ^ (прогнозируемые значения) для двух разных моделей регрессии в одном наборе данных следующим образом:

Модель A:

Y : 10, 14, 18, 120, 140, 1, 2

Y^: 10, 13, 18, 100, 130, 1, 2

Модель B:

Y : 10, 14, 18, 120, 140, 1, 2

Y^: 6, 9, 7, 119, 130, 1.1 , 1

Для этих значений Y и Y ^ RMSE составляет 10,217, в то время как RMSLE будет 0,0938 для модели A, а для модели B RMSE составляет 7,25, а RMSLE - 0,4737. Если мы просто возьмем RMSE, модель B может выглядеть лучше. Но если вы просто взглянете на результаты, становится очевидным, что модель A работает лучше, а оценка RMSE выше только потому, что один прогноз сильно ошибается, что также оказывается более значительным.

Еще один способ подумать о RMSLE - это когда кто-то хочет наказать за недооценку больше, чем за переоценку, RMSLE работает хорошо. Например, модель A предсказывает, что стоимость дома составляет 800 тысяч долларов, как 600 тысяч долларов, а модель B предсказывает ту же цену за дом в размере 1 миллиона долларов. Несмотря на то, что оба этих прогноза отклоняются на 200 тысяч долларов, значение RMSLE выше для модели A (0,2876), чем для модели B (0,2231), в то время как значение RMSE остается прежним.

Коэффициент детерминации или R в квадрате

У нас есть такие показатели, как RMSE, MSE, MAE. Сравнение этих значений для нескольких моделей или нескольких разных версий одной и той же модели позволяет нам выбрать лучшую модель. Но что после того, как мы доработаем модель? Подходит ли выбранная модель для данных? Есть ли возможности для улучшения? Мы можем ответить на этот вопрос, используя значение R-Squared.

Возвращаясь к примеру с недвижимостью, предположим, что у вас есть 1000 строк данных с различными характеристиками, определяющими цену дома в районе. У вас есть всего 10 секунд, чтобы оценить стоимость нового дома в этом районе. Какой вариант лучше всего? Просто возьмите среднюю цену этих 1000 домов и укажите это как оценку для нового дома. Несмотря на то, что это не лучший прогноз, велики шансы, что оно определенно будет менее ошибочным, чем случайное предположение. Это называется базовой моделью или средней моделью или линией связи, которая была бы параллельной оси x. Итак, мы могли бы сравнить это с нашей более привлекательной моделью линейной регрессии, чтобы увидеть, насколько она лучше. Это то, что дает нам значение R-Squared.

Итак, если мы возьмем разницу между суммой квадратов ошибок по средней линии (SSEM) и суммой квадратов ошибок по линии регрессии (SSER), мы получим величину ошибка уменьшена за счет использования линии регрессии вместо средней линии. Эта разница, деленная на сумму квадратов ошибок по средней линии, дает долю ошибки, уменьшенную на линию регрессии по сравнению со средней линией, которая в основном представляет собой значение R-Squared!

R ² = (SSEM - SSER) / (SSEM) = 1 - (SSER / SSEM)

Это значение всегда находится в диапазоне [0, 1]. Это также интерпретируется как дисперсия, объясняемая моделью, потому что SSE в основном представляет собой дисперсию ошибки, и при использовании модели регрессии вместо модели среднего дисперсия уменьшается на определенную величину, и это уменьшение ошибки «объясняется» модель или интерпретируется моделью.

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

Примечание.

Вы можете увидеть некоторые уравнения со знаменателем как n-p вместо n, где p - количество независимых переменных, используемых для создания модели. По моему опыту работы в индустрии онлайн-торговли, это не имеет особого значения, поскольку обычно n ››› p и, следовательно, n-p имеет тенденцию к n. Но в масштабе классической статистики, где встречаются небольшие выборки, соотношение n и n-p будет иметь существенное значение. Но почему в классической статистике n-p или степень свободы? Это могло быть потенциальное сообщение в блоге!

Я люблю объяснять сложные концепции простым способом. Если у вас есть вопросы или вы просто хотите связаться, вы можете найти меня в Linkedin или написать мне по адресу [email protected].

Кроме того, вот еще одно сообщение в блоге neptune.ai, которое я рекомендую прочитать: https://neptune.ai/blog/performance-metrics-in-machine-learning-complete-guide