При использовании перекрестной проверки для выбора модели (такой как, например, настройка гиперпараметра) и для оценки производительности лучшей модели следует использовать вложенную перекрестную проверку . Внешний цикл предназначен для оценки производительности модели, а внутренний цикл - для выбора наилучшей модели; модель выбирается на каждом внешнем обучающем наборе (с использованием внутренней петли CV), а ее производительность измеряется на соответствующем внешнем испытательном наборе.
Это обсуждалось и объяснялось во многих потоках (таких как, например, здесь Обучение с полным набором данных после перекрестной проверки?, См. Ответ @DikranMarsupial), и оно мне совершенно ясно. Выполнение только простой (не вложенной) перекрестной проверки как для выбора модели, так и для оценки производительности может дать положительно смещенную оценку производительности. @DikranMarsupial имеет статью 2010 года, посвященную именно этой теме (о переоснащении при выборе модели и о смещении последующего выбора при оценке эффективности ), а раздел 4.3 называется « Пересечение при выборе модели - это действительно реальная проблема на практике? - и бумага показывает, что ответ - да.
Несмотря на все сказанное, я сейчас работаю с многомерной множественной регрессией и не вижу никакой разницы между простым и вложенным CV, и поэтому вложенный CV в этом конкретном случае выглядит как ненужная вычислительная нагрузка. Мой вопрос: при каких условиях простое CV даст заметный уклон, которого можно избежать с помощью вложенного CV? Когда вложенное резюме имеет значение на практике, а когда это не так важно? Есть ли какие-то эмпирические правила?
Вот иллюстрация с использованием моего фактического набора данных. Горизонтальная ось для регрессии гребня. Вертикальная ось является ошибкой перекрестной проверки. Синяя линия соответствует простой (не вложенной) перекрестной проверке с 50 случайными 90:10 тренировочными / тестовыми разбиениями. Красная линия соответствует вложенной перекрестной проверке с 50 случайными разделениями обучения / теста 90:10, где выбирается с помощью внутреннего цикла перекрестной проверки (также 50 случайных разделений 90:10). Линии означают более 50 случайных разбиений, затенения показывают стандартное отклонение.λ ± 1
Красная линия плоская, потому что выбирается во внутреннем цикле, а производительность внешнего цикла не измеряется во всем диапазоне . Если бы простая перекрестная проверка была смещена, то минимум синей кривой был бы ниже красной линии. Но это не так.λ
Обновить
Это на самом деле это так :-) Это просто , что разница очень мала. Вот увеличение:
Одна потенциально вводящая в заблуждение вещь состоит в том, что мои панели ошибок (штриховки) огромны, но вложенные и простые резюме могут (и были) проводиться с теми же разделениями обучения / тестирования. Таким образом, сравнение между ними является парным , как намекнул @Dikran в комментариях. Итак, давайте возьмем разницу между вложенной ошибкой CV и простой ошибкой CV (для что соответствует минимуму на моей синей кривой); опять же, в каждом сгибе эти две ошибки вычисляются на одном и том же тестовом наборе. Распределяя эту разницу между тренировочными / тестовыми разделениями, я получаю следующее:50
Нули соответствуют расщеплениям, где внутренний цикл CV также дал (это происходит почти в половине случаев). В среднем, разница имеет тенденцию быть положительной, то есть вложенная CV имеет немного большую ошибку. Другими словами, простое резюме демонстрирует незначительный, но оптимистичный уклон.
(Я провел всю процедуру пару раз, и это происходит каждый раз.)
Мой вопрос заключается в том, при каких условиях мы можем ожидать, что этот уклон будет крошечным, и при каких условиях мы не должны?