Внутренняя и внешняя перекрестная проверка и выбор модели

26

Насколько я понимаю, с помощью перекрестной проверки и выбора модели мы пытаемся решить две проблемы:

P1 . Оцените ожидаемую потерю населения при обучении с нашей выборкой

P2 . Измерьте и сообщите нашу неопределенность этой оценки (дисперсия, доверительные интервалы, отклонения и т. Д.)

Стандартная практика, как представляется, заключается в проведении повторной перекрестной проверки, поскольку это уменьшает дисперсию нашей оценки.

Однако, когда дело доходит до отчетности и анализа, я понимаю, что внутренняя проверка лучше, чем внешняя проверка, потому что:

Лучше сообщить:

  • Статистика нашего оценщика, например, его доверительный интервал, дисперсия, среднее и т. Д. Для полной выборки (в данном случае выборка CV).

чем отчетность:

  • Потеря нашей оценки на удерживающем подмножестве исходного образца, так как:

    (i) Это будет одно измерение ( даже если мы выберем нашу оценку с CV )

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

Это верно? Если нет, то почему?

Задний план:

Легко найти учебники, которые рекомендуют разделить ваш образец на два набора:

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

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

Вложенный K-сгиб против повторного K-сгиба:

В принципе можно объединить удержание с обычным K-сгибом, чтобы получить вложенный K-сгиб . Это позволило бы нам измерить изменчивость нашей оценки, но мне кажется, что для того же числа всех обученных моделей (общее количество сгибов) повторное K-кратное вычисление даст оценки, которые менее смещены и более точны, чем вложенные K- фолд. Чтобы увидеть это:

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

Что не так с этим рассуждением?

Амелио Васкес-Рейна
источник
1
Я подправил твой заголовок, чтобы он более точно соответствовал тому, что, как я понял, ты хочешь знать. Я думаю, что вы, скорее всего, получите информацию, которая вам нужна таким образом. Не стесняйтесь изменить его обратно, если вы не согласны. Также обратите внимание, что этот поток автоматически стал CW из-за большого количества правок. Если вы не хотите, чтобы это был CW, пометьте это для внимания модератора; должно быть возможно полностью изменить это (я думаю).
gung - Восстановить Монику
1
Спасибо @gung. Мое единственное беспокойство заключается в том, что некоторые люди могут спутать удержание с 2-кратным CV , с этим, я думаю, что внутреннее по сравнению с внешним CV, как в Steyerberg03, является более ясным
Амелио Васкес-Рейна

Ответы:

20

Позвольте мне добавить несколько моментов к хорошим ответам, которые уже здесь:

Вложенный K-сгиб против повторного K-сгиба: вложенный и повторный K-сгиб - это совершенно разные вещи, используемые для разных целей.

  • Как вы уже знаете , вложенный - это хорошо, если вы хотите использовать внутренний cv для выбора модели.
  • повторяется: IMHO, вы всегда должны повторять k-fold cv [см. ниже].

Поэтому я рекомендую повторить любую вложенную k-кратную перекрестную проверку .

Лучший отчет «Статистика нашего оценщика, например, его доверительный интервал, дисперсия, среднее и т. Д. По полной выборке (в данном случае выборка CV)». :

Конечно. Однако вам необходимо знать, что вы не сможете (легко) оценить доверительный интервал только по результатам перекрестной проверки. Причина в том, что, сколько бы вы ни делали повторную выборку, фактическое количество рассмотренных вами случаев конечно (и, как правило, довольно мало - иначе вы бы не беспокоились об этих различиях).
См., Например, Bengio, Y. and Grandvalet, Y .: Нет объективной оценки дисперсии K-Fold Cross-Validation Journal of Machine Learning Research, 2004, 5, 1089-1105 .

N

Nσ2(п^)знак равно1Nп(1-п)пп^Nпзнак равно0,5
C. Beleites, R. Salzer и V. Sergo: Валидация моделей мягкой классификации с использованием частичного членства в классах: расширенная концепция чувствительности & Co., применяемая для классификации тканей астроцитомы, Chemom. Интелл. Лаборатория Syst., 122 (2013), 12 - 22.

Так что это позволяет мне обернуть вашу аргументацию против удержания :

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

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

1К

Мне кажется, что составление отчетов о тесте на вынос - плохая практика, так как анализ образца резюме более информативен.

Обычно да. Однако также следует помнить, что существуют важные типы ошибок (например, дрейф), которые не могут быть измерены / обнаружены путем проверки с помощью повторной выборки.
См., Например, Esbensen, KH and Geladi, P. Принципы правильной валидации: использование и злоупотребление повторной выборкой для валидации, Journal of Chemometrics, 2010, 24, 168-187.

но мне кажется, что для того же числа всех обученных моделей (общее число сгибов) повторное K-сгиб даст оценки, которые менее смещены и более точны, чем вложенные K-сгибы. Чтобы увидеть это:

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

К-1КN
К

100 итераций дадут только 10 измерений нашей оценки во вложенном K-кратном (K = 10), но 100 измерений в K-кратном (чем больше измерений, тем меньше дисперсия в P2)

Имеет ли это значение, зависит от нестабильности (суррогатных) моделей, см. Выше. Для стабильных моделей это неактуально. Так может быть, делаете ли вы 1000 или 100 внешних повторений / итераций.


И этот документ определенно входит в список для чтения по этой теме: Cawley, GC and Talbot, NLC. О переоснащении при выборе модели и последующем смещении выбора при оценке производительности, Journal of Machine Learning Research, 2010, 11, 2079-2107

cbeleites поддерживает Монику
источник
6

Ключевая ссылка, объясняющая это:

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

Смотрите также:

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

В своей работе я обнаружил, что разделение данных требует обучения и проверки размеров выборки, приближающихся к 10000, чтобы работать удовлетворительно.

Frank Harrell
источник
Фрэнк - Это большие ресурсы. Интересно, как эта информация связана с тем, что @Dan предоставил в своем ответе. Возможно, я неправильно понимаю это, но похоже, что сообщество разделено по этому вопросу.
Амелио Васкес-Рейна
У меня не было времени, чтобы прочитать первое, но что касается второго, я бросил быстрый взгляд, и, похоже, оно полностью соответствует моим статьям. Внимательно посмотрите на раздел «Статистический анализ», и вы увидите, что они описывают тот же процесс выбора функций, который Дикран описывает в посте, который я связал выше. Я предполагаю, что люди, которых они изучали, не делали этого таким образом, и поэтому они находят, что «из-за неадекватной валидации наши избранные исследования опубликовали слишком оптимистичные результаты по сравнению с результатами нашего собственного анализа». Я не думаю, что есть какие-либо разногласия.
Дан Л
4

Это действительно зависит от вашего процесса построения модели, но я нашел этот документ полезным

http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf

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

Еще один полезный ресурс

/stats//a/27751/26589

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

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

Дэн Л
источник
Спасибо, Дэн. Это все интересно. Для простоты мы можем предположить, что мы пытаемся оценить параметры ядра SVM (например, ядра RBF) для двоичной классификации (<~ 10 параметров) и что мы работаем со 100 выборками (например, 20 положительными) из большой популяции.
Амелио Васкес-Рейна
Пара быстрых вопросов. 1) Когда вы строите свои SVM, вы позволяете себе выбирать подмножество из 10 параметров, или вы всегда используете все те, которые вам передали? 2) Вы когда-нибудь рассматривали разные ядра или модели (логистика, случайный лес и т. Д.)? 3) Какое программное обеспечение / пакет вы используете? Встроенные кросс-валидационные реализации различаются, и я хотел бы знать, что вы будете использовать.
Дан Л
Спасибо @Dan - я выполняю поиск по сетке по моделям и параметрам (т.е. ядра и параметры различаются при поиске по сетке). Для каждого эксперимента в сетке поиска я делаю CV (повторная перекрестная проверка в K-кратном порядке). Я использую scikit-learn.
Амелио Васкес-Рейна
1
Спасибо @Dan. Я предполагаю, что мой единственный оставшийся вопрос о вложенной перекрестной проверке - как выбрать модель (так как я получаю разные модели в каждом сгибе внешнего цикла). Для меня было бы нецелесообразно выбирать модель, имеющую наивысший балл в этом внешнем цикле, поскольку модель-победитель в каждом фолде измеряется по разной части набора данных.
Амелио Васкес-Рейна
1
Скажем, у вас есть 3 внешних сгиба. Это означает, что вы выполняете весь процесс построения модели 3 раза, предоставляя вам три разных модели. В конце концов, вы не используете ни одну из этих моделей - чтобы получить окончательную модель, вы запускаете весь процесс построения модели для всех ваших данных (за исключением, возможно, независимого оценочного набора). Похоже, что это приведет к переобучению, но если ваша стратегия построения модели переоснащается, она также должна переопределиться при внешней перекрестной проверке, что приведет к соответственно более высокой оценке ошибки.
Дэн Л,
2

Я думаю, что вы понимаете правильно, оценка потерь, полученных с помощью одного набора тестов на вынос, обычно имеет высокую дисперсию. Выполнив что-то вроде перекрестной проверки K-Folds, вы получите более точное представление о потере, а также о смысле ее распределения.

Обычно есть компромисс: чем больше CV сгибает, тем лучше ваша оценка, но требуется больше вычислительного времени.

Макс С.
источник
Спасибо. Я добавил фоновую часть в ОП, чтобы прояснить свой вопрос.
Амелио Васкес-Рейна