Что такое линейная регрессия?

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

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

Представление модели

Это простое линейное уравнение с x и y. это определенный набор входных значений или независимых переменных и прогнозируемый результат для x или нашей целевой переменной.

Это похоже на

или в матричной форме

Где — коэффициент x, а B0 — коэффициент смещения или точка пересечения. Здесь B1 и B0 неизвестны, их надо найти. (мы пишем B1 и B0 вместо Beta_1 и Beta_0)

Мы можем рассматривать x как матрицу размера 1 × m, где m — количество независимых переменных, а B1 — как матрицу размера m ×1.

Наша цель:

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

Наша задача:

это на самом деле просто, но не так легко. Осталось найти коэффициенты B1 и B0. Как только мы найдем значения для B1 и B0, мы получим линию наилучшего соответствия. Затем мы можем использовать модель для прогнозирования значений целевых переменных на неизвестных данных.

Как найти значения B1 и B0:

для этого нам нужно знать другое понятие, «Оптимизация». но прежде чем углубляться в это, давайте обсудим функцию ошибки или стоимости.

Функция стоимости:

формула

Это среднеквадратическая ошибка (RMSE) между прогнозируемым значением y_pred и истинным значением y.

Но у нас еще не было значения y_pred. Да, но если мы используем любые случайные значения для B1 и B0, это даст предсказанное значение для y. мы будем обновлять и улучшать это значение путем оптимизации.

Оптимизация (градиентный спуск):

Формула градиентного спуска

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

Поскольку B1 представляет собой матрицу m × 1, она имеет m компонентов, скажем

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

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

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

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

Регуляризация:

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

Есть два наиболее популярных примера регуляризации.

1. Регрессия Лассо (L1)

2. Регрессия хребта (L2)

Прогноз:

так как теперь у нас есть линия наилучшего соответствия, которая означает коэффициент, и зная, что представление представляет собой линейное уравнение, прогнозирование является легкой задачей.

Наш экв.

Теперь предположим, что нам нужно предсказать y для некоторого x. нам просто нужно вычислить простое умножение и сложение, чтобы получить значение y.

Простая линейная регрессия и множественная линейная регрессия:

Если у нас есть одна независимая переменная x, т.е. матрица x равна 1×1, поэтому наша матрица коэффициентов B1 также будет 1×1, тогда это называется простой линейной регрессией.

Если у нас есть более одной независимой переменной, т.е. матрица x выглядит линией

Тогда это называется множественной линейной регрессией.

Важные примечания:

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

2. LR предполагает, что ваши данные свободны от шума. Если в ваших данных есть шум, который может повлиять на коэффициент. Рассмотрите возможность очистки данных перед применением модели. Например, удаление выбросов и т. Д.

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