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

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

Существует 2 типа алгоритмов линейной регрессии в зависимости от количества переменных-предикторов:

Простая линейная регрессия: только одна переменная-предиктор используется для прогнозирования значений зависимой переменной. Уравнение прямой: y = c + mX. Где

y: зависимая переменная

X: предикторная переменная

m: наклон линии, определяющей отношения между X и y, также называемый коэффициентом X

c: перехват

Множественная линейная регрессия. Для прогнозирования значений зависимой переменной используется несколько переменных-предикторов.

Уравнение прямой: y = c + m1x1 + m2x2 + m3x3… + mixi (много переменных-предикторов x1, x2… xi).

(m1, m2… mi - коэффициенты соответственно)

Если вы хотите понять, как модель линейной регрессии строится с нуля, обратитесь к моей статье ниже:

Https://medium.com/mlearning-ai/linear-regression-simple-explanation-with-example-fba51b2c181d

Цель линейной регрессии - найти линию наилучшего соответствия для заданных переменных X и y, чтобы мы получили оптимальные значения для c и m в приведенном выше уравнении. Теперь, чтобы добиться этого, нам нужно правильно понять приведенный выше график.

Для каждого значения X, скажем, Xk, у нас есть значение y в соответствии с нашими данными, скажем, y_true. Наша линия регрессии также дает нам значение y, например y_pred. Для простоты понимания лучшая интуитивная линия, которую мы можем провести, - это линия, проходящая через среднее всех значений y, скажем y = y_avg.

Итак, теперь у нас есть y_true, y_pred и y_avg. Посмотрим, как они связаны.

y_true - y_pred дает нам термин ошибки, связанный с Xk, также называемый остатком. Эти условия ошибки могут быть положительными или отрицательными в зависимости от значения y_true. Итак, мы возьмем квадрат этих остаточных членов, чтобы избежать отрицательного знака. Сумма всех таких остатков называется остаточной суммой квадратов (RSS). Это формирует нашу функцию затрат. Нам нужно минимизировать эту функцию затрат, чтобы получить оптимальные значения для наклона (m) и точки пересечения (c) для нашей линии линейной регрессии, что мы увидим далее в этой статье.

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

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

Из приведенных выше уравнений и рисунка мы можем убедиться, что:

TSS = ESS + RSS

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

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

Значение R-квадрата находится в диапазоне от 0 до 1. Значение, близкое к 1, обычно означает, что модель хорошо подходит или, в частности, хорошая величина дисперсии в зависимой переменной объясняется независимой переменной / s.

Итак, интуитивно мы можем написать RSS = ESS / TSS.

Следовательно, R-квадрат = (TSS-RSS) / TSS.

Следовательно, R-квадрат = 1- (RSS / TSS).

Это важное уравнение, когда речь идет о линейной регрессии.

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

При построении модели множественной линейной регрессии, когда мы добавляем в нашу модель переменные, значение R-квадрата продолжает увеличиваться. Но что, если добавленная переменная не так уж и важна? Это может излишне усложнить модель и увеличить вероятность переобучения. Чтобы позаботиться об этом, существует мера, называемая Скорректированный R-квадрат.

Скорректированный R-квадрат накладывает штраф на модель, если добавленная переменная несущественна.

Где N - количество точек выборки в наших данных, а P - количество переменных-предикторов.

Это тоже очень важная концепция по сравнению с Линейная регрессия.

Хорошая модель линейной регрессии всегда будет иметь близкие друг к другу значения R-квадрат и Скорректированный R-квадрат. Однако скорректированное значение R-квадрата всегда меньше, чем значение R-квадрата.

Градиентный спуск

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

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

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

J (m) - это наша функция стоимости, и мы видим, что хотим достичь точки, в которой функция сходится (достигает минимального значения). Другими словами, мы хотим достичь точки, в которой значение нашей функции минимально. Итак, мы делаем это поэтапно, также называемые итерациями.

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

m1 = m0 - (скорость обучения). (дДж / дм)

Где: m1 - следующая точка, заданная итерацией

m0: начальная точка текущей итерации

Мы знаем, что наша функция стоимости - RSS = (y_pred-y_avg) ²

Приравнять y_pred к «c + mx». Получаем функцию, в которой есть 2 неизвестных m и c.

Мы берем частные производные этих функций один раз по m и один раз по c и приравниваем их к 0. Мы получаем два уравнения и 2 неизвестных. Решая эти два уравнения, мы получаем значения m и c.

Таким образом, в градиентном спуске, когда наша функция достигает точки, где она сходится, RSS становится минимальным, мы получаем оптимальные значения наклона (m) и точки пересечения (c).

Следовательно, мы можем сказать, что линия регрессии y = mx + c является наиболее подходящей линией.

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

Спасибо.

Вы можете связаться со мной в LinkedIn: https://www.linkedin.com/in/pathakpuja/

Посетите мой профиль GitHub, чтобы найти коды Python: https://github.com/pujappathak

Не стесняйтесь комментировать и оставлять отзывы, если вам нравятся мои статьи.