Возможный ответ на вопрос, как указано в другом аналогичном вопросе , а также от sklearn документы :
SGD разрешает минибат (онлайн /обучение, см. метод part_fit.
Но действительно ли partial_fit
действительно пакетный градиент, достойный?
SGD: градиентфункция стоимости вычисляется, а веса обновляются с использованием шага градиента приличия для каждого образца .
Пакет / мини-партия SGD: градиент функции стоимости равенвычисляется, и веса обновляются с использованием шага градиента приличия один раз за партию .
Таким образом, партия SGD с размером партии 1 == SGD
Теперь, когда мы понимаем определения, давайте рассмотрим код sklearn SGDClassifier
Строка документа partial_fit
говорит
Выполнение одной эпохи стохастического градиентного спуска на заданных образцах.
Но это не партия SGD, а ее внешний вид.или как вспомогательная функция для запуска метода fit
с max_iter=1
(комментарий прокомментирован так же, как и в строках документации).
partial_fit
вызовы _partial_fit
с max_iter==1
Ссылочная ссылка
fit
вызов метода _fit
, который вызывает _partial_fit
с max_iter
, установленным вназначенные \ по умолчанию максимальные итерации. Ссылка на ссылку
вывод:
partial_fit
делает не действительно выполняет пакетную SGD, то есть она не рассчитывает градиенты и не обновляет вес впакетная, но, скорее, делает это для каждого сэмпла.
В sklearn, похоже, нет механизма, позволяющего выполнить пакетный градиентный спуск.