В машинном обучении ранняя остановка — это форма регуляризации , используемая во избежание переобучения при обучении учащегося итеративным методом, например градиентным спуском . Такие методы обновляют обучаемый, чтобы он лучше соответствовал обучающим данным на каждой итерации. В некоторой степени это улучшает производительность учащегося при работе с данными за пределами обучающего набора. Однако после этого момента улучшение соответствия учащегося обучающим данным происходит за счет увеличения ошибки обобщения . Правила ранней остановки дают указания относительно того, сколько итераций можно выполнить, прежде чем учащийся начнет переобучаться. Правила ранней остановки использовались во многих различных методах машинного обучения с различной теоретической базой.
В этом разделе представлены некоторые основные концепции машинного обучения, необходимые для описания методов ранней остановки.
Алгоритмы машинного обучения обучают модель на основе конечного набора обучающих данных. Во время этого обучения модель оценивается на основе того, насколько хорошо она предсказывает наблюдения, содержащиеся в обучающем наборе. Однако в целом цель схемы машинного обучения — создать модель, которая обобщает, то есть предсказывает ранее невидимые наблюдения. Переобучение происходит, когда модель хорошо соответствует данным в обучающем наборе, но при этом допускает большую ошибку обобщения .
Регуляризация в контексте машинного обучения относится к процессу изменения алгоритма обучения, чтобы предотвратить переобучение. Обычно это предполагает наложение какого-то ограничения гладкости на изученную модель. [1] Эту гладкость можно обеспечить явно, зафиксировав количество параметров в модели или увеличив функцию стоимости, как в регуляризации Тихонова . Регуляризация Тихонова, наряду с регрессией главных компонент и многими другими схемами регуляризации, подпадает под действие спектральной регуляризации, регуляризации, характеризующейся применением фильтра. Ранняя остановка также относится к этому классу методов.
Методы градиентного спуска — это итеративные методы оптимизации первого порядка. Каждая итерация обновляет приближенное решение задачи оптимизации, делая шаг в направлении отрицательного градиента целевой функции. Путем правильного выбора размера шага можно добиться сходимости такого метода к локальному минимуму целевой функции. Градиентный спуск используется в машинном обучении путем определения функции потерь , которая отражает ошибку учащегося в обучающем наборе, а затем минимизации этой функции.
Раннюю остановку можно использовать для регуляризации проблем непараметрической регрессии, возникающих в машинном обучении . Для заданного входного пространства , выходного пространства, и выборок, взятых из неизвестной вероятностной меры, , on , целью таких задач является аппроксимация функции регрессии , , заданной выражением
где – условное распределение при, индуцированное . [2] Одним из распространенных вариантов аппроксимации функции регрессии является использование функций из воспроизводящего ядра гильбертова пространства . [2] Эти пространства могут быть бесконечномерными, в которых они могут предоставлять решения, подходящие для обучающих наборов произвольного размера. Поэтому регуляризация особенно важна для этих методов. Одним из способов регуляризации задач непараметрической регрессии является применение правила ранней остановки к итеративной процедуре, такой как градиентный спуск.
Правила ранней остановки, предложенные для этих задач, основаны на анализе верхних границ ошибки обобщения в зависимости от номера итерации. Они дают предписания относительно количества выполняемых итераций, которые можно вычислить до начала процесса решения. [3] [4]
(Адаптировано из Яо, Росаско и Капоннетто, 2007 г. [3] )
Пусть и задан набор образцов
нарисовано независимо от , минимизируйте функционал
где – член воспроизводящего ядра гильбертова пространства . То есть минимизировать ожидаемый риск для функции потерь по методу наименьших квадратов. Поскольку это зависит от неизвестной вероятностной меры , ее нельзя использовать для вычислений. Вместо этого рассмотрим следующий эмпирический риск
Пусть и будут t -ми итерациями градиентного спуска, примененными к ожидаемому и эмпирическому рискам соответственно, где обе итерации инициализируются в начале координат и обе используют размер шага . Форма итерации совокупности , которая сходится к , но не может быть использована в вычислениях, а форма итерации выборки , которая обычно сходится к переоснащающемуся решению.
Мы хотим контролировать разницу между ожидаемым риском выборочной итерации и минимальным ожидаемым риском, то есть ожидаемым риском функции регрессии:
Эту разницу можно переписать как сумму двух слагаемых: разницы в ожидаемом риске между итерациями выборки и генеральной совокупности и между итерацией генеральной совокупности и функцией регрессии:
Это уравнение представляет собой компромисс между смещением и дисперсией , который затем решается, чтобы получить оптимальное правило остановки, которое может зависеть от неизвестного распределения вероятностей. Это правило связано с вероятностными границами ошибки обобщения. Для анализа, ведущего к правилу и границам ранней остановки, читатель отсылается к оригинальной статье. [3] На практике для получения правила адаптивной остановки можно использовать методы, основанные на данных, например перекрестную проверку.
Повышение относится к семейству алгоритмов, в которых набор слабых обучающихся (обучающихся, которые лишь незначительно коррелируют с истинным процессом) объединяются для создания сильного обучающегося . Для нескольких алгоритмов повышения (включая AdaBoost ) было показано , что регуляризация посредством ранней остановки может обеспечить гарантии согласованности , то есть того, что результат алгоритма приближается к истинному решению, когда количество выборок стремится к бесконечности. [5] [6] [7]
Методы повышения имеют тесную связь с описанными выше методами градиентного спуска и могут рассматриваться как метод повышения, основанный на потерях: L 2 Boost . [3]
Эти правила ранней остановки работают путем разделения исходного обучающего набора на новый обучающий набор и набор проверки . Ошибка в наборе проверки используется в качестве показателя ошибки обобщения при определении момента начала переобучения. Эти методы используются при обучении многих итерационных алгоритмов машинного обучения, включая нейронные сети . Пречелт дает следующее краткое изложение простой реализации ранней остановки на основе удержания : [8]
- Разделите обучающие данные на обучающий набор и набор проверки, например, в пропорции 2 к 1.
- Тренируйтесь только на обучающем наборе и время от времени оценивайте ошибку для каждого примера в проверочном наборе, например, после каждой пятой эпохи.
- Остановите обучение, как только ошибка в наборе проверки станет выше, чем при последней проверке.
- Используйте веса, которые сеть имела на предыдущем шаге в результате обучающего прогона.
— Лутц Пречелт, Ранняя остановка – Но когда?
Перекрестная проверка — это альтернатива, применимая к сценариям, не связанным с временными рядами. Перекрестная проверка предполагает разделение нескольких разделов данных на обучающий набор и набор проверки, а не один раздел на обучающий набор и набор проверки. Даже эта простая процедура на практике усложняется тем фактом, что ошибка проверки может колебаться во время обучения, создавая несколько локальных минимумов. Это осложнение привело к созданию множества специальных правил для принятия решения о том, когда действительно началось переобучение. [8]