Кривые обучения
Кривые обучения показывают, как меняется качество модели при увеличении количества обучающих данных.
Обычно на графике сравнивают две оценки:
- качество на обучающих данных;
- качество на валидационных данных.
Такой график помогает понять, как модель ведёт себя с увеличением количества примеров.
Что показывает кривая обучения
Заголовок раздела «Что показывает кривая обучения»Если данных мало, модель может хорошо работать на обучающих примерах, но заметно хуже на новых данных. Это признак переобучения: модель слишком сильно подстроилась под небольшой набор примеров.
Когда данных становится больше, модели сложнее запомнить отдельные объекты. Если новые данные действительно содержат полезную информацию, качество на проверочных данных обычно становится устойчивее.
На схеме это выглядит так: качество на обучающих данных постепенно снижается, качество на валидационных данных растёт, а разрыв между ними уменьшается.
Если линии сближаются и выходят на устойчивый уровень, добавление данных уже не даёт резкого прироста качества. Если же валидационная кривая продолжает расти, дополнительные данные могут быть полезны.
Количество и качество данных
Заголовок раздела «Количество и качество данных»Важно не только число строк в таблице. Новые данные должны быть разнообразными и относиться к той же задаче.
Если просто продублировать уже имеющиеся строки, модель почти ничего нового не узнает. Полезны именно новые примеры, которые показывают разные варианты объектов и ситуаций.
Связь с валидационными кривыми
Заголовок раздела «Связь с валидационными кривыми»Валидационная кривая показывает влияние гиперпараметра, например глубины дерева.
Кривая обучения показывает влияние количества данных при уже выбранной модели и её параметрах.
Поэтому эти инструменты отвечают на разные вопросы:
- валидационная кривая: какую сложность модели выбрать;
- кривая обучения: как меняется качество при добавлении данных.
Построим кривую обучения для дерева решений фиксированной глубины 4. Размер обучающей выборки будет меняться, а качество будет оцениваться с помощью кросс-валидации.
uses MLABC, PlotML;
begin var (X, y) := Datasets.MakeCircles( 1000, noise := 0.25, factor := 0.5, seed := 42);
var cv := Validation.StratifiedKFold(y, 5, seed := 42);
var curve := Validation.LearningCurve( [0.025, 0.05, 0.1, 0.25, 0.5, 0.75, 1.0], () -> new DecisionTreeClassifier(4), X, y, Metrics.Accuracy, cv);
Plot.LearningCurve( curve, xLabel := 'Количество данных в обучающей выборке', yLabel := 'Accuracy', title := 'Кривая обучения для дерева решений' );end.Программа строит две кривые: качество на обучающих данных и качество на валидационных данных.
Синяя кривая показывает качество на обучающих данных. При очень маленькой выборке оно почти идеально: дереву легко подстроиться под небольшое число объектов. Когда данных становится больше, задача усложняется, и обучающая точность снижается.
Красная кривая показывает качество на валидационных данных. Сначала оно низкое: данных мало, и модель плохо обобщает. Затем при добавлении данных качество растёт и постепенно выходит на более устойчивый уровень.
Разрыв между кривыми при малом количестве данных показывает переобучение. По мере увеличения выборки разрыв уменьшается: модель меньше запоминает отдельные примеры и лучше работает на новых данных.
Чтобы понять, достаточно ли данных, смотрят прежде всего на валидационную кривую. Если при увеличении выборки её качество почти не растёт, дополнительные данные, скорее всего, дадут небольшой прирост. На этом графике валидационная точность стабилизируется примерно после 400 объектов, поэтому для данного примера это разумный размер обучающей выборки.
Один лишь небольшой разрыв между кривыми не означает, что данных достаточно: обе оценки могут оказаться низкими. Также нужно учитывать, насколько трудно собирать дополнительные данные и сколько времени занимает обучение.
Заметим, что изображение иллюстрирует задачу классификации - в задаче регрессии по оси y откладывается другая метрика качества.
Главное
Заголовок раздела «Главное»Кривые обучения показывают, как значение выбранной метрики на обучающих и валидационных данных меняется при увеличении обучающей выборки.
По мере добавления данных значения обычно сближаются и постепенно перестают заметно изменяться. Если валидационная метрика стабилизировалась, то для этой модели и выбранных признаков простое увеличение выборки, скорее всего, даст небольшой прирост. Более разнообразные данные или другая настройка модели могут изменить результат.