Подтвердить что ты не робот

Помощь в понимании кросс-валидации и деревьев принятия решений

Я читаю "Деревья принятия решений" и "Крест-валидация", и я понимаю обе концепции. Тем не менее, у меня возникли проблемы с пониманием Cross Validation, поскольку оно относится к деревьям принятия решений. По существу перекрестная проверка позволяет вам чередовать обучение и тестирование, когда ваш набор данных относительно невелик, чтобы максимизировать оценку ошибок. Очень простой алгоритм выглядит примерно так:

  • Определите количество сгибов, которые вы хотите (k)
  • Разделите свой набор данных на k складок.
  • Используйте k-1 складки для учебного набора, чтобы построить дерево.
  • Используйте набор тестов для оценки статистики об ошибке в вашем дереве.
  • Сохраните результаты позже
  • Повторите шаги 3-6 для k раз, оставляя разную складку для вашего тестового набора.
  • Средние ошибки в ваших итерациях для прогнозирования общей ошибки.

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

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

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

Любая помощь с этой маленькой морщиной была бы высоко оценена.

4b9b3361

Ответ 1

Проблема, которую я не могу понять, заключается в том, что у вас будет k деревьев решений, которые могут быть немного разными, потому что они могут не разделяться одинаково и т.д. Какое дерево вы выбираете?

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

Что касается выбора конкретного дерева, вы должны запустить еще одно обучение на 100% доступных данных обучения, так как это обычно приведет к получению лучшего дерева. (Недостатком подхода Cross Valence является то, что мы должны разделить [обычно мало] количество данных обучения на "складки", и, как вы намекаете на вопрос, это может привести к деревьям, которые либо накладываются, либо подстраиваются для конкретных экземпляров данных).

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

Ответ 2

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

Для второй части, я думаю, вы запутываете CV с помощью набора проверки, используемого для того, чтобы избежать переопределения дерева путем обрезки node при вычислении некоторого значения функции на набор проверки не увеличивается до/после раскола.

Ответ 3

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

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

Ответ 4

Уже упоминалось, что целью перекрестной проверки является определение модели. Другими словами, перекрестная проверка дает нам оценку погрешности/точности модели, сгенерированной с выбранными "параметрами", независимо от используемых данных. Процесс калибровки корса можно повторить с использованием параметров деферента, пока мы не удовлетворены производительностью. Затем мы можем подготовить модель с лучшими параметрами для всех данных.

Ответ 5

Перекрестная проверка не используется для исключения/обрезки дерева решений. Он использовал, чтобы оценить, насколько хорошо дерево (построенное на всех данных) будет выполняться путем имитации поступления новых данных (путем построения дерева без некоторых элементов так же, как вы писали). Я действительно не имею смысла выбирать одно из деревьев, созданных им, потому что модель ограничена данными, которые у вас есть (и не использовать их все может быть на самом деле хуже, когда вы используете дерево для новых данных).
  Дерево построено по выбранным вами данным (обычно все это). Обрезка обычно выполняется с помощью эвристики (т.е. 90% элементов в node относятся к классу А, поэтому мы не продвигаемся дальше или информационное усиление слишком мало).

Ответ 6

В настоящее время я сталкиваюсь с той же проблемой, и я думаю, что нет "правильного" ответа, поскольку концепции противоречивы, и это компромисс между надежностью модели и интерпретацией модели. Я в основном выбрал алгоритм дерева решений для простоты интерпретации, визуализации и простого практического применения. С другой стороны, я хочу доказать надежность модели с помощью перекрестной проверки. Я думаю, что я буду применять двухэтапный подход: 1. Применять перекрестную проверку в k-кратном порядке, чтобы показать надежность алгоритма с этим набором данных. 2. Использовать весь набор данных для дерева окончательных решений для интерпретируемых результатов.

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