Поиск в сетке по к-кратной перекрестной проверке

16

У меня есть набор данных из 120 образцов в 10-кратной перекрестной проверке. В настоящее время я выбираю обучающие данные первого удержания и делаю 5-кратную перекрестную проверку для этого, чтобы выбрать значения гаммы и C с помощью поиска по сетке. Я использую SVM с ядром RBF. Так как я делаю перекрестную проверку 10 10, чтобы сообщить о точности, вспомните, выполняю ли я этот поиск по сетке в данных тренировки каждой задержки (есть 10 задержек, каждая из которых содержит 10% тестовых и 90% тренировочных данных)? Разве это не будет слишком много времени?

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

user13420
источник
Этот вопрос нуждается в дополнительной информации. Какую модель вы подходите? Что такое гамма и С в этой модели? Кроме того, не могли бы вы дать эту информацию, отредактировав вопрос, а не с комментариями.
вероятностная

Ответы:

14

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

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

Я написал статью об этом год или два назад, так как я был довольно поражен величиной отклонения от полной вложенной перекрестной проверки, которая может легко перекрыть разницу в производительности между системами классификаторов. Статья «О переоснащении при выборе модели и последующем смещении выбора при оценке эффективности» Гэвин К. Коули, Никола Л. К. Тэлбот; JMLR 11 (июль): 2079-2107, 2010.

По сути, настройка гиперпараметров должна рассматриваться как неотъемлемая часть подбора модели, поэтому каждый раз, когда вы тренируете SVM на новой выборке данных, независимо настраивайте гиперпараметры для этой выборки. Если вы следуете этому правилу, вы, вероятно, не ошибетесь. Чтобы получить объективную оценку производительности, стоит потратить вычислительные средства, так как в противном случае вы рискуете сделать неверные выводы из своего эксперимента.

Дикран Сумчатый
источник
1
Мой личный опыт заставил меня также очень осторожно относиться к таким источникам перегрузки.
cbeleites поддерживает Монику
6

Выполнив поиск по сетке для каждой суррогатной модели, вы можете и должны проверить несколько вещей:

  • изменение оптимизированных параметров (здесь и C ). Являются ли оптимальные параметры стабильными? Если нет, то вы, скорее всего, попали в беду.γC
  • Сравните заявленные показатели внутренней и внешней перекрестной проверки.
    Если внутренняя (то есть настраиваемая) перекрестная проверка выглядит намного лучше, чем внешняя (проверка окончательной модели), то у вас тоже проблемы: вы перегружены. Существует значительный риск того, что настроенные параметры не являются оптимальными вообще. Однако, если внешняя перекрестная проверка выполняется правильно (все тестовые наборы действительно независимы от соответствующих суррогатных моделей), то, по крайней мере, у вас все еще будет объективная (!) Оценка производительности модели. Но вы не можете быть уверены, что это оптимально.
  • Насколько выражен оптимум? Быстро ли ухудшается производительность при неоптимальных параметрах? Насколько хороша оптимальная производительность?

Существует много сказать о переоснащении по выбору модели. Тем не менее, следует иметь в виду, что как дисперсия, так и оптимистический уклон могут действительно повредить

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

Если вам интересен пример и вы можете читать по-немецки, я мог бы опубликовать свою дипломную работу в Интернете.

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

Теперь, если вы понимаете, что переоснащаете себя, у вас есть в основном два варианта:

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

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

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

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

Некоторые похожие мысли по похожему вопросу: /stats//a/27761/4598


О фиксации параметров и комментариях Дикрана Марсупиала

Я использую термин гиперпараметры, как Дикран Марсупиал использует его в своей статье (ссылка в его ответе)

Я работаю со спектроскопическими данными. Это своего рода измерение, когда анализ и моделирование данных часто включает в себя довольно много предварительной обработки. Это можно рассматривать как гиперпараметры (например, какой порядок полинома следует использовать для базовой линии? Какие каналы измерения следует включить?). Есть другие решения, которые ближе к вашим параметрам SVM, например, сколько основных компонентов использовать, если PCA делается для уменьшения размерности до обучения «реальной» модели? И иногда я также использую классификацию SVM, поэтому мне приходится выбирать параметры SVM.

Теперь, IMHO, лучший способ исправить гиперпараметры, если у вас есть причины, которые приходят из приложения. Например, я обычно решаю, какую базовую линию использовать по физическим / химическим / биологическим причинам (т. Е. Знание об образце и спектроскопическом поведении, которое следует из этого). Тем не менее, я не знаю такой аргументации, которая помогает с параметрами SVM ...

