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

Итак, прежде всего, что такое градиентный спуск? Позволь мне объяснить. По сути, это метод оптимизации, в котором мы находим локальные или глобальные минимумы (в зависимости от кривой) данной кривой, случайным образом выбирая постоянные параметры и постепенно двигаясь вниз до достижения самой низкой точки (она же минимум). Чтобы лучше понять это, давайте отправимся на вершину горы, не буквально, а просто мысленно. А насладившись видом, хочется спуститься в кафе, расположенное у подножия горы. Представьте, что у вас есть сверхчеловеческие способности и вы можете спуститься с любой крутой горы. И вы хотите добраться до места назначения как можно быстрее, потому что после восхождений вы устали и хотите освежиться. Что вы будете делать? Очень вероятно, что вы пойдете по самому крутому спуску, и когда вы достигнете нижней части этого конкретного спуска, вы снова пойдете по самому крутому спуску, и этот процесс будет продолжаться, пока вы не доберетесь до кафе.

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

Здесь мы будем использовать функцию стоимости линейной регрессии в качестве нашей кривой, чтобы продемонстрировать, как работает градиентный спуск. Я полагаю, вы все помните, что такое функция стоимости. Если нет, не волнуйтесь, вот оно: -

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

Чтобы понять, что происходит, давайте построим функцию стоимости (по оси Y) и параметр (тета 1 по оси X).

Давайте теперь поговорим об альфе, возможно, более известной как скорость обучения (LR), которая представляет собой константу, которую мы умножаем на функцию дифференцированной стоимости, чтобы смягчить величину, на которую обновляется наш параметр. Однако есть определенные меры предосторожности, которые мы должны принять при выборе значения этой константы:

1. Слишком маленькое значение LR означает, что для достижения минимума потребуется вечность.

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

Поэтому нам нужно поэкспериментировать со значением LR, чтобы найти наилучшее возможное значение.

ВИДЫ ГРАДИЕНТНОГО СПУСКАНИЯ

Хорошо, теперь, когда мы знаем основной принцип градиентного спуска, давайте обсудим типы градиентного спуска. Существует три типа градиентного спуска:

1. Пакетный градиентный спуск: -

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

2. Стохастический градиентный спуск: -

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

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

3. Мини-пакетный градиентный спуск: -

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

В следующей статье я расскажу о логистической регрессии. Следите за обновлениями…. :)

Спасибо, что прочитали..!!