Разница между пакетным градиентным спуском и стохастическим градиентным спуском

Опубликовано: 21 Июля, 2021

Чтобы обучить модель линейной регрессии, мы должны изучить некоторые параметры модели, такие как веса признаков и условия смещения. Подход, позволяющий сделать то же самое, - это градиентный спуск, который представляет собой алгоритм итеративной оптимизации, способный настраивать параметры модели путем минимизации функции стоимости по данным поезда. Это полный алгоритм, т.е. он гарантированно найдет глобальный минимум (оптимальное решение) при наличии достаточно времени и не очень высокой скорости обучения. Два важных варианта градиентного спуска, которые широко используются в линейной регрессии, а также в нейронных сетях, - это пакетный градиентный спуск и стохастический градиентный спуск (SGD).

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


Стохастический градиентный спуск: SGD пытается решить основную проблему пакетного градиентного спуска, которая заключается в использовании всех обучающих данных для вычисления градиентов на каждом шаге. SGD является стохастическим по своей природе, то есть он выбирает «случайный» экземпляр обучающих данных на каждом шаге, а затем вычисляет градиент, что делает его намного быстрее, поскольку в отличие от Batch GD требуется гораздо меньше данных, которыми нужно манипулировать за один раз.

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

Разница между пакетным градиентным спуском и стохастическим градиентным спуском

С.НО. Пакетный градиентный спуск Стохастический градиентный спуск
1. Вычисляет градиент с использованием всего обучающего образца Вычисляет градиент с использованием одной обучающей выборки
2. Медленный и дорогостоящий в вычислительном отношении алгоритм Быстрее и менее затратно с точки зрения вычислений, чем Batch GD
3. Не рекомендуется для огромных обучающих выборок. Может использоваться для больших обучающих выборок.
4. Детерминированный по своей природе. Стохастический характер.
5. Дает оптимальное решение при наличии достаточного времени для схождения. Дает хорошее решение, но не оптимальное.
6. Случайное перемешивание очков не требуется. Выборка данных должна быть в случайном порядке, поэтому мы хотим перетасовать обучающий набор для каждой эпохи.
7. Невозможно легко избежать мелких локальных минимумов. SGD может легче избежать мелких локальных минимумов.
8. Схождение идет медленно. Достигает конвергенции намного быстрее.