Градиентный спуск — это итеративный алгоритм оптимизации. В линейной регрессии он используется для оптимизации функции стоимости и поиска значений θ1 (оценщиков), соответствующих оптимизированному значению функции стоимости.

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

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

Математически целью градиентного спуска для линейной регрессии является нахождение решения ArgMin J(θ0 , θ1), где J(θ0 , θ1) — функция стоимости линейной регрессии. Это дано —

Здесь

  • h — модель линейной гипотезы, h = θ0 + θ1x
  • y — истинный результат
  • m – количество точек данных в обучающем наборе

Мы хотим определить значение коэффициента θ1 оценщика, уравнение будет выглядеть так:

θ­1=θ0−η(∂/∂θ) J(θ)

Где η = скорость обучения, которая определяет скорость, с которой мы хотим двигаться к отрицательному градиенту.

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

Например:

J(θ) = θ^2

(∂/∂θ) J(θ) = 2θ

η = 0,1 (скорость обучения)

θ0 = 2 (начальная точка кривой)

Согласно приведенной ниже таблице, вы можете убедиться, что для достижения минимума = 0 со скоростью обучения 0,1 потребовалось около 28 итераций.