Случай предварительных экспериментов, о которых я упоминал выше, выглядит следующим образом:

  • мы берем данные группы клеток (хотим различать разные клеточные линии).
  • Спектры анализируются, запускается повторная двойная перекрестная проверка SVM (провел ночь или две на вычислительном сервере).

    • γC
    • Я также наблюдаю некоторое переоснащение: внешняя перекрестная проверка не так хороша, как результаты настройки. Это как и ожидалось.
    • Тем не менее, существуют различия в производительности в диапазоне настройки гиперпараметров, и производительность в сетке настройки выглядит достаточно плавной. Хорошо.
  • Мой вывод таков: хотя я не могу быть уверен, что окончательные гиперпараметры являются оптимальными, внешняя перекрестная проверка дает мне правильную оценку эффективности суррогатных моделей.

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

  • Мы улучшаем экспериментальные настройки и приобретаем новые спектры. Как клетки, они должны быть выращены в свежем виде. Т.е. новый набор данных - это даже независимые партии культур.

Теперь я сталкиваюсь с решением: должен ли я «пропустить» внутреннюю перекрестную проверку и просто использовать гиперпараметры, которые я определил для старых данных?

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

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

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

cbeleites поддерживает Монику
источник
извините за необходимость понизить этот ответ, но использование предварительно заданных значений для гиперпараметров не является хорошей практикой, так как оптимальное обобщение зависит от соответствующих настроек для этих параметров, которые будут варьироваться от набора данных к набору данных (и для проблем будет мало данных из выборки к образцу). Поиск по сетке перед экспериментом еще хуже, поскольку он приводит к точно такой же форме смещения, которая обсуждалась в моей статье. Для SVM проблема разделения данных дважды не применима, так как вы можете использовать виртуальную перекрестную проверку по принципу «оставь один раз» в качестве критерия выбора модели во внутреннем резюме, почти бесплатно.
Дикран Сумчатый
Однако проверка на изменение оптимизированных параметров является отличным предложением. Если у вас достаточно данных, чтобы параметры и гиперпараметры могли быть надежно оценены на основе этих данных, то смещение, о котором я упоминаю в своей статье, вероятно, не будет слишком большой проблемой. Однако, если существует большая изменчивость в оптимизированных значениях гиперпараметров из-за небольшого набора данных, то это именно та ситуация, когда вложенная перекрестная проверка и другие подобные строгие подходы действительно необходимы, чтобы избежать существенных отклонений в оценке производительности.
Дикран Сумчатый
@DikranMarsupial: Я объяснил свое прошлое немного более ясно, взгляните. Кроме того, я читаю вашу статью более тщательно. Я думаю, что наши пункты не так уж далеко друг от друга. Если хотите, давайте встретимся в чате - у меня есть куча вопросов о вашей газете ...
cbeleites поддерживает Монику
@DikranMarsupial: (к сожалению, для большинства моих данных я не могу использовать аналитические опущенные, поскольку у меня есть вложенные / иерархические структуры данных). Кроме того, я столкнулся с некоторыми ужасными сюрпризами с опцией «оставь один», поэтому я делаю повторную проверку с использованием k-fold или out-of-bootstrap. Однако это не по теме для этого вопроса.
cbeleites поддерживает Монику
@DikranMarsupial: Если оптимизированные параметры нестабильны, у меня все равно проблемы. Конечно, тогда я не могу сделать вывод, что могу использовать эти параметры для новых данных. Но также я бы не назвал их (какой из множества наборов параметров?) Оптимальными для окончательной модели ... Я видел, что оптимизация была совершенно дикой, но это всегда сопровождалось очень завышенными оптимистическими результатами внутренней (настраиваемой) проверки. , И это я могу измерить, сравнивая внешнюю перекрестную проверку с оценкой внутренней перекрестной проверки оптимальной модели. Обновил ответ соответственно.
cbeleites поддерживает Монику
5

γCkterr(γ,C)γCγ,C{2nl,2nl+1,,2nu}γ

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

γ(pσ)1pγCC

muratoa
источник
Итак, допустим, у меня есть набор данных со 120 выборками. Должен ли я найти гамму и C изначально, используя 120 образцов. Затем проведите 10-кратную перекрестную проверку с использованием той же гаммы и C для удержаний k при использовании 90% данных для обучения и 10% данных для проверки? Не значит ли это, что я использовал один и тот же тренировочный набор для получения гаммы и С, а часть образцов также находится на испытательном наборе?
user13420
γC
(γ,C)(γ,C)(γ,C)
2
λβ
2
λβλββ(λ)