Встречается на собеседованиях • сегодня

В чем разница между SGD и обычным градиентным спуском

Основное отличие — в способе обновления весов. В обычном градиентном спуске (Batch GD) используется весь датасет для вычисления градиента на каждом шаге, что требует больших вычислительных ресурсов. SGD (стохастический градиентный спуск) обновляет веса на основе градиента от одного случайного примера, что делает его быстрее, но более шумным.

Mini-batch GD — компромиссный вариант, где градиент вычисляется по небольшой подвыборке данных.

python
# Batch GD
for epoch in range(epochs):
    grad = compute_gradient(entire_dataset)
    weights -= learning_rate * grad

# SGD
for epoch in range(epochs):
    x, y = random_sample(dataset)
    grad = compute_gradient(x, y)
    weights -= learning_rate * grad

SGD лучше подходит для больших данных и может обходить локальные минимумы благодаря шуму, но требует тюнинга learning rate. Batch GD гарантированно сходится к минимуму, но медленнее.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы