Вложенная перекрестная проверка - чем она отличается от выбора модели с помощью kfold CV на тренировочном наборе?

10

Я часто вижу людей, говорящих о перекрестной проверке 5x2 как частном случае вложенной перекрестной проверки .

Я предполагаю, что первое число (здесь: 5) относится к числу сгибов во внутренней петле, а второе число (здесь: 2) относится к числу сгибов во внешней петле? Итак, чем это отличается от «традиционного» подхода к выбору и оценке моделей? Под "традиционным" я имею в виду

  • разбить набор данных на отдельную тренировку (например, 80%) и тестовый набор
  • используйте перекрестную проверку в k-кратном порядке (например, k = 10) для настройки гиперпараметра и выбора модели на тренировочном наборе
  • оценить эффективность обобщения выбранной модели, используя набор тестов

Разве 5x2 не одинаковы, за исключением того, что тестовый и тренировочный набор имеют одинаковый размер, если k = 2?


источник
1
Вы правы, в этом случае это то же самое, за исключением того, что он использует 50/50 разделение во внешнем цикле вместо 80/20. Как правило, это дает лучшую оценку производительности обобщения и должно быть предпочтительным, особенно при сравнительно небольших размерах выборки. По моему опыту, даже для вложенного резюме, оценка производительности сильно варьируется. Часто лучше выполнять вложенные CV несколько раз, чтобы получить хорошую оценку производительности обобщения.
Джордж
Спасибо, имеет смысл! Однако для небольших тренировочных наборов я бы, вероятно, увеличил количество сгибов во внутренней и внешней петлях; может уменьшить дисперсию, но также увеличить смещение
В общем, вместо того, чтобы делать вложенное резюме 5x2, я обычно выполняю (k-1) xk, с k = 5 или 10. В случае нескольких выборок вместо увеличения количества сгибов я бы пошел на меньшие значения k ,
Джордж
1
Я думаю, что вы сделали это задом наперед, а не совершенно неправильно, но принятый ответ может не совпадать с источником, на который я собираюсь ссылаться. В «Машинном обучении Python» Рашкой он ссылается на «особый тип вложенной перекрестной проверки, также известный как перекрестная проверка 5x2». Есть включенный рисунок, на котором он показывает, что 2 относится к внутреннему циклу для настройки гиперпараметров, а 5 относится к внешнему циклу для оценки производительности объективной модели. Цветную копию рисунка можно найти в Сценарии 3 здесь: sebastianraschka.com/faq/docs/evaluate-a-model.html
Остин,

Ответы:

13

5x2cv, насколько я видел в литературе, всегда относится к 5-тикратному повторению. Нет вложенности вообще. сделайте 2 раза (50/50 деление между поездом и тестом), повторите это еще 4 раза. 5x2cv был популяризирован в статье Приблизительные статистические тесты для сравнения контролируемых алгоритмов обучения классификации Dietterich как способ получения не только хорошей оценки ошибки обобщения, но также и хорошей оценки дисперсии этой ошибки (для выполнения статистических тестов). )

Жак Вайнер
источник
Спасибо! Знаете ли вы, что обычно делают люди, если внутренние циклы выбирают разные модели, например, если «оптимальный» параметр регуляризации равен lambda = 100 во время одного выбора модели и lambda = 1000 для другой? В этом случае вычисление средней производительности модели будет немного странным, верно !? Вы бы отказались от моделей как «нестабильных»?
3
Внутренний цикл очень вероятно приведет к другому выбору гиперпараметров. Вы не используете вложенную перекрестную проверку для выбора гиперпараметров, только чтобы получить хорошую оценку ошибки обобщения (с наилучшими возможными гиперпараметрами). Вложенный cv используется для выбора между тем или иным алгоритмом. См. Stats.stackexchange.com/questions/136296/… или stats.stackexchange.com/questions/65128/… (среди прочих)
Жак Вайнер,
О, я вижу, тогда это имеет смысл! Я думал, что люди использовали это по-другому. Я думаю, что я могу закрыть вопрос тогда.
2

2 повторения во внешнем цикле означают, что вы повторяете свое 5-кратное резюме 2 раза на всем наборе поездов. Каждый раз деление на складки будет разным.

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

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

lanenok
источник
Хорошая точка зрения. В традиционном подходе (тест / разделение поезда и затем k-кратное CV на тренировочном наборе) у вас есть только 1 кратность для оценки модели, тогда как в 5x2 CV средняя производительность может быть рассчитана из 2 разных кратностей.