www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Простая интуиция для переобучения, или почему тестирование на тренировочных данных - плохая идея

Дата публикации 2014-03-05

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

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

Неправильно.

В этом посте вы обнаружите трудности с этими рассуждениями и разработаете интуицию, объясняющую, почему важно тестировать модель на невидимых данных.

Обучение и тестирование на одном наборе данных

Если у вас есть набор данных, скажитенабор данных цветов ирисаКакая модель этого набора является лучшей?

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

Это проблема, которую вы решаете, когда тренируетесь и тестируете модель в одном наборе данных.

Вы просите модель прогнозировать данные, которые она «видела» раньше. Данные, которые использовались для создания модели. Лучшая модель для этой проблемы - модель поиска, описанная выше.

Описательная модель

Есть некоторые обстоятельства, когда вы хотите обучить модель и оценить ее с использованием того же набора данных.

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

В этом случае вы создаете описательную модель.

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

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

Моделирование целевой функции

Рассмотрим вымышленную проблему классификации, цель которой - классифицировать экземпляры данных как красные или зеленые.

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

Наша цель при создании прогностической модели для этой проблемы - наилучшим образом приблизить эту идеальную функцию дискриминации.

Мы строим наше приближение к идеальной функции дискриминации, используя выборочные данные, собранные в домене. Это не все возможные данные, это выборка или подмножество всех возможных данных. Если бы у нас были все данные, не было бы необходимости делать прогнозы, потому что ответы можно было просто найти.

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

Эта структура помогает нам понять более глубокое различие между описательной и прогнозирующей моделью.

Описательные и прогнозные модели

Описательная модель касается только моделирования структуры в наблюдаемых данных. Имеет смысл обучать и оценивать его по одному и тому же набору данных.

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

Наилучшая описательная модель точна по наблюдаемым данным. Лучшая прогностическая модель точна на ненаблюдаемых данных.

переобучения

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

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

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

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

Борьба с переоснащением

Вы должныпротестируйте свою модель на невидимых данныхпротивостоять переоснащению.

Хорошим началом является разделение данных на 66% / 34% для обучения тестированию наборов данных. Лучше использовать перекрестную проверку, а лучше снова использовать несколько проходов перекрестной проверки. Вы хотите потратить время и получить точную оценку моделей на основе невидимых данных.

Вы можете повысить точность своей модели, уменьшив ее сложность.

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

Резюме

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

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

Эта интуиция послужила основой для того, почему при оценке прогностических моделей важно использовать раздельные тесты поезда / теста, перекрестную проверку и в идеале множественную перекрестную проверку.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map