Можно ли сделать модели CART надежными?


14

Коллега в моем офисе сказал мне сегодня: «Модели деревьев не хороши, потому что их ловят экстремальные наблюдения».

Поиск здесь привел к этой теме, которая в основном поддерживает претензию.

Что приводит меня к вопросу - в какой ситуации модель CART может быть надежной и как это показано?

Ответы:


15

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

http://www.cs.columbia.edu/~rocco/Public/mlj9.pdf

Теперь, в случае деревьев регрессии, можно использовать тот факт, что CART использует маргиналы (или, альтернативно, одномерные проекции): можно вспомнить версию CART, в которой критерий sd заменен более надежным аналогом (MAD или еще лучше, Qn оценщик).

Редактировать:

Недавно я наткнулся на более старую статью, реализующую предложенный выше подход (использующий надежный метод оценки масштаба вместо MAD). Это придаст устойчивость "y" выбросам CART / RF (но не выбросам, расположенным в области проектирования, что повлияет на оценки гиперпараметров модели). См.

Galimberti, G., Pillati, M. & Soffritti, G. (2007). Робастные деревья регрессии на основе М-оценок. Statistica, LXVII, 173–190.


Спасибо, квак. Эта статья, кажется, говорит о методах повышения. Имеют ли они результаты для простого случая классификатора модели CART? (на первый взгляд это звучит так, но я не изучил статью достаточно, чтобы действительно знать)
Tal Galili

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

Спасибо, Квак! И нет ли надежной функции потерь?
Тал Галили

1
нет выпуклой функции потерь. См. Эту статью «Быстрый алгоритм оценки минимального ковариационного определителя» для примера того, что можно сделать с помощью невыпуклых функций потерь (хотя статья не имеет отношения к классификации, ее стоит прочитать).
user603

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

6

Вы можете рассмотреть возможность использования мешков Бреймана или случайных лесов . Одним хорошим примером является Брейман «Предсказатели мешков» (1996). Также резюмируется в «Деревьях классификации и регрессии, расслоении и повышении» Клифтона Саттона в « Справочнике статистики».

Вы также можете увидеть обсуждение Энди Лиу и Мэтью Винером R News пакета randomForest.


2
Не испортить вечеринку, но как случайный лес должен обеспечивать устойчивость к загрязнению выбросами - загадка.
user603

3
@kwak Тем не менее, это хороший ответ; Деревья в РФ не видят всего множества, поэтому многие из них не будут загрязнены. Еще лучше - отслеживание того, какие листья делают OOB, позволяет использовать землю для поиска ошибочно маркированных объектов и их устранения. (Насколько я сейчас помню, это упоминается в статье Бреймана о РФ).

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

3

Если вы посмотрите на пакет «gbm» в R (обобщенное повышение градиента), то для «повышения» используются функции потерь, которые не обязательно означают среднеквадратическую ошибку. Это проявляется в аргументе 'distribution' для функции 'gbm ()'. Таким образом, разработка дерева посредством бустинга будет устойчива к выбросам, подобно тому, как работают М-оценки.

Вы можете начать здесь .

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.