Я не понимаю необходимости использования steps и num_epochs в любом виде кода ML.
Некоторые программы включают обе переменные одновременно.
Может кто-нибудь мне помочь?





Из того, что я знаю и понимаю,
На этапе обучения модели машинного обучения (ML) вашей целью обычно является минимизация функции затрат. При обучении с учителем вы вводите данные в свою модель и сравниваете результат с метками. Затем вы делаете «шаг» к минимуму функции стоимости. То есть вы вычисляете некоторую форму градиента и соответствующим образом корректируете веса вашей модели.
Теперь этот процесс можно делать по-разному. Например, когда дело доходит до градиентного спуска, вы можете выполнять пакетный градиентный спуск, стохастический градиентный спуск или мини-пакетный градиентный спуск. При выполнении пакетного градиентного спуска вы загрузите все примеры, вычислите градиент, а затем сделаете шаг, повторив этот процесс step раз. Однако в стохастическом градиентном спуске вы будете использовать только один пример, вычислить градиент, сделать шаг, повторить процесс step раз, а затем снова запустить n_epochs раз (перетасовка данных перед каждой эпохой).
Итак, step относится к количеству шагов, которые вы делаете, а n_epoch - к количеству раз, когда вы просматриваете свои данные. Некоторые алгоритмы будут перебирать данные (или их часть) много раз, поэтому вам понадобятся две переменные: step и n_epochs.
Допустим, у вас есть данные размером 1000, num_epoch - 10, а step - 200. В каждую эпоху программа будет обрабатывать каждый шаг. Таким образом, эпоха 1 -> 200..400..600..800..1000, эпоха 2 -> 200..400..600..800..1000 и так далее для каждой эпохи.
Спасибо чувак! Можете ли вы объяснить на примере одновременное использование шагов, num_epochs и batch_size.