Il est plus facile de commencer par votre deuxième question, puis de passer à la première.
Ensachage
Random Forest est un algorithme d'ensachage. Il réduit la variance.
Supposons que vous disposez de modèles très peu fiables, tels que les arbres de décision. (Pourquoi pas fiable? Parce que si vous modifiez un peu vos données, l'arbre de décision créé peut être très différent.) Dans un tel cas, vous pouvez créer un modèle robuste (réduire la variance) grâce à l' ensachage - l'ensachage est lorsque vous créez différents modèles en rééchantillonnant vos données pour rendre le modèle résultant plus robuste.
La forêt aléatoire est ce que nous appelons l'ensachage appliqué aux arbres de décision, mais ce n'est pas différent des autres algorithmes d'ensachage.
Pourquoi voudriez-vous faire ça? Cela dépend du problème. Mais généralement, il est hautement souhaitable que le modèle soit stable.
Booster
L'amplification réduit la variance et réduit également le biais. Il réduit la variance car vous utilisez plusieurs modèles (ensachage). Il réduit le biais en entraînant le modèle suivant en lui indiquant les erreurs commises par les modèles précédents (la partie boosting).
Il existe deux algorithmes principaux:
- Adaboost: c'est l'algorithme original; vous dites aux modèles suivants de punir plus lourdement les observations erronées par les modèles précédents
- Augmentation du gradient: vous entraînez chaque modèle suivant en utilisant les résidus (la différence entre les valeurs prédites et vraies)
Dans ces ensembles, votre apprenant de base doit être faible. Si cela correspond aux données, il n'y aura pas de résidus ou d'erreurs sur lesquels les modèles suivants pourront s'appuyer. Pourquoi ces bons modèles? Eh bien, la plupart des compétitions sur des sites Web comme Kaggle ont été gagnées en utilisant des arbres améliorant le gradient. La science des données est une science empirique, "parce que ça marche" est assez bonne. Quoi qu'il en soit, notez que les modèles de boosting peuvent s'adapter (même si, empiriquement, ce n'est pas très courant).
Une autre raison pour laquelle l'augmentation du gradient, en particulier, est également assez cool: car elle rend très facile l'utilisation de différentes fonctions de perte, même lorsque le dérivé n'est pas convexe. Par exemple, lorsque vous utilisez des prévisions probabilistes, vous pouvez utiliser des éléments tels que la fonction flipper comme fonction de perte; quelque chose qui est beaucoup plus difficile avec les réseaux de neurones (car la dérivée est toujours constante).
[Note historique intéressante: Boosting était à l'origine une invention théorique motivée par la question « pouvons-nous construire un modèle plus fort en utilisant des modèles plus faibles »]
Remarque: Les gens confondent parfois des arbres aléatoires avec des forêts et un gradient, simplement parce que les deux utilisent des arbres de décision, mais ce sont deux familles très différentes d'ensembles.