В рабочих процессах машинного обучения (ML) мы часто разделяем наш набор данных на набор данных для обучения и набор данных для тестирования (в контролируемом контексте). Мы используем набор обучающих данных для обучения модели и набор тестовых данных для оценки ее производительности. Часто общее разделение набора данных составляет 80% для обучения и 20% для тестирования. В этой статье мы объясним нюансы и обоснование разделения поезд-тест.

На основе данных

Ядром моделей ML являются данные. Сама по себе модель — это всего лишь алгоритм формирования правил и решений на основе данных. Чтобы модель была полезной, ей нужно предоставить данные, из которых она генерирует правила, изучая набор параметров/весов. В идеале мы хотим предоставить модели как можно больше данных, чтобы она могла эффективно учиться. Примечание. Когда дело доходит до данных, не все данные одинаковы, поэтому на самом деле под фразой «как можно больше данных» понимается «как можно больше высококачественных, репрезентативных данных». Мы хотим, чтобы данные улавливали сигнал и имели низкий уровень шума (т. е. высокое качество) и чтобы они отражали данные, с которыми мы, скорее всего, столкнемся при развертывании/приложении (т. е. их представитель).

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

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

Оценка эффективности

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

Как правило, в контексте контролируемого машинного обучения мы разделяем исходный набор данных для обучения и тестирования. Общий раздел резервирует 80% для обучения и 20% для тестирования. Мы можем сравнить это с учителем с банком вопросов — большинство вопросов будет выпущено для практики, а часть останется для тестов.

Что касается соотношения поезд-тест, мотивация использования разделения 80/20 в общих чертах определяется принципом Парето (также называемым правилом 80–20), который гласит, что 80 % следствия обусловлено 20 % причин ( и наоборот). Принцип Парето не является математически гарантированным свойством, но многие наблюдаемые явления следуют принципу Парето. Например, распределение богатства (80 % всего богатства принадлежит 20 % людей), маркетинг в социальных сетях (80 % всех репостов в социальных сетях генерируется 20 % постов), сельскохозяйственное производство (20 % фермеров производят 80 % урожая) и т. д. Учитывая, насколько вездесущими могут быть правила 80–20, это обычное соотношение между поездами и тестами в сообществе машинного обучения. Примечание: используются другие коэффициенты разделения, например 70/30 или 90/10, но они менее распространены.

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

Вызов новых данных

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

При таком подходе возникает несколько проблем:

  1. Неосуществимость: сбор новых данных может занять много времени и/или дорого, что делает его неосуществимым. Согласно исследованиям, сбор данных часто является самым большим узким местом в рабочих процессах данных, искусственном интеллекте и машинном обучении.
  2. Неоднородность: даже если сбор данных возможен, собранные данные могут не совпадать с исходным набором данных. Возможно, новые данные измеряют другую выборку/популяцию или в них отсутствуют определенные функции.
  3. Масштабируемость: использование новых данных может замедлить эксперименты. Сбор данных может быть медленным, поэтому нам нужно будет дождаться достаточного количества данных, чтобы отказаться от модели или дать зеленый свет модели. Кроме того, наша способность перекрестной проверки, которая использует различные перетасовки набора данных, становится ограниченной.

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

Заключение

В контролируемом машинном обучении мы используем набор данных как для обучения, так и для тестирования. Обычно мы резервируем 80% для обучения и 20% для тестирования. Мы полагаемся на разделение тестов и поездов, потому что сбор новых данных сложен, может отличаться от исходного набора данных и замедляет эксперименты.