Я читал различные (казалось бы) противоречивые утверждения, независимо от того, являются ли AdaBoost (или другие методы повышения) менее или более склонными к переобучению по сравнению с другими методами обучения.
Есть ли веские причины верить тому или иному? Если это зависит, от чего это зависит? По каким причинам AdaBoost менее / более склонен к переоснащению?
machine-learning
boosting
blubb
источник
источник
caret
подтверждающих это, но вы можете использовать пакет для перекрестной проверки adaboost, и я обнаружил, что он обычно хорошо обобщает.Ответы:
Как вы говорите, об этом много говорилось, и есть довольно тяжелая теория, которая, как я понимаю, никогда не была полностью понятна. По моему практическому опыту AdaBoost достаточно устойчив к переоснащению, а LPBoost (усиление линейного программирования) тем более (потому что целевая функция требует разреженной комбинации слабых учеников, что является формой контроля производительности). Основные факторы, которые влияют на это:
Сила «слабых» учеников: если вы используете очень простых слабых учеников, таких как пни решений (деревья решений 1-го уровня), то алгоритмы гораздо менее подвержены переобучению. Всякий раз, когда я пытался использовать более сложных слабых учеников (таких как деревья решений или даже гиперплоскости), я обнаруживал, что переоснащение происходит намного быстрее
Уровень шума в данных: AdaBoost особенно склонен к перегрузке на зашумленных наборах данных. В этом случае предпочтительными являются регуляризованные формы (RegBoost, AdaBoostReg, LPBoost, QPBoost).
Размерность данных: мы знаем, что в целом мы испытываем переобучение в многомерных пространствах («проклятие размерности»), и AdaBoost также может пострадать в этом отношении, поскольку это просто линейная комбинация классификаторов, которые сами страдают из проблемы. Трудно определить, насколько он подвержен влиянию других классификаторов.
источник
Я согласен с большинством пунктов, упомянутых в комментарии ТДК. Однако я должен добавить и исправить несколько вещей.
источник