Мой вопрос: какие изменения необходимо внести в алгоритм SGD для реализации мини-пакетного алгоритма SGD.
В книге Машинное обучение Тома Митчелла, алгоритмы GD и SGDобъясняются очень хорошо.Вот фрагмент книги для алгоритма обратного распространения SGD:
Я знаю, что разница между SGD
и mini-batch SGD
заключается в том, что вВ первом случае мы используем один обучающий пример для обновления весов в каждой итерации (внешнего цикла while), тогда как во втором случае в каждой итерации следует использовать пакет обучающих примеров.Но я до сих пор не могу понять, как следует изменить приведенный ниже алгоритм, чтобы учесть это изменение.
Вот как я думаю, это должно выглядеть, но я не могу подтвердить это из нескольких уроков, которые я использовал в Интернете.
Until the termination condition is met, Do
batch <- get next batch
For each <x,t> in batch, Do
1- Propagate the input forward through the network.
2- d_k += o_k(1 - o_k)(t_k - o_k)
3- d_h += o_h(1 - o_h)sum(w_kh * d_k)
For each network weight w_ij, Do
w_ji += etha * d_j * x_ij
Любая помощь очень ценится!