При использовании перекрестной проверки для выбора модели (такой как, например, настройка гиперпараметра) и для оценки производительности лучшей модели следует использовать вложенную перекрестную проверку . Внешний цикл предназначен для оценки производительности модели, а внутренний цикл - для выбора наилучшей модели; модель выбирается на каждом внешнем обучающем наборе (с использованием внутренней петли 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 имеет немного большую ошибку. Другими словами, простое резюме демонстрирует незначительный, но оптимистичный уклон.
(Я провел всю процедуру пару раз, и это происходит каждый раз.)
Мой вопрос заключается в том, при каких условиях мы можем ожидать, что этот уклон будет крошечным, и при каких условиях мы не должны?
источник
Ответы:
Я бы предположил, что смещение зависит от дисперсии критерия выбора модели: чем выше дисперсия, тем больше вероятность смещения. Дисперсия критерия выбора модели имеет два основных источника: размер набора данных, по которому он оценивается (поэтому, если у вас небольшой набор данных, тем больше вероятность смещения) и стабильность статистической модели (если параметры модели хорошо оцениваются по имеющимся обучающим данным, у модели меньше гибкости, чтобы перевыполнить критерий выбора модели путем настройки гиперпараметров). Другим важным фактором является количество вариантов выбора модели и / или гиперпараметров, которые необходимо настроить.
В моем исследовании я рассматриваю мощные нелинейные модели и относительно небольшие наборы данных (обычно используемые в исследованиях машинного обучения), и оба эти фактора означают, что вложенная перекрестная проверка абсолютно необходима. Если вы увеличиваете количество параметров (возможно, имея ядро с масштабирующим параметром для каждого атрибута), то чрезмерная подгонка может быть «катастрофической». Если вы используете линейные модели только с одним параметром регуляризации и относительно большим числом случаев (относительно количества параметров), то разница, вероятно, будет намного меньше.
Я должен добавить, что я бы рекомендовал всегда использовать вложенную перекрестную проверку, при условии, что это выполнимо в вычислительном отношении, так как устраняет возможный источник смещения, так что нам (и рецензентам; o) не нужно беспокоиться о том, незначительный или нет.
источник