Я немного читал об улучшении алгоритмов для задач классификации и Adaboost в частности. Я понимаю, что цель Adaboost состоит в том, чтобы взять нескольких «слабых учеников» и, через набор итераций по обучающим данным, подтолкнуть классификаторы к тому, чтобы научиться предсказывать классы, в которых модели (ы) постоянно допускают ошибки. Однако мне было интересно, почему так много чтений, которые я сделал, использовали деревья решений в качестве слабого классификатора. Есть ли для этого особая причина? Существуют ли определенные классификаторы, которые делают особенно хороших или плохих кандидатов на Adaboost?
machine-learning
classification
algorithms
boosting
kylerthecreator
источник
источник
Ответы:
Я говорил об этом в ответе на связанный с этим вопрос . Деревья решений, как правило, очень хорошо подходят для повышения, гораздо больше, чем другие алгоритмы. Пуля / сводная версия такова:
источник
У меня нет ответа из учебника. Однако вот некоторые мысли.
Повышение можно увидеть в прямом сравнении с упаковкой. Это два разных подхода к решению проблемы смещения дисперсии. В то время как у студентов с мешками слабые ученики, некоторые ученики с низким смещением и высокой дисперсией усредняют ансамбль с мешками, уменьшая дисперсию для небольшого смещения. Повышение с другой стороны хорошо работает с разными слабыми учениками. Стимулирующие слабые ученики имеют высокий уклон и низкую дисперсию. Выстраивая одного ученика поверх другого, стимулирующий ансамбль пытается уменьшить смещение для небольшой дисперсии.
Как следствие, если вы рассматриваете, например, использование мешков и бустинга с деревьями в качестве слабых учеников, лучший способ использовать это маленькие / короткие деревья с бустингом и очень подробные деревья с багингом. Вот почему очень часто процедура повышения использует пень решения как слабого ученика, который является кратчайшим деревом (одно условие if в одном измерении). Этот пень решения очень устойчив, поэтому он имеет очень низкую дисперсию.
Я не вижу смысла использовать деревья с процедурами повышения. Однако короткие деревья просты, легко реализуемы и понятны. Тем не менее, я думаю, что для того, чтобы быть успешным в процедуре повышения, ваш слабый ученик должен иметь низкую дисперсию, должен быть жестким, с очень малой степенью свободы. Например, я не вижу смысла иметь слабого ученика в нейронной сети.
Кроме того, вы должны заметить, что для каких-то процедур повышения, например, для повышения градиента, Брейман обнаружил, что если слабый ученик - это дерево, то можно провести некоторую оптимизацию в том, как работает повышение. Таким образом, у нас есть градиентные деревья. В книге ESTL есть хорошее представление о повышении.
источник