Запишетесь на полный курс Машинного обучения на Python по адресу support@ittensive.com
Любая модель машинного обучения создается для того, чтобы решить некоторую задачу: предсказать значение, классифицировать объект, принять решение и т.п. Для обучения у нас есть набор данных, в котором мы уверены. В результате работы обучения мы хотим получить модель, которая будет правильно работать на любых данных. Но что если она прекрасно работает на обучающей выборке, а на тестовой ужасно? Здесь появляются проблемы переобучения и недообучения.
Недообучение происходит тогда, когда даже на обучающих данных мы не можем достичь малой ошибки модели. Причин тому может быть много:
* Слишком ранняя остановка.
* Неправильно выбранный алгоритм обучения или функция ошибки.
* Неверная модель для решения конкретной задачи.
* Не подобраны гиперпараметры.
Но такая ситуация встречается не часто, в основном, все борются с проблемой переобучения. Это тогда когда мы идеально описываем наши обучающие данные, функция ошибки показывает очень маленьке значения, но никаким обобщением данная модель не обладает. Она просто максимально описала наши данные.
Причины для переобучения примерно такие же, за исключением остановки, здесь она наоборот слишком поздняя.
Для того, чтобы модель была эффективной нужно найти тот момент, когда модель уже обучена, но еще не переобучилась. В основном используется одновременная проверка ошибки на обучающей и тестовой выборке, обе они со временем должны уменьшаться, но если начинает увеличиваться разрыв между качеством работы модели на обучающей и проверочной выборках, то надо остановить процесс обучения. Потому что почти всегда это означает начало переобучения.
Негізгі бет Ғылым және технология Недообучение и переобучение
Пікірлер: 2