Можете ли вы тренировать алгоритмы машинного обучения, используя CV / Bootstrap?

34

Этот вопрос может быть слишком открытым, чтобы получить окончательный ответ, но, надеюсь, нет.

Алгоритмы машинного обучения, такие как SVM, GBM, Random Forest и т. Д., Как правило, имеют некоторые свободные параметры, которые, помимо некоторых правил большого пальца, необходимо настраивать для каждого набора данных. Обычно это делается с помощью некоторой техники повторной выборки (начальной загрузки, CV и т. Д.), Чтобы соответствовать набору параметров, дающих наилучшую ошибку обобщения.

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

Что меня беспокоит, так это отсутствие регуляризации. Путем повторной выборки я могу обнаружить, что лучшее количество деревьев, которые нужно вырастить в GBM для этого набора данных, - это 647 с глубиной взаимодействия 4, но насколько я могу быть уверен, что это будет верно для новых данных (при условии, что новая популяция идентично обучающему набору)? Без разумного значения «сокращения» до (или, если хотите, без информативной предварительной информации) повторной выборки кажется лучшим, что мы можем сделать. Я просто не слышу никаких разговоров об этом, поэтому меня удивляет, что я что-то упускаю.

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

богдановской
источник
Резюме можно использовать для разных вещей. Для ясности, когда вы говорите «поиск по сетке» или «настройка гиперпараметра», вы говорите о выборе модели , а не о выборе функции или даже просто об оценке ошибки классификации.
smci

Ответы:

30

На этот вопрос есть однозначный ответ: «Да, безусловно, можно переопределить критерий выбора модели, основанный на перекрестной проверке, и получить модель, которая плохо обобщается! ». На мой взгляд, это, как представляется, не очень ценится, но является существенной ошибкой в ​​применении методов машинного обучения и является основным направлением моих текущих исследований; Я написал две статьи на эту тему

GC Cawley и NLC Talbot, Чрезмерная подгонка при выборе модели и последующая систематическая ошибка выбора при оценке производительности, Journal of Machine Learning Research, 2010. Research, vol. 11, с. 2079-2107, июль 2010 г. ( www )

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

GC Cawley и NLC Talbot, Предотвращение чрезмерной подгонки при выборе модели с помощью байесовской регуляризации гиперпараметров, Journal of Machine Learning Research, том 8, страницы 841-861, апрель 2007 г. ( www )

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

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

Надеюсь это поможет.

PS Беспристрастная оценка производительности и надежный выбор модели действительно могут быть вычислительно дорогими, но по моему опыту это стоит того. Вложенная перекрестная проверка, где внешняя перекрестная проверка используется для оценки производительности, а внутренняя перекрестная проверка для выбора модели является хорошим базовым подходом.

Дикран Сумчатый
источник
Отлично! Похоже, что эти бумаги именно то, что я был после. Спасибо за это.
Богдановист
Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы о бумагах (по электронной почте - я первый автор, и мой адрес электронной почты на бумаге).
Дикран Сумчатый
@DikranMarsupial Как вы различаете переоснащение из-за выбора модели и из-за несоответствия выборки между поездом и тестовыми наборами?
image_doctor
1
В принципе, если использовать синтетический набор данных там, где имеется основополагающая истина, то это прямолинейно, поскольку тогда нет несоответствия выборки; обучающий набор - это просто случайная выборка из базового распределения, и вы можете оценить ошибку по самому распределению, а не по конечной выборке. Однако для наборов данных с реальными словами AFAICS лучше всего справляется с использованием повторной выборки и определения эффекта перебора критерия выбора модели для многих случайных тестовых / тренировочных сплитов.
Дикран Сумчатый
2
К сожалению, он был отклонен, но я пересмотрю его, чтобы учесть комментарии рецензентов (очень полезные) и повторно отправить его в другой журнал.
Дикран Marsupial
7

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

Майкл Р. Черник
источник
Спасибо за ответ. Я отредактировал вопрос, чтобы было ясно, что я не спрашиваю об изменениях в населении между поездом и тестовыми наборами. Я понимаю, что это совершенно другой вопрос, который меня не интересует.
Богдановист
1
+1 В этом случае непредвзятость по сути не имеет значения. Дисперсия оценки перекрестной проверки может быть гораздо более серьезной проблемой. Для критерия выбора модели необходимо, чтобы минимум критерия был надежно близок к минимуму ошибки обобщения (как функция гиперпараметров). Бесполезно, если в среднем оно находится в нужном месте, но разброс минимумов для разных конечных выборок данных повсеместен.
Дикран Сумчатый
1
Конечно, точность - это комбинация смещения и дисперсии, и несмещенная оценка с большой дисперсией не так хороша, как слегка смещенная оценка с небольшой дисперсией. Самая низкая оценка частоты ошибок - это повторное замещение, и она имеет большой уклон. Начальная загрузка 632 и 632+ работает так хорошо, потому что они хорошо справляются с корректировкой смещения без значительного увеличения дисперсии. Вот почему для линейных дискриминантных функций и квадратичных дискриминантных функций они работают намного лучше, чем вариант перекрестной проверки с одним исключением.
Майкл Р. Черник
С ансамблями дерева классификации не было продемонстрировано, что бутстрап работает лучше.
Майкл Р. Черник
1
Возможно, одна из трудностей заключается в том, что переоснащение часто означает разные вещи в машинном обучении и статистике. Мне кажется, что статистики иногда используют перенастройку, чтобы обозначить, что используется модель с большим количеством параметров, чем необходимо, а не слишком близко подходящая к наблюдениям (измеряемая критерием обучения). Я обычно использовал бы «чрезмерно параметризованный» в этой ситуации, и использовал бы «избыточное соответствие», чтобы означать, что модель была слишком близко подобрана к наблюдениям за счет производительности обобщения. Возможно, именно здесь мы можем говорить в разных целях?
Дикран Сумчатый
4

Я подозреваю, что один из ответов здесь заключается в том, что в контексте оптимизации вы пытаетесь найти глобальный минимум noisyфункции затрат. Таким образом, у вас есть все проблемы многомерной глобальной оптимизации и стохастического компонента, добавленного к функции стоимости.

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

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

Я подозреваю, что в реальном мире вы легко можете оказаться в локальном минимуме.

Как вы упомянули, это отдельная проблема, но она все еще оставляет вас открытыми для переоснащения из-за проблем с выборкой, связанных с доступными вам данными, и их связи с реальным базовым распределением пробного пространства.

image_doctor
источник
4

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

е(Икс)ИксИксвыбиратье(Икс)+εεИксеИксвыбиратьИксвыбиратье+ε

ИксвыбиратьИксвыбиратьИксвыбиратье

е

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


источник
4

Да, параметры могут быть «перенастроены» на тренировочные и тестовые настройки во время перекрестной проверки или начальной загрузки. Однако есть несколько способов предотвратить это. Первый простой метод состоит в том, что вы делите свой набор данных на 3 раздела, один для тестирования (~ 20%), один для тестирования оптимизированных параметров (~ 20%) и один для подбора классификатора с заданными параметрами. Это возможно, только если у вас достаточно большой набор данных. В других случаях предлагается двойная перекрестная проверка.

Ромен Франсуа и Флоран Лангрогне, «Двойная перекрестная проверка для классификации на основе моделей», 2006

Spinus
источник