Чем перекрестная проверка отличается от отслеживания данных?

13

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

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

Прошу прощения, что я начинаю понимать машинное обучение, и я очень хочу получить образование.

РЕДАКТИРОВАТЬ: Пожалуйста, смотрите @AdamO ответ на определение «отслеживания данных». Я использовал термин очень неточно в моем вопросе.

Гейзенберг
источник
Я так счастлив найти это ... завтра у меня будет TC с некоторыми исследователями, которые что-то опубликовали ... к сожалению, страдают от этой проблемы. Отличный вопрос!
pallevillesen

Ответы:

12

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

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

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

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

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

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

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


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


Обновить:

Так что, если моя модель (т.е. мой параметр настройки в этом случае) не проходит внешнюю проверку, что мне тогда делать?

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

Мои рекомендации:

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

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

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

cbeleites поддерживает Монику
источник
1
Я согласен, терминология поезд / тест / валидация не очень интуитивна
М. Берк
3

К

λλ

«Отслеживание данных» или, как я мог бы назвать «исследовательский анализ данных», не имеет отношения к заранее заданному вопросу. Вы как бы перечисляете ряд возможных, правдоподобно интересных результатов и оцениваете их индивидуально. Вы можете выполнить любое количество поисковых анализов и, как правило, вам не нужно беспокоиться о множественном тестировании. Вы можете оценить каждый исследовательский анализ в отдельности, используя перекрестную проверку, но он не учитывает множественное тестирование, если у вас более 1 исследовательского анализа. Гипотезы в этой ситуации могут быть довольно широкими и далеко идущими, "какие факторы связаны с раком простаты?" (из которых потребление кофе, использование вазэктомии и т. д. измерялось в когорте). Значительные результаты рассматриваются как «генерация гипотез» и не дают подтверждающих доказательств.

К

Adamo
источник
λλ
1
@Anh: настройка λ путем перекрестной проверки сама по себе неплоха. Но при этом вы «использовали» эту перекрестную проверку для настройки λ, и вам нужна другая проверка, которая не зависит от моделирования, включая процесс настройки λ. Не делать эту внешнюю проверку ПЛОХО. Если этот конкретный λ не работает «снова» (например, для другого разделения данных), ваша оптимизация не сработала. В этой ситуации вы также обычно увидите большую разницу между результатами внешней проверки и наблюдаемой «наилучшей» производительностью во время настройки.
cbeleites поддерживает Монику
@cbeleites Итак, если моя модель (т.е. в этом случае мой параметр настройки) не проходит внешнюю проверку, что мне тогда делать? Я не могу вернуться и найти другой параметр настройки, потому что по сути это превращает внешнюю проверку в набор тестов настройки. Так что делать?
Гейзенберг
λ
λК
1

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

Jerorx
источник
Если набор проверки и набор тестов отличаются, это имеет смысл для меня. Тем не менее, в книге, которую я прочитал (Hastie et al. Не менее), они утверждают, что использование теста на вынос является дорогостоящим (мы не используем большое количество данных для обучения), поэтому они рекомендуют k-кратную перекрестную проверку, в котором я не думаю, что есть отдельный набор тестов.
Гейзенберг
1
@Anh: оба разделения можно выполнить путем повторной выборки (например, повторной перекрестной проверки) вместо того, чтобы откладывать только один небольшой набор данных.
cbeleites поддерживает Монику
@Anh: В к-кратной перекрестной проверке вы делите k раз исходный тренировочный набор на меньший тренировочный набор и проверочный набор. Оригинальный набор тестов не задействован и используется только в конце.
Jerorx
0

Если вы посмотрите, например, на страницу 225 «Введение в статистическое обучение» с примером Лассо, вы увидите, что на самом деле они проводят перекрестную проверку. Т.е. выбор модели делается cv.glmnetна trainнаборе, который разделен на cv.glmnetпакет в поезде тестовых пар. Проверка модели выполняется на testнаборе проверки (" "), поэтому она является независимой проверкой.

Дима Литуев
источник