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

Фон

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

Общее разделение для обучающих, проверочных и тестовых наборов

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

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

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

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

Определение подходящего размера наборов для обучения, проверки и тестирования зависит от различных факторов, таких как размер набора данных, сложность, количество функций и характер проблемы. Как правило, большие наборы данных выигрывают от больших обучающих наборов, поскольку они помогают модели понять сложные отношения между функциями и целевой переменной. Однако размеры валидационных и тестовых наборов также имеют значение, поскольку они оценивают производительность модели и способность к обобщению. Как правило, обычной практикой является разделение набора данных на 60–80 % обучающих, 10–20 % проверочных и 10–20 % тестовых наборов.

Рассмотрение наборов для обучения/валидации/тестирования

Подходящий размер наборов для обучения, проверки и тестирования при разработке моделей машинного обучения является решающим фактором, который часто упускается из виду. Обычно используемое разделение 70/15/15 или даже 80/10/10 может быть не лучшим подходом для больших баз данных, и размер этих наборов должен определяться на основе размера самого набора данных.

Например, в большом наборе данных с 1 000 000 выборок деления 98/1/1 может быть достаточно для тестирования, при этом большая часть данных используется для обучения. Однако очень важно перетасовать набор данных и убедиться, что он имеет нормальное распределение, прежде чем разбивать его на эти наборы.

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

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

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

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

Небольшой набор данных

Правило 80/10/10 может не подходить для небольших наборов данных, поскольку это может привести к недостаточности данных для обучения модели. В таких сценариях перекрестная проверка является широко используемым методом.

Перекрестная проверка включает в себя разделение набора данных на k равных подмножеств или «складок». Из них k-1 подмножеств используются для обучения модели, а оставшееся подмножество зарезервировано для тестирования. Этот процесс повторяется k раз, при этом каждая складка используется в качестве тестового набора один раз. Затем результаты каждой кратности усредняются, чтобы дать окончательную оценку производительности модели.

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

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

Краткое содержание

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

Спасибо за прочтение!

Дополнительные ресурсы

[1] Как (и зачем) создать хороший набор для проверки: https://www.fast.ai/posts/2017-11-13-validation-sets.html

[2] В чем разница между тестовыми и проверочными наборами данных?

https://machinelearningmastery.com/difference-test-validation-datasets/

Об авторе

Барак Ор — предприниматель, эксперт по искусственному интеллекту и навигации; Бывший Qualcomm. Барак получил степень доктора философии. степень в области машинного обучения и синтеза датчиков. Он имеет степень магистра наук. и бакалавр наук. в аэрокосмической технике и B.A. по экономике и менеджменту Техниона. Лауреат премии Gemunder. Автор ряда статей и патентов. Он является основателем и генеральным директором ALMA Tech. LTD, компания, занимающаяся искусственным интеллектом и передовым сенсорным синтезом.