Почему оценка CV тестовой ошибки недооценивает фактическую тестовую ошибку?

10

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

Кроме того, правильно ли говорить, что оценка перекрестной проверки ошибки теста смещена вниз?

Рейчел Коган
источник
1
Где вы видите это заявлено? Можете ли вы дать некоторые ссылки?
horaceT
1
(+1) Я видел то же утверждение, и я верю, что оно правильное, но я тоже не понимаю логику
KevinKim

Ответы:

9

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

Если вы хотите глубже вникнуть в детали: этот ответ ссылается на несколько легко читаемых статей по этой проблеме: Неправильная проверка перекрестной проверки (представление производительности для лучшего значения гиперпараметра)

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

geekoverdose
источник
Опять же, проблема здесь заключается в сообщении об ошибке обучения (обучение, как в: эта оценка используется в процессе получения одной окончательной модели) оценки для ошибки обобщения - независимо от того, была ли эта ошибка вычислена путем перекрестной проверки, удержания или чего-либо еще другой метод оценки ошибок.
cbeleites недоволен SX
1
@cbeleites Опять же, верная точка зрения - я обычно предполагаю, что результаты CV будут каким-то образом использоваться для выбора модели (что для некоторых является причиной использования CV в первую очередь) - поэтому укажите на это. Я обновил свой ответ соответственно.
geekoverdose
9

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

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

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

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

  • Ответ @ geekoverdose дает пример вопиющего использования внутренней ошибки обучения (!) в качестве ошибки теста.
    В более общем плане, любой вид оценки ошибки, используемой для оптимизации модели на основе данных, является ошибкой обучения, так как эта оценка ошибки все еще продолжается.
  • Смешанные переменные не учитываются при расщеплении.
    Одна строка в матрице данных не обязательно представляет собой независимый случай, например
    • Считать повторные измерения одного и того же случая / субъекта / пациента «независимыми»
    • вообще игнорирование / игнорирование сильной кластеризации в данных
    • не зная о продолжающемся дрейфе в процессе генерации данных (будущие неизвестные случаи против просто неизвестных случаев), ...

cbeleites недоволен SX
источник
0

Сначала позвольте мне прояснить термины, используемые в вопросе, насколько я понимаю. Обычно мы начинаем с одного обучающего набора данных, используем перекрестную проверку в k-кратном размере для проверки различных моделей (или наборов гиперпараметров) и выбираем лучшую модель с наименьшей ошибкой CV. Таким образом, «оценка перекрестной проверки ошибки теста» означает использование самой низкой ошибки CV в качестве ошибки теста, а не только ошибку CV случайной модели (что обсуждается в случае cbeleites, но это не то, что мы обычно делаем). «Фактическая ошибка теста», о которой идет речь, - это ошибка, которую мы получаем при применении наилучшей модели CV к бесконечному набору тестовых данных, при условии, что мы можем ее получить. Ошибка CV зависит от конкретного набора данных, который у нас есть, а фактическая ошибка теста зависит от выбранной наилучшей модели CV, которая также зависит от набора данных обучения. Таким образом, разница между ошибкой CV и ошибкой теста зависит от разных наборов обучающих данных. Тогда возникает вопрос: если мы повторим вышеописанный процесс много раз с различными наборами обучающих данных и усредним две ошибки соответственно, почему средняя ошибка CV будет ниже средней ошибки теста, то есть ошибка CV будет смещена вниз? Но до этого всегда ли это происходит?

Обычно невозможно получить много обучающих наборов данных и тестовых наборов данных, содержащих бесконечные строки. Но это можно сделать, используя данные, сгенерированные с помощью моделирования. В главе 7 «Оценка и отбор моделей» книги «Элементы статистического обучения» Тревора Хасти и др. Сюда входит такой имитационный эксперимент.

Вывод заключается в том, что, используя CV или начальную загрузку, «... оценка ошибки теста для конкретного обучающего набора в общем случае непроста, учитывая только данные из этого же обучающего набора». Под «не просто» они подразумевают, что ошибка CV может быть либо занижена, либо переоценена истинная ошибка теста в зависимости от разных наборов обучающих данных, то есть дисперсия, вызванная разными наборами обучающих данных, довольно велика. Как насчет предвзятости? Протестированные ими kNN и линейная модель почти не смещены: ошибка CV переоценивает истинную ошибку теста на 0-4%, но некоторые модели, такие как деревья, перекрестная проверка и загрузочный ремень, могут недооценивать истинную ошибку на 10%, потому что поиск лучшего дерева сильно зависит от набора проверки ".

Подводя итог, можно сказать, что для конкретного набора обучающих данных ошибка CV может быть выше или ниже, чем истинная ошибка теста. Для смещения средняя ошибка CV может варьироваться от немного выше до намного ниже, чем средняя истинная ошибка теста, в зависимости от методов моделирования.

Причина недооценки, как упоминалось выше, заключается в том, что выбор гиперпараметров для наилучшей модели в конечном итоге зависит от конкретного набора обучающих данных, который мы получаем. Немного подробнее. Пусть лучшими гиперпараметрами будет M1 в этом конкретном учебном наборе данных. Но M1 может быть не лучшим гиперпараметром в другом наборе обучающих данных, что означает, что минимальная ошибка CV меньше, чем ошибка CV от M1. Таким образом, ожидаемые ошибки CV, которые мы получаем в процессе обучения, скорее всего, меньше ожидаемой ошибки CV M1. Единственный случай, когда минимальная ошибка CV в конкретном наборе обучающих данных не смещена, - это когда лучшая модель всегда является лучшей, независимо от обучающих наборов данных. С другой стороны, ошибка CV может также немного переоценить истинную ошибку теста, как обсуждалось cbeleites. Это связано с тем, что k-кратная ошибка CV получается при использовании немного меньших обучающих данных для обучения модели (для 10-кратного cv, используйте 90% -ные данные), она смещена вверх относительно истинной ошибки, но не сильно. Таким образом, есть два отклонения, идущие в разных направлениях Поскольку метод моделирования имеет тенденцию к переобучению, использование менее кратного CV, например, 5-кратного по сравнению с 10-кратным, может привести к меньшему смещению.

Все это, как говорится, на практике не очень помогает: обычно мы получаем только один «конкретный» набор данных. если мы оставим от 15% до 30% в качестве тестовых данных и выберем лучшую модель по CV, а в качестве обучающих данных, скорее всего, ошибка CV будет отличаться от ошибки теста, так как обе будут отличаться от ожидаемой ошибки теста. Мы можем быть подозрительными, если ошибка CV намного ниже, чем ошибка теста, но мы не будем знать, какая из них ближе к истинной ошибке теста. Лучшая практика может быть просто представить обе метрики.

Ben2018
источник