Предположим, вы пытаетесь минимизировать целевую функцию с помощью числа итераций. И текущее значение составляет . В данном наборе данных нет «неснижаемых ошибок», и вы можете минимизировать потери до для ваших тренировочных данных. Теперь у вас есть два способа сделать это.100,00.0
Первый способ - «большая скорость обучения» и несколько итераций. Предположим, что вы можете уменьшить потери на в каждой итерации, а затем, в итерациях, вы можете уменьшить потери до .10,0100.0
Вторым способом будет «медленная скорость обучения», но больше итераций. Предположим, что вы можете уменьшить потери на в каждой итерации, и вам нужно итераций, чтобы иметь 0,0 потери на ваших тренировочных данных.1,0100
Теперь подумайте: равны ли эти два подхода? а если нет, то что лучше в контексте оптимизации и в контексте машинного обучения ?
В литературе по оптимизации два подхода одинаковы. Как они оба сходятся к оптимальному решению . С другой стороны, в машинном обучении они не равны. Потому что в большинстве случаев мы не делаем потерю на тренировке равной что приведет к перенастройке.0
Мы можем думать о первом подходе как о «грубом поиске по сетке уровня», а второй подход - как о «поиске по сетке с точным уровнем». Второй подход обычно работает лучше, но требует больше вычислительных мощностей для большего количества итераций.
Чтобы предотвратить переопределение, мы можем делать разные вещи, первым способом было бы ограничить количество итераций, предположим, что мы используем первый подход, мы ограничиваем количество итераций до 5. В конце, потеря для обучающих данных составляет , (Кстати, это было бы очень странно с точки зрения оптимизации , что означает, что мы можем улучшить наше решение в будущем / оно не сходится, но мы решили этого не делать. При оптимизации обычно мы явно добавляем ограничения или штрафные термины к целевой функции, но обычно не ограничивают количество итераций.)50
С другой стороны, мы также можем использовать второй подход: если мы установим небольшую скорость обучения, скажем, уменьшить потери для каждой итерации, хотя у нас большое количество итераций, скажем, итераций, мы все равно не минимизируем потери до .0,15000.0
Вот почему маленькая скорость обучения в некотором роде равна «большему количеству регуляризаций».
Вот пример использования различной скорости обучения с использованием экспериментальных данных xgboost
. Пожалуйста, проверьте следующие две ссылки, чтобы увидеть, что значит eta
или что n_iterations
значит.
Параметры для Tree Booster
XGBoost Control переоснащение
Для того же количества итераций, скажем, . Небольшая скорость обучения «недостаточно соответствует» (или модель имеет «высокий уклон»), а большая скорость обучения «соответствует» (или модель имеет «высокую дисперсию»).50
PS. доказательством недостаточной подгонки является то, что как обучающий, так и испытательный набор имеют большую ошибку, а кривая ошибок для обучения и тестирования близка друг к другу. Признаком переоснащения является то, что ошибка тренировочного набора очень мала, а тестовый набор очень высок, две кривые находятся далеко друг от друга.
This is why small learning rate is sort of equal to "more regularizations"
, Согласно этой статье, чем больше скорость обучения, тем больше регуляризация: супер-конвергенция: очень быстрое обучение нейронных сетей с использованием большихИспользуя метод Ньютона, вы обновляете свои параметры, вычитая градиент потерь, деленный на кривизну потерь. При оптимизации градиентного спуска вы обновляете свои параметры, вычитая градиент потерь, умноженный на скорость обучения. Другими словами, обратная скорость обучения используется вместо кривизны реальных потерь.
Давайте определим потерю проблемы как потерю, которая определяет, что является хорошей моделью против плохой. Это настоящая потеря. Давайте определим оптимизированную потерю как то, что фактически минимизируется вашими правилами обновления.
По определению, параметром регуляризации является любой термин, который находится в оптимизированной потере, но не в потере проблемы. Поскольку скорость обучения действует как дополнительный квадратичный термин в оптимизированной потере, но не имеет ничего общего с потерей проблемы, это параметр регуляризации.
Другие примеры регуляризации, которые оправдывают эту перспективу:
источник
In other words, the reciprocal of the learning rate is used in place of the real loss curvature
. - Я не эксперт в области, и я впервые вижу определениеa regularization parameter is any term that is in the optimized loss, but not the problem loss
. Я тоже не совсем понимаю. Не могли бы вы предоставить соответствующую ссылку? Заранее спасибо