Вы когда-нибудь замечали, что ваша модель дает ложные прогнозы по данным тестирования? Несмотря на то, что вы обучили свою модель с достаточным количеством данных, вы все равно получаете ложноотрицательные или ложноположительные результаты для ваших тестовых данных. Это почему?

Ваша модель либо не соответствует вашим тренировочным данным, либо переоснащается. Обобщение - это показатель эффективности вашей модели при прогнозировании невидимых данных. Таким образом, важно разработать наиболее обобщенную модель, чтобы обеспечить лучшую производительность по сравнению с будущими данными. Давайте сначала разберемся, что не подходит, а что переоснащение, а затем посмотрим, как лучше всего тренировать обобщенную модель.

Что такое недостаточное оснащение?

Недообучение - это состояние, при котором модель не может моделировать себя на обучающих данных. А также не умеет обобщать новые данные. Вы можете заметить это с помощью функции потери во время тренировки. Простое практическое правило: если потери при обучении и перекрестной проверке высоки, тогда ваша модель не соответствует требованиям.

Недостаток данных, недостаточное количество функций, отсутствие разброса в обучающих данных или высокая степень регуляризации могут вызвать недостаточное соответствие. Простое решение - добавить в тренировку больше перемешанных данных. В зависимости от того, что является причиной недостаточного соответствия вашей модели, вы можете попробовать ввести более значимые функции, пересечение функций и введение полиномов более высокого порядка в качестве функций или снизить частоту регуляризации, если вы используете регуляризацию. В некоторых случаях можно попробовать использовать другой алгоритм обучения.

Что такое переобучение?

Переоснащение - это ситуация, когда ваша модельная сила изучает всю дисперсию. Эксперты говорят, что модель начинает запоминать весь шум вместо того, чтобы учиться. Простое эмпирическое правило для определения переобучения: если ваши потери в обучении низкие, а потери при перекрестной проверке высоки, то ваша модель переоснащается.

Неочищенные данные, меньшее количество шагов в обучении, более высокая сложность модели (из-за более высокого веса данных) могут привести к переобучению. Всегда рекомендуется предварительно обрабатывать данные и создавать хороший конвейер данных. Выбирайте только необходимые и значимые функции с хорошей вариативностью. Уменьшите сложность модели, используя хороший алгоритм регуляризации (норма L1 или норма L2).

Как лучше всего получить обобщенную модель?

Важно иметь обучающий набор данных с хорошей дисперсией (т. Е. Перетасованный набор данных). Лучший способ сделать это - вычислить хэш для соответствующей функции и разделить данные на наборы для обучения, оценки и тестирования на основе вычисленного значения хеш-функции. Здесь оценочный набор используется для перекрестной проверки обученной модели. Всегда полезно убедиться, что распределение во всем наборе данных является стационарным (одинаковым).

Обработка выбросов также важна, это всегда зависит от задачи, над которой вы работаете. Если вы обучаете модель обнаружению аномалий, вам следует учитывать выбросы, в таком случае эти аномалии могут быть метками, которые вам нужно идентифицировать. Таким образом, вы не можете классифицировать или обнаруживать без выбросов. С другой стороны, если вы моделируете классификацию на основе регрессии, хорошо удалить выбросы.

Использование передискретизации во время обучения. Повторная выборка позволяет реконструировать образец набора данных разными способами для каждой итерации. Один из самых популярных методов повторной выборки - это k-кратная перекрестная проверка. Он выполняет обучение и тестирование модели k раз с различными подмножествами ваших тестовых данных.

Всегда полезно знать, когда следует прекратить тренировку. Когда следует прекратить тренировки, это обычное человеческое понимание. Когда вы достигнете хорошей потери в тренировке и хорошей потери проверки на этом этапе, прекратите тренировку.

Научитесь при необходимости разрабатывать функции. В некоторых случаях ваша модель не может сойтись, может не быть значимой связи между необработанными функциями, которые у вас есть. Пересечение функций и введение новых функций со значимой связью помогает модели сойтись.

В дополнение к этим настройкам параметров, настройки гиперпараметров с использованием алгоритмов регуляризации также помогают обобщить модель для повышения производительности.

Надеюсь, вы все получили общее представление об обобщении, неполном и переобучении. Используйте это как основу и продолжайте изучать подтемы для более глубокого понимания.

Не забывайте аплодировать, если эта статья окажется для вас полезной. Мы всегда рады вашим сомнениям и отзывам.