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


36

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

Это обсуждалось и объяснялось во многих потоках (таких как, например, здесь Обучение с полным набором данных после перекрестной проверки?, См. Ответ @DikranMarsupial), и оно мне совершенно ясно. Выполнение только простой (не вложенной) перекрестной проверки как для выбора модели, так и для оценки производительности может дать положительно смещенную оценку производительности. @DikranMarsupial имеет статью 2010 года, посвященную именно этой теме (о переоснащении при выборе модели и о смещении последующего выбора при оценке эффективности ), а раздел 4.3 называется « Пересечение при выборе модели - это действительно реальная проблема на практике? - и бумага показывает, что ответ - да.

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

Вот иллюстрация с использованием моего фактического набора данных. Горизонтальная ось для регрессии гребня. Вертикальная ось является ошибкой перекрестной проверки. Синяя линия соответствует простой (не вложенной) перекрестной проверке с 50 случайными 90:10 тренировочными / тестовыми разбиениями. Красная линия соответствует вложенной перекрестной проверке с 50 случайными разделениями обучения / теста 90:10, где выбирается с помощью внутреннего цикла перекрестной проверки (также 50 случайных разделений 90:10). Линии означают более 50 случайных разбиений, затенения показывают стандартное отклонение.λ ± 1log(λ)λ±1

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

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

Обновить

Это на самом деле это так :-) Это просто , что разница очень мала. Вот увеличение:

Простая и вложенная перекрестная проверка, увеличение

Одна потенциально вводящая в заблуждение вещь состоит в том, что мои панели ошибок (штриховки) огромны, но вложенные и простые резюме могут (и были) проводиться с теми же разделениями обучения / тестирования. Таким образом, сравнение между ними является парным , как намекнул @Dikran в комментариях. Итак, давайте возьмем разницу между вложенной ошибкой CV и простой ошибкой CV (для что соответствует минимуму на моей синей кривой); опять же, в каждом сгибе эти две ошибки вычисляются на одном и том же тестовом наборе. Распределяя эту разницу между тренировочными / тестовыми разделениями, я получаю следующее:50λ=0.00250

Простая и вложенная перекрестная проверка, различия

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

(Я провел всю процедуру пару раз, и это происходит каждый раз.)

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


Я не слишком уверен, что понимаю диаграмму. Не могли бы вы сгенерировать точечный график, показывающий предполагаемую ошибку от вложенной и не вложенной перекрестной проверки по каждой оси (если предположить, что 50 разделений тестового обучения были одинаковыми каждый раз)? Насколько велик набор данных, который вы используете?
Дикран Сумчатый

1
Я создал график рассеяния, но все точки очень близки к диагонали, и трудно отличить их от каких-либо отклонений. Таким образом, вместо этого я вычел простую ошибку CV (для оптимальной лямбды) из вложенной ошибки CV и нанес ее на график во всех разделениях тренировочного теста. Там, кажется, очень маленький, но заметный уклон! Я сделал обновление. Дайте мне знать, если цифры (или мои объяснения) сбивают с толку, я хотел бы, чтобы этот пост был ясным.
говорит амеба, восстанови Монику

В первом абзаце у вас есть модель, выбранная на каждом внештатном наборе ; Должно ли оно быть внутренним ?
Ричард Харди

@RichardHardy Нет. Но я вижу, что это предложение сформулировано не очень четко. Модель «подбирается» на каждом внешнеподготовительном комплекте. Различные модели (например, модели с разными лямбдами) подгоняются к каждому набору для внутреннего обучения, тестируются на наборах для внутреннего тестирования, а затем выбирается одна из моделей на основе всего набора для внешнего обучения. Затем его производительность оценивается с использованием набора для внешнего тестирования. Имеет ли это смысл?
говорит амеба: восстанови

Ответы:


13

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

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

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


2
Если вы используете все данные, то разве не получается эффективно отобразить ошибку обучающего набора? Довольно часто я использую модели классификации, где лучшие модели имеют нулевую ошибку обучающего набора, но ненулевую ошибку обобщения, хотя параметр регуляризации тщательно выбирается.
Дикран Marsupial

1
Несколько тысяч тренировочных моделей или меньше. Какую модель вы используете? По мере того как набор данных становится больше, статистические проблемы уменьшаются, а вычислительные проблемы увеличиваются, как правило. Перекрестная проверка в k-кратном порядке только в k раз медленнее, чем подгонка базовой модели (включая настройку гиперпараметров), поэтому она редко превращается из выполнимой в невыполнимую. K-кратное перекрестное излучение также легко распараллеливается, что я обычно и делаю.
Дикран Marsupial

1
Это просто дает объективную оценку производительности. По существу вложенные CV оценивают эффективность метода подбора модели, включая выбор модели посредством перекрестной проверки. Чтобы получить операционную модель, мы обычно просто повторяем метод, используя весь набор данных, который дает тот же выбор модели, что и «плоская» процедура перекрестной проверки.
Дикран Marsupial

1
Я также сталкивался с проблемой вложенного резюме. Использование непредвзятого вложенного резюме предполагает подбор моделей с меньшими данными. Для 10-кратного CV это равно 81% во вложенном CV против 90% в не вложенном CV. Также тестовый фолд становится 9% против 10% в не вложенном. Создает ли это дополнительное расхождение в оценке модели? Особенно для небольших наборов данных, например, 350 образцов в этом посте. Является ли это «недостатком» при использовании вложенного резюме? Если так, как мы должны решить, использовать ли вложенное резюме в зависимости от размера набора данных? Действительно ценю мнение эксперта, как вы по этому вопросу. Есть ли бумага, связанная с этой проблемой? @Dikran Marsupial
Zesla

2
@zesla Да, это действительно тот случай, когда данных для внутренней перекрестной проверки меньше, что повысит ее дисперсию, однако окончательная модель строится с использованием всего набора данных (включая оценку гиперпараметров). Всегда существует компромисс между смещением и дисперсией в оценке эффективности. Наиболее важно использовать вложенную перекрестную проверку, если набор данных невелик, так как чрезмерная подгонка при выборе модели и смещение представляют большую проблему. В практических приложениях, где гиперпараметров мало, разница может иметь мало практического значения arxiv.org/abs/1809.09446 .
Дикран Сумчатый
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.