Я не могу придумать достаточно четкого объяснения в данный момент, поэтому я оставлю это кому-то другому; однако перекрестная проверка не полностью преодолевает проблему избыточной подгонки при выборе модели, она лишь уменьшает ее. Ошибка перекрестной проверки не имеет пренебрежимо малой дисперсии, особенно если размер набора данных мал; другими словами, вы получаете немного другое значение в зависимости от конкретной выборки данных, которые вы используете. Это означает, что если у вас много степеней свободы при выборе модели (например, множество функций, из которых можно выбрать небольшое подмножество, много гиперпараметров для настройки, много моделей, из которых можно выбирать), вы можете переопределить критерий перекрестной проверки. поскольку модель настроена способами, которые используют это случайное изменение, а не способами, которые действительно улучшают производительность, и вы можете получить модель, которая работает плохо. Для обсуждения этого см.Коули и Тэлбот "О переоснащении при выборе модели и последующем смещении выбора при оценке эффективности", JMLR, vol. 11, с. 2079-2107, 2010
К сожалению, перекрестная проверка, скорее всего, подведет вас, когда у вас небольшой набор данных, и именно тогда вам больше всего нужна перекрестная проверка. Обратите внимание, что перекрестная проверка в k-кратном порядке, как правило, более надежна, чем перекрестная проверка с исключением одного, поскольку она имеет меньшую дисперсию, но может быть более дорогой для вычисления для некоторых моделей (именно поэтому LOOCV иногда используется для выбора модели, хотя он имеет высокую дисперсию).
У меня была одна мысль, что перекрестная проверка - это просто применение другой (неявной) модели для данных. Это можно показать с помощью «двоюродного брата» CV, непараметрического начального загрузчика (который основан на модели процесса Дирихле с концентрационным параметром 0).
вероятностная
Интересная идея. Я считаю, что (для интересующих меня моделей) разделение на параметры и гиперпараметры является вычислительным, а не логическим; гиперпараметры по-прежнему являются параметрами, которые необходимо адаптировать к данным, и то, что это делается косвенно с помощью перекрестной проверки, на самом деле не меняет этого. В последней статье я исследовал настройку параметров, которые обычно являются гиперпараметрами модели ядра, с использованием критерия обучения и добавления дополнительного члена регуляризации, чтобы избежать наложения критерия выбора модели (LOOCV), и он работал довольно хорошо.
Дикран Сумчатый
1
Почему k-кратное резюме дороже, чем увольнение? Мой опыт (и моя интуиция) говорят об обратном. Так как в k-кратном CV мы делаем k тестов, где бы ни в L1O, мы делаем N (>> k) тестов, и обычно обучающая часть занимает больше времени из-за некоторой инверсии матрицы, так не является ли L1O дорогим вариантом?
Джефф
1
Исключение одного может быть выполнено (или приближено) как побочный продукт подгонки модели ко всему набору данных при очень небольших дополнительных затратах для широкого диапазона моделей (например, линейная регрессия). Я отредактирую ответ, чтобы сделать это более понятным.
Дикран Сумчатый
Насколько я понимаю, оставляем один раз, что это k-кратное CV - лучшая, но наиболее затратная в вычислительном отношении форма k-кратного CV, где k = размер набора данных.
Даниэль Винтерштейн
10
Мой ответ скорее интуитивный, чем строгий, но, возможно, он поможет ...
Насколько я понимаю, переоснащение - это результат выбора модели, основанного на обучении и тестировании с использованием одних и тех же данных, когда у вас есть гибкий механизм подбора: вы подбираете свою выборку данных так близко, что вы подбираете шум, выбросы и все другая разница.
Разделение данных в обучающий и тестовый набор не позволяет вам сделать это. Но статическое разделение не использует ваши данные эффективно, и само разделение может быть проблемой. Перекрестная проверка сохраняет преимущество «не вознаграждать за точное соответствие данным обучения» в разделении обучения и тестирования, а также использует данные, которые у вас есть, максимально эффективно (т. Е. Используются все ваши данные). как данные обучения и тестирования, только не в том же прогоне).
Если у вас есть гибкий механизм подбора, вам нужно ограничить выбор модели так, чтобы он не способствовал «идеальному», а сложному подбору. Вы можете сделать это с помощью AIC, BIC или другого метода наказания, который прямо штрафует за сложность, или вы можете сделать это с помощью CV. (Или вы можете сделать это, используя метод подбора, который не очень гибок, что является одной из причин, по которым линейные модели хороши.)
Другой способ взглянуть на это состоит в том, что обучение - это обобщение, а слишком тесная подгонка в некотором смысле не обобщает. Изменяя то, на чем вы учитесь и на чем вы тестируете, вы обобщаете лучше, чем если бы вы только узнали ответы на определенный набор вопросов.
С байесовской точки зрения, я не уверен, что перекрестная проверка делает то, что «правильный» байесовский анализ не делает для сравнения моделей. Но я не уверен на 100%, что это так.
п( Д | МA,я) = ∫п( D , θA| MA,я) гθAзнак равно ∫п( θA|MA,я) P( D |МA,θA,я)гθA
Который называется предварительным прогнозным распределением . В основном это говорит о том, насколько хорошо модель предсказывала данные, которые фактически наблюдались, что и делает перекрестная проверка: «предыдущий» заменяется на «обучающую» модель, а «данные» заменяется «тестированием». данные. Таким образом, если модель B предсказывает данные лучше, чем модель A, ее апостериорная вероятность возрастает относительно модели A. Из этого следует, что теорема Байеса фактически выполнит перекрестную проверку, используя все данные, а не подмножество. Однако я не до конца убежден в этом - кажется, что мы получаем что-то даром.
Еще одна замечательная особенность этого метода заключается в том, что он имеет встроенную «бритву Оккама», определяемую отношением констант нормализации предыдущих распределений для каждой модели.
Однако перекрестная проверка кажется ценной для страшного старого «чего-то другого» или того, что иногда называют «неправильной спецификацией модели». Меня постоянно волнует, имеет ли значение это «что-то другое» или нет, потому что кажется, что оно должно иметь значение - но оно оставляет вас парализованным без решения вообще, когда оно, очевидно, имеет значение. Просто что-то, что вызывает у вас головную боль, но вы ничего не можете с этим поделать - кроме как думать о том, чем может быть это «что-то еще», и пробовать это в своей модели (чтобы оно больше не было частью «чего-то еще») ,
И, кроме того, перекрестная проверка - это способ на самом деле провести байесовский анализ, когда приведенные выше интегралы смехотворно сложны. И перекрестная проверка «имеет смысл» практически для любого - она скорее «механическая», чем «математическая». Так что легко понять, что происходит. И это также, кажется, заставляет вас сосредоточиться на важной части моделей - делать хорошие прогнозы.
Проблема неправильной спецификации модели является ключевой. Байесовские методы (особенно байесовский метод максимизации доказательств) могут очень плохо работать при неправильной спецификации модели, тогда как перекрестная проверка, кажется, работает довольно хорошо почти все время. Прибыль, когда предположения (априоры) являются «правильными», обычно намного меньше штрафа, когда они «неправильны», поэтому перекрестная проверка выигрывает в среднем (так как почти не делает предположений). Это не так интеллектуально удовлетворительно, хотя! ; о)
Дикран Сумчатый
1
@dikran - интересно. Я не уверен, что согласен с тем, что вы говорите. Итак, вы говорите, что если модель неверно определена, то перекрестная проверка с той же моделью лучше, чем использование теоремы Байеса? Я хотел бы увидеть пример этого.
вероятностная логика
@probabiltyislogic Я не думаю, что это особенно новое наблюдение, Расмуссен и Уильямс упоминают об этом на странице 118 своей превосходной книги о гауссовском процессе (хотя по сути это ссылка на аналогичный комментарий в монографии Грейс Вахбы о сплайнах). По сути, предельная вероятность - это вероятность данных с учетом допущений модели, тогда как вероятность XVAL - это оценка вероятности данных, независимо от допущений модели, следовательно, более надежная, когда допущения недействительны. Правильное эмпирическое исследование было бы полезно.
Дикран Сумчатый
@probabilityislogic Я должен добавить, что мне нравится байесовский подход к выбору модели, но я почти всегда использовал перекрестную проверку на практике просто потому, что она обычно дает результаты (статистически) такие же или лучше, чем байесовские подходы.
Дикран Marsupial
Перекрестная проверка выбирает модели, основанные исключительно на прогнозирующей эффективности; предельные вероятности этого не делают - они «учитывают» каждое измерение. В очень больших размерных параметрах это имеет значение - иногда много. Скажем, у вас есть большой вектор предиктораИкся и одномерный ответ Yя, Вам нужна модель дляИксясделать уменьшение размеров полностью байесовским способом. Таким образом, вы указываете совместную модель какр ( уя| Икся, θY) р ( Xя| θИкс), Второе слагаемое имеет гораздо больший вклад в вероятность, поэтому, если модель там преуспевает и укушает ее в прогнозе, предельная вероятность не имеет значения.
Ответы:
Я не могу придумать достаточно четкого объяснения в данный момент, поэтому я оставлю это кому-то другому; однако перекрестная проверка не полностью преодолевает проблему избыточной подгонки при выборе модели, она лишь уменьшает ее. Ошибка перекрестной проверки не имеет пренебрежимо малой дисперсии, особенно если размер набора данных мал; другими словами, вы получаете немного другое значение в зависимости от конкретной выборки данных, которые вы используете. Это означает, что если у вас много степеней свободы при выборе модели (например, множество функций, из которых можно выбрать небольшое подмножество, много гиперпараметров для настройки, много моделей, из которых можно выбирать), вы можете переопределить критерий перекрестной проверки. поскольку модель настроена способами, которые используют это случайное изменение, а не способами, которые действительно улучшают производительность, и вы можете получить модель, которая работает плохо. Для обсуждения этого см.Коули и Тэлбот "О переоснащении при выборе модели и последующем смещении выбора при оценке эффективности", JMLR, vol. 11, с. 2079-2107, 2010
К сожалению, перекрестная проверка, скорее всего, подведет вас, когда у вас небольшой набор данных, и именно тогда вам больше всего нужна перекрестная проверка. Обратите внимание, что перекрестная проверка в k-кратном порядке, как правило, более надежна, чем перекрестная проверка с исключением одного, поскольку она имеет меньшую дисперсию, но может быть более дорогой для вычисления для некоторых моделей (именно поэтому LOOCV иногда используется для выбора модели, хотя он имеет высокую дисперсию).
источник
Мой ответ скорее интуитивный, чем строгий, но, возможно, он поможет ...
Насколько я понимаю, переоснащение - это результат выбора модели, основанного на обучении и тестировании с использованием одних и тех же данных, когда у вас есть гибкий механизм подбора: вы подбираете свою выборку данных так близко, что вы подбираете шум, выбросы и все другая разница.
Разделение данных в обучающий и тестовый набор не позволяет вам сделать это. Но статическое разделение не использует ваши данные эффективно, и само разделение может быть проблемой. Перекрестная проверка сохраняет преимущество «не вознаграждать за точное соответствие данным обучения» в разделении обучения и тестирования, а также использует данные, которые у вас есть, максимально эффективно (т. Е. Используются все ваши данные). как данные обучения и тестирования, только не в том же прогоне).
Если у вас есть гибкий механизм подбора, вам нужно ограничить выбор модели так, чтобы он не способствовал «идеальному», а сложному подбору. Вы можете сделать это с помощью AIC, BIC или другого метода наказания, который прямо штрафует за сложность, или вы можете сделать это с помощью CV. (Или вы можете сделать это, используя метод подбора, который не очень гибок, что является одной из причин, по которым линейные модели хороши.)
Другой способ взглянуть на это состоит в том, что обучение - это обобщение, а слишком тесная подгонка в некотором смысле не обобщает. Изменяя то, на чем вы учитесь и на чем вы тестируете, вы обобщаете лучше, чем если бы вы только узнали ответы на определенный набор вопросов.
источник
С байесовской точки зрения, я не уверен, что перекрестная проверка делает то, что «правильный» байесовский анализ не делает для сравнения моделей. Но я не уверен на 100%, что это так.
Который называется предварительным прогнозным распределением . В основном это говорит о том, насколько хорошо модель предсказывала данные, которые фактически наблюдались, что и делает перекрестная проверка: «предыдущий» заменяется на «обучающую» модель, а «данные» заменяется «тестированием». данные. Таким образом, если модель B предсказывает данные лучше, чем модель A, ее апостериорная вероятность возрастает относительно модели A. Из этого следует, что теорема Байеса фактически выполнит перекрестную проверку, используя все данные, а не подмножество. Однако я не до конца убежден в этом - кажется, что мы получаем что-то даром.
Еще одна замечательная особенность этого метода заключается в том, что он имеет встроенную «бритву Оккама», определяемую отношением констант нормализации предыдущих распределений для каждой модели.
Однако перекрестная проверка кажется ценной для страшного старого «чего-то другого» или того, что иногда называют «неправильной спецификацией модели». Меня постоянно волнует, имеет ли значение это «что-то другое» или нет, потому что кажется, что оно должно иметь значение - но оно оставляет вас парализованным без решения вообще, когда оно, очевидно, имеет значение. Просто что-то, что вызывает у вас головную боль, но вы ничего не можете с этим поделать - кроме как думать о том, чем может быть это «что-то еще», и пробовать это в своей модели (чтобы оно больше не было частью «чего-то еще») ,
И, кроме того, перекрестная проверка - это способ на самом деле провести байесовский анализ, когда приведенные выше интегралы смехотворно сложны. И перекрестная проверка «имеет смысл» практически для любого - она скорее «механическая», чем «математическая». Так что легко понять, что происходит. И это также, кажется, заставляет вас сосредоточиться на важной части моделей - делать хорошие прогнозы.
источник