Среднеквадратичная ошибка является наиболее часто используемой в задачах регрессии. Само название предполагает, что функция возвращает значение, взяв среднее значение квадрата ошибок.
M = среднее значение (T) | T = сумма (S) | S = квадрат (E) | E = Ошибка
Здесь E - разница между фактическим и прогнозируемым выходом. Давайте разберемся в этом на примерах данных.
Здесь у меня есть небольшой набор данных из Интернета. Мы используем единственную линейную регрессию для анализа, поскольку набор данных содержит только один вход (x). Мы собираемся использовать библиотеки python pandas и matplotlib для построения графиков. Давайте посмотрим, как x и y соединяются на графиках.
Поскольку мы знаем, что MSE предназначена для задач регрессии, лучше разберитесь в этом с помощью линейной регрессии. LR
Линейная регрессия - это метод статистического моделирования для исследования взаимосвязи между зависимой переменной и независимой переменной (ами) с непрерывными переменными.
Простая линейная регрессия - это «подобрать линию для всех точек с минимальной ошибкой и спрогнозировать будущее»
Считайте синюю линию над точками линией регрессии, нарисованной с использованием алгоритма линейной регрессии. Здесь задача MSE состоит в том, чтобы найти ошибку и вернуть ее, с помощью которой алгоритм определяет ее внутренние параметры. Изображение ниже дает лучшее представление о том, как рассчитывается ошибка.
Линия регрессии указывает «Каждое значение X в данных и его прогнозируемое значение Y». Но, как мы видим, прогнозируемое значение Y не совпадает с фактическим значением Y, которое считается ошибкой. Теперь мы можем рассчитать общий убыток по простой формуле.
Как только эта ошибка передается алгоритму регрессии, он выполняет задачи оптимизации, изменяет свой внутренний параметр и непрерывно запускает алгоритм, используя функцию потерь, пока не почувствует, что линия хорошо соответствует данным.
Копать глубже:
Теперь мы примерно понимаем, как MSE вычисляет ошибку. Но как это работает с данными? Каков эффект выбросов, если вы используете MSE? Я написал небольшой скрипт на Python, чтобы вручную вычислить MSE для наших данных.
8.84 - это ошибка, которую я получил, используя метод MSE, как показано. Здесь я хочу выяснить, насколько эта функция реагирует на выбросы.
Я добавил x = 10, Y = 99, что является выбросом, когда мы видим другие пары. Теперь я получил «67.06» на выходе MSE, что намного больше, чем «8.44». Таким образом, мы можем сделать вывод, что выбросы в значительной степени влияют на выпуск MSE.
Когда использовать MSE?
Мы поясняем, что MSE возвращает большое значение, если присутствуют выбросы / большие ошибки. Используйте MSE, если ваши данные допускают следующее.
- Делайте большие ценности важнее, чем однажды меньшие.
- Данные распределяются случайным образом и не нужно думать о больших значениях.
Пример: прогноз цен на жилье. Когда мы используем данные о ценах на дома, в зависимости от их места цена будет повышаться / понижаться. В такие моменты мы знаем, что это правильно, и не собираемся делать никаких проблем. здесь мы можем использовать MSE.
На этом пока все о MSE. Я буду обновлять в конечном итоге всякий раз, когда буду новичком в MSE. Спасибо, пока. Счастливый ML.
Если нужно, прочтите мой пост Средняя абсолютная ошибка (MAE).