Разница между шагами и 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,

Другие вопросы по тегам