stringtranslate.com

Наборы данных для обучения, проверки и тестирования

В машинном обучении распространенной задачей является изучение и построение алгоритмов , которые могут обучаться и делать прогнозы на основе данных . [1] Такие алгоритмы функционируют, делая прогнозы или решения на основе данных, [2] путем построения математической модели из входных данных. Эти входные данные, используемые для построения модели, обычно делятся на несколько наборов данных . В частности, на разных этапах создания модели обычно используются три набора данных: обучающий, проверочный и тестовый.

Модель изначально подгоняется под набор обучающих данных , [3] который представляет собой набор примеров, используемых для подгонки параметров (например, весов связей между нейронами в искусственных нейронных сетях ) модели. [4] Модель (например, наивный байесовский классификатор ) обучается на наборе обучающих данных с использованием контролируемого метода обучения , например, с использованием методов оптимизации, таких как градиентный спуск или стохастический градиентный спуск . На практике набор обучающих данных часто состоит из пар входного вектора (или скаляра) и соответствующего выходного вектора (или скаляра), где ключ ответа обычно обозначается как цель (или метка ). Текущая модель запускается с набором обучающих данных и выдает результат, который затем сравнивается с целью , для каждого входного вектора в наборе обучающих данных. На основе результата сравнения и конкретного используемого алгоритма обучения корректируются параметры модели. Подгонка модели может включать как выбор переменных , так и оценку параметров .

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

Наконец, тестовый набор данных — это набор данных, используемый для предоставления беспристрастной оценки окончательной подгонки модели к обучающему набору данных. [5] Если данные в тестовом наборе данных никогда не использовались в обучении (например, в перекрестной проверке ), тестовый набор данных также называется контрольным набором данных . Термин «валидационный набор» иногда используется вместо «тестового набора» в некоторой литературе (например, если исходный набор данных был разделен только на два подмножества, тестовый набор может называться проверочным набором). [5]

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

Набор обучающих данных

Набор данных для обучения — это набор данных примеров, используемых в процессе обучения, и применяется для подбора параметров (например, весов), например, классификатора . [9] [10]

Для задач классификации контролируемый алгоритм обучения просматривает набор данных для обучения, чтобы определить или изучить оптимальные комбинации переменных, которые сгенерируют хорошую предсказательную модель . [11] Цель состоит в том, чтобы создать обученную (подогнанную) модель, которая хорошо обобщается на новые неизвестные данные. [12] Подогнанная модель оценивается с использованием «новых» примеров из удерживаемых наборов данных (валидационных и тестовых наборов данных) для оценки точности модели при классификации новых данных. [5] Чтобы снизить риск таких проблем, как переобучение, примеры в наборах данных для проверки и тестирования не должны использоваться для обучения модели. [5]

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

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

Набор данных для проверки

Набор данных проверки — это набор данных примеров, используемых для настройки гиперпараметров (т. е. архитектуры) классификатора. Иногда его также называют набором разработки или «набором разработки». [13] Пример гиперпараметра для искусственных нейронных сетей включает количество скрытых единиц в каждом слое. [9] [10] Он, как и тестовый набор (как указано ниже), должен следовать тому же распределению вероятностей, что и набор обучающих данных.

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

Основной процесс использования набора данных проверки для выбора модели (как части набора данных обучения, набора данных проверки и набора тестовых данных) выглядит следующим образом: [10] [14]

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

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

Тестовый набор данных

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

Тестовый набор, таким образом, представляет собой набор примеров, используемых только для оценки производительности (т. е. обобщения) полностью определенного классификатора. [9] [10] Для этого окончательная модель используется для прогнозирования классификаций примеров в тестовом наборе. Эти прогнозы сравниваются с истинными классификациями примеров для оценки точности модели. [11]

В сценарии, где используются как наборы данных для проверки, так и тестовые наборы данных, тестовый набор данных обычно используется для оценки окончательной модели, которая выбирается в процессе проверки. В случае, когда исходный набор данных разделен на два подмножества (наборы данных для обучения и тестирования), тестовый набор данных может оценить модель только один раз (например, в методе удержания ). [15] Обратите внимание, что некоторые источники не рекомендуют использовать такой метод. [12] Однако при использовании такого метода, как перекрестная проверка , двух разделов может быть достаточно и эффективно, поскольку результаты усредняются после повторных раундов обучения и тестирования модели, что помогает снизить смещение и изменчивость. [5] [12]


Обучающий набор (слева) и тестовый набор (справа) из одной и той же статистической совокупности показаны синими точками. Две прогностические модели подгоняются под обучающие данные. Обе подогнанных модели построены как для обучающего, так и для тестового наборов. В обучающем наборе MSE подгонки, показанной оранжевым цветом, составляет 4, тогда как MSE подгонки, показанной зеленым цветом, составляет 9. В тестовом наборе MSE подгонки, показанной оранжевым цветом, составляет 15, а MSE подгонки, показанной зеленым цветом, составляет 13. Оранжевая кривая сильно переобучает обучающие данные, поскольку ее MSE увеличивается почти в четыре раза при сравнении тестового набора с обучающим. Зеленая кривая переобучает обучающие данные гораздо меньше, поскольку ее MSE увеличивается менее чем в 2 раза.

Путаница в терминологии

Тестирование — это попытка что-то выяснить об этом («To put to the proof; to proof the truth, genuineness, or quality of by experimental» в соответствии с Collaborative International Dictionary of English), а валидация — это доказательство того, что что-то является валидным («To confirmed; to render valid» Collaborative International Dictionary of English). С этой точки зрения наиболее распространенным использованием терминов «тестовый набор» и «валидационный набор» является тот, который описан здесь. Однако и в промышленности, и в академических кругах их иногда используют взаимозаменяемо, считая, что внутренний процесс заключается в тестировании различных моделей для улучшения (тестовый набор как набор для разработки), а окончательная модель — это та, которую необходимо проверить перед реальным использованием с помощью невидимых данных (валидационный набор). «В литературе по машинному обучению часто меняют значение терминов «валидационный» и «тестовый» наборы. Это самый вопиющий пример терминологической путаницы, которая пронизывает исследования искусственного интеллекта». [16] Тем не менее, важно придерживаться того, что окончательный набор, независимо от того, называется ли он тестовым или проверочным, должен использоваться только в финальном эксперименте.

Перекрестная проверка

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

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

Причины ошибок

Комикс, демонстрирующий вымышленный ошибочный вывод компьютера (приготовление кофе при температуре 5 миллионов градусов , из предыдущего определения «очень горячего»). Это можно классифицировать как сбой в логике и неспособность включить различные соответствующие условия окружающей среды. [17]

Упущения в обучении алгоритмов являются основной причиной ошибочных результатов. [17] Типы таких упущений включают: [17]

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

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

Смотрите также

Ссылки

  1. ^ Рон Кохави; Фостер Провост (1998). «Словарь терминов». Машинное обучение . 30 : 271–274. doi : 10.1023/A:1007411609915 .
  2. ^ Бишоп, Кристофер М. (2006). Распознавание образов и машинное обучение . Нью-Йорк: Springer. стр. vii. ISBN 0-387-31073-8. Распознавание образов берет свое начало в инженерии, тогда как машинное обучение выросло из компьютерной науки. Однако эти виды деятельности можно рассматривать как две грани одной области, и вместе они претерпели существенное развитие за последние десять лет.
  3. ^ ab Джеймс, Гарет (2013). Введение в статистическое обучение: с приложениями в R. Springer. стр. 176. ISBN 978-1461471370.
  4. ^ ab Ripley, Brian (1996). Распознавание образов и нейронные сети . Cambridge University Press. стр. 354. ISBN 978-0521717700.
  5. ^ abcdef Браунли, Джейсон (2017-07-13). "В чем разница между тестовыми и проверочными наборами данных?" . Получено 2017-10-12 .
  6. ^ ab Prechelt, Lutz; Geneviève B. Orr (2012-01-01). "Ранняя остановка — но когда?". В Grégoire Montavon; Klaus-Robert Müller (ред.). Neural Networks: Tricks of the Trade . Lecture Notes in Computer Science. Springer Berlin Heidelberg. стр. 53–67. doi :10.1007/978-3-642-35289-8_5. ISBN 978-3-642-35289-8.
  7. ^ «Машинное обучение — существует ли практическое правило, как разделить набор данных на обучающий и проверочный?». Stack Overflow . Получено 12 августа 2021 г.
  8. ^ Ферри, К. и Кайзер, С. (2019). Нейронные сети для младенцев . Справочники. ISBN 978-1492671206.{{cite book}}: CS1 maint: multiple names: authors list (link)
  9. ^ abc Рипли, Б.Д. (1996) Распознавание образов и нейронные сети , Кембридж: Издательство Кембриджского университета, стр. 354
  10. ^ abcd "Тема: Что такое популяция, выборка, обучающий набор, набор проектирования, проверочный набор и тестовый набор?", FAQ по нейронным сетям, часть 1 из 7: Введение (txt), comp.ai.neural-nets, Sarle, WS, ред. (1997, последнее изменение 2002-05-17)
  11. ^ ab Larose, DT; Larose, CD (2014). Обнаружение знаний в данных: введение в интеллектуальный анализ данных . Hoboken: Wiley. doi :10.1002/9781118874059. ISBN 978-0-470-90874-7. OCLC  869460667.
  12. ^ abc Сюй, Юнь; Гудакр, Ройстон (2018). «О разделении обучающего и проверочного набора: сравнительное исследование перекрестной проверки, бутстрапа и систематической выборки для оценки эффективности обобщения контролируемого обучения». Журнал анализа и тестирования . 2 (3). Springer Science and Business Media LLC: 249–262. doi : 10.1007/s41664-018-0068-2 . ISSN  2096-241X. PMC 6373628. PMID  30842888 . 
  13. ^ "Глубокое обучение". Coursera . Получено 2021-05-18 .
  14. ^ Бишоп, CM (1995), Нейронные сети для распознавания образов , Оксфорд: Oxford University Press, стр. 372
  15. ^ Кохави, Рон (2001-03-03). «Исследование перекрестной проверки и бутстрапа для оценки точности и выбора модели». 14 . {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  16. ^ Рипли, Брайан Д. (2008-01-10). "Глоссарий". Распознавание образов и нейронные сети . Cambridge University Press. ISBN 9780521717700. OCLC  601063414.
  17. ^ abcde Чанда СС, Банерджи ДН (2022). «Ошибки пропуска и совершения, лежащие в основе сбоев ИИ». AI Soc . 39 (3): 1–24. doi :10.1007/s00146-022-01585-x. PMC 9669536. PMID  36415822 . 
  18. ^ Гринберг А. (14.11.2017). «Посмотрите, как лицо 10-летнего ребенка разблокирует iPhone X его мамы». Wired .