Переоснащение или недостаточное оснащение: концептуальное объяснение

Основа основной концепции науки о данных, основанная на примерах

Допустим, вы хотите выучить английский язык. У вас нет предварительного знания языка, но вы слышали, что величайший английский писатель - Уильям Шекспир. Естественным образом действий должно быть запереться в библиотеке и запомнить его работы. После года обучения вы заканчиваете учебу, едете в Нью-Йорк и приветствуете первого человека, которого встречаете, словами: «Добрый день, друг!» В ответ вы получите презрительный взгляд и пробормотанное «сумасшедшее». Вы невозмутимо пытаетесь снова: «Дорогая госпожа, как поживает наша любезная леди?» Еще одна неудача и поспешное отступление. После третьей неудачной попытки вы обезумели: «Какой позор, какая печаль!». Действительно, позор: вы только что допустили одну из самых основных ошибок в моделировании, переобучив тренировочные данные.

В курсах по науке о данных модель переобучения объясняется как имеющая высокую дисперсию и низкую систематическую ошибку в обучающей выборке, что приводит к плохому обобщению новых данных тестирования. Давайте разберемся с этим непонятным определением с точки зрения нашей попытки выучить английский язык. Модель, которую мы хотим построить, представляет собой представление о том, как общаться на английском языке. Наши тренировочные данные - это все произведения Шекспира, а наш набор для тестирования - Нью-Йорк. Если мы измеряем эффективность с точки зрения общественного признания, то наша модель не сможет обобщить или преобразовать данные тестирования. Пока это кажется простым, но как насчет дисперсии и предвзятости?

Дисперсия - это то, насколько модель изменяется в ответ на данные обучения. Поскольку мы просто запоминаем обучающий набор, наша модель имеет высокую дисперсию: она сильно зависит от обучающих данных. Если мы прочитаем все произведения J.K. Роулинг, а не Шекспир, модель будет совершенно другой. Когда модель с высокой дисперсией применяется к новому набору тестирования, она не может работать хорошо, потому что без обучающих данных все теряется. Это как студент, который запомнил задачи из учебника только для того, чтобы быть беспомощным, столкнувшись с проблемами реального мира.

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

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

Мы увидели, что модель с переобучением имеет высокую дисперсию и низкую систематическую ошибку. А как насчет обратного: низкая дисперсия и высокая систематическая ошибка? Это называется недостаточным соответствием: вместо того, чтобы слишком внимательно следовать обучающим данным, модель, которая не соответствует обучающим данным, игнорирует уроки, извлеченные из обучающих данных, и не может изучить основную взаимосвязь между входными и выходными данными.

Давайте подумаем об этом на нашем примере. Изучая нашу предыдущую попытку построить модель английского языка, мы решаем заранее сделать несколько предположений относительно этой модели. Мы также меняем данные о тренировках и смотрим все серии шоу Друзья, чтобы выучить английский язык. Чтобы избежать повторения наших ошибок с первой попытки, мы заранее предполагаем, что важны только предложения, начинающиеся с самых распространенных слов в языке - the, be, to, of и, a. Когда мы изучаем, мы не обращаем внимания на другие предложения, будучи уверенными, что построим лучшую модель.

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

Что мы можем сделать? Мы уделили особое внимание данным и переобучили. Мы проигнорировали данные и не соответствовали требованиям. Должен быть способ найти оптимальный баланс! К счастью, в науке о данных есть хорошо зарекомендовавшее себя решение, называемое валидацией. В нашем примере мы использовали только обучающий набор и набор для тестирования. Это означало, что мы не могли заранее знать, как наша модель будет работать в реальном мире. В идеале у нас должен быть «предварительный тест» для оценки нашей модели и внесения улучшений перед настоящим тестом. Этот «предварительный тест» известен как набор для проверки и является важной частью разработки модели.

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

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

Наука о данных может показаться сложной, но на самом деле она построена из ряда основных строительных блоков. Вот некоторые из тех, о которых рассказывается в этой статье:

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

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

Приветствую отзывы и конструктивную критику. Со мной можно связаться в Twitter @koehrsen_will.

Я хотел бы поблагодарить Тейлора Кёрсена (кстати, PharmD) за то, что он помог мне в моих статьях меньше походить на инженера!