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

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

Глубокая интуиция

Мы знаем, что уравнение прямой задается формулой: y = mx + c, где

m=наклон линии, c=y-пересечение линии.

Но если мы рассмотрим тот же сценарий в случае использования ML, тогда «m» и «c» останутся прежними, но y = зависимая переменная, а x = независимая переменная.

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

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

Здесь y = цена, x = площадь, m = уклон, c = точка пересечения с y,

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

Функция стоимости задается как:

Где J = функция стоимости, n = общее количество точек в наборе данных, pred (i) = прогнозируемое значение, y (i) = фактическое значение.

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

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

Рассмотрим приведенные выше графики. График 1 — это фактический график, для которого нам нужно найти наиболее подходящую линию. Мы предполагаем c=0 в нашем уравнении прямой линии y`=m*x + c.

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

В Gradient descent кривая Gradient Descent создается путем вычисления функций стоимости для различных значений уклона, после чего строится кривая. И наша цель — достичь глобальных минимумов.

Мы инициализируем ‘mт.е. наклон к любому случайному значению, давайте инициализируем его равным 0,25. И мы вычисляем его стоимость J(m) и проводим касательную к нашей кривой GD в точке (0,25,Cost). Теперь мы вычисляем новое значение 'm', используя теорему о сходимости, которая дана ниже :

Здесь наклон представляет собой наклон касательной, а альфа — это скорость обучения, которая инициализируется как очень маленькое значение. Теперь наклон касательной будет влиять на m(new) двумя способами:

  1. Отрицательный наклон: m(новый)›m(старый).
  2. Положительный наклон: m(новый)‹m(старый).

Поскольку мы рассмотрели m = 0,25, мы получим отрицательный наклон, и наше m (новое) будет больше 0,25. Мы будем повторять процесс, пока не достигнем глобальных минимумов или когда m(new)=m(old).

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

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