Пакетный градиентный спуск в Scikit-Learn - PullRequest
0 голосов
/ 23 апреля 2020

Как установить параметры для sklearn.linear_model.SGDRegressor, чтобы он выполнял пакетный градиентный спуск?

Я хочу решить задачу линейной регрессии с использованием пакетного градиентного спуска. Мне нужно, чтобы SGD действовал как пакетный градиентный спуск, и это должно быть сделано (я думаю) путем изменения модели в конце эпохи. Можно ли как-то параметризовать себя так?

1 Ответ

1 голос
/ 23 апреля 2020

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

Вы не можете сделай это; из документации ясно, что:

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

И хотя в документах SGDClassifier упоминается, что

SGD допускает мини-пакетное (онлайн / внешнее) обучение

который, вероятно, также подходит для SGDRegressor, что на самом деле означает, что вы можете использовать метод partial_fit для предоставления данных в разных пакетах; однако вычисления (и обновления) всегда выполняются для каждого сэмпла.

Если вам действительно нужно выполнить линейную регрессию с GD, вы можете легко это сделать в Keras или Tensorflow, собрав модель LR и используя пакет размер равен всем вашим тренировочным образцам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...