J'ai lu un peu sur le renforcement des algorithmes pour les tâches de classification et Adaboost en particulier. Je comprends que le but d'Adaboost est de prendre plusieurs "apprenants faibles" et, à travers un ensemble d'itérations sur les données de formation, de pousser les classificateurs à apprendre à prédire les classes sur lesquelles le ou les modèles font des erreurs à plusieurs reprises. Cependant, je me demandais pourquoi tant de lectures que j'ai faites ont utilisé des arbres de décision comme classificateur faible. A-t-il une raison particulière pour ceci? Y a-t-il certains classificateurs qui font des candidats particulièrement bons ou mauvais pour Adaboost?
machine-learning
classification
algorithms
boosting
kylerthecreator
la source
la source
Réponses:
J'en ai parlé dans une réponse à une question SO connexe . Les arbres de décision sont généralement un très bon ajustement pour le boosting, bien plus que les autres algorithmes. La version à puce / résumé est la suivante:
la source
Je n'ai pas de réponse textuelle. Voici cependant quelques réflexions.
Le boosting peut être vu en comparaison directe avec l'ensachage. Ce sont deux approches différentes du dilemme de compromis de variance de biais. Alors que l'ensachage a comme apprenants faibles, certains apprenants avec un biais faible et une variance élevée, en faisant la moyenne de l'ensemble d'ensachage, diminuent la variance pour un petit biais. La stimulation, d'autre part, fonctionne bien avec différents apprenants faibles. Les apprenants faibles stimulants ont un biais élevé et une faible variance. En construisant un apprenant au-dessus d'un autre, l'ensemble stimulant essaie de diminuer le biais, pour une petite variance.
Par conséquent, si vous envisagez par exemple d'utiliser l'ensachage et le boosting avec des arbres comme apprenants faibles, la meilleure façon d'utiliser est de petits / courts arbres avec boosting et des arbres très détaillés avec bagging. C'est pourquoi très souvent une procédure de boosting utilise un moignon de décision comme apprenant faible, qui est l'arbre le plus court possible (une seule condition if sur une seule dimension). Ce moignon de décision est très stable, donc il a une très faible variance.
Je ne vois aucune raison d'utiliser des arbres avec des procédures de boost. Cependant, les arbres courts sont simples, faciles à mettre en œuvre et faciles à comprendre. Cependant, je pense que pour réussir avec une procédure de boost, votre apprenant faible doit avoir une faible variance, doit être rigide, avec très peu de degrés de liberté. Par exemple, je ne vois aucun intérêt à avoir comme apprenant faible un réseau neuronal.
De plus, vous devez noter que pour une sorte de procédures de boosting, boosting de gradient par exemple, Breiman a constaté que si l'apprenant faible est un arbre, une certaine optimisation de la façon dont le boosting peut être fait. Nous avons donc des arbres augmentant le gradient. Il y a une belle exposition de boosting dans le livre ESTL.
la source