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