La forêt aléatoire est-elle un algorithme de boosting?


51

Courte définition du boosting :

Un ensemble d’apprenants faibles peut-il créer un seul apprenant fort? Un apprenant faible est défini comme un classifieur peu corrélé avec la vraie classification (il peut mieux étiqueter des exemples que des suppositions aléatoires).

Définition courte de forêt aléatoire :

Random Forests cultive de nombreux arbres de classification. Pour classer un nouvel objet à partir d'un vecteur d'entrée, placez le vecteur d'entrée sur chacun des arbres de la forêt. Chaque arbre donne une classification et on dit que l'arbre "vote" pour cette classe. La forêt choisit la classification ayant le plus de votes (sur tous les arbres de la forêt).

Une autre courte définition de Random Forest :

Une forêt aléatoire est un méta-estimateur qui adapte un certain nombre de classificateurs d'arbre de décision à différents sous-échantillons de l'ensemble de données et utilise la moyenne pour améliorer la précision prédictive et contrôler le sur-ajustement.

Si je comprends bien, Random Forest est un algorithme de renforcement qui utilise les arbres comme classificateurs faibles. Je sais qu'il utilise également d'autres techniques et les améliore. Quelqu'un m'a corrigé que Random Forest n'est pas un algorithme de boost?

Quelqu'un peut-il élaborer sur cela, pourquoi Random Forest n'est pas un algorithme de boost?


13
Forêts aléatoires est un algorithme d'ensachage: en.wikipedia.org/wiki/Bootstrap_aggregating . Je vous suggère de lire plus que la description la plus courte possible du renforcement pour voir la différence. En stimulant, la stratégie de ré-échantillonnage n'est pas aléatoire.
Marc Claesen

12
Anecdote: dans le texte original de Random Forest, Breiman suggère qu'AdaBoost (certainement un algorithme de renforcement) utilise principalement Random Forest lorsque, après quelques itérations, son espace d'optimisation devient si bruyant qu'il dérive simplement de manière stochastique.

Réponses:


81

Random Forest est un algorithme d'ensachage plutôt qu'un algorithme de boost. Ils sont deux moyens opposés pour obtenir une erreur faible.

Nous savons que l’erreur peut être composée de biais et de variance. Un modèle trop complexe a un biais faible mais une variance importante, tandis qu'un modèle trop simple a une variance faible mais un biais important, les deux conduisant à une erreur élevée mais à deux raisons différentes. Il en résulte que deux manières différentes de résoudre le problème viennent à l’esprit des gens (peut-être Breiman et d’autres): la réduction de la variance pour un modèle complexe ou la réduction des biais pour un modèle simple, qui fait référence à la forêt aléatoire et à la stimulation.

La forêt aléatoire réduit la variance d'un grand nombre de modèles "complexes" à faible biais. Nous pouvons voir que les éléments de composition ne sont pas des modèles "faibles" mais des modèles trop complexes. Si vous lisez à propos de l'algorithme, les arbres sous-jacents sont plantés "un peu" aussi gros que "possible". Les arbres sous-jacents sont des modèles parallèles indépendants. Et une sélection supplémentaire de variables aléatoires est introduite dans celles-ci pour les rendre encore plus indépendantes, ce qui la rend plus performante que la mise en sac ordinaire et donne le nom de "aléatoire".

Tandis que le boosting réduit le biais d’un grand nombre de "petits" modèles à faible variance. Ce sont des modèles "faibles" que vous avez cités. Les éléments sous-jacents ressemblent en quelque sorte à un modèle itératif "en chaîne" ou "imbriqué" sur le biais de chaque niveau. Ce ne sont donc pas des modèles parallèles indépendants, mais chaque modèle est construit sur la base de tous les anciens petits modèles par pondération. C'est ce qu'on appelle "boosting" d'un par un.

Les papiers et livres de Breiman traitent des arbres, de la forêt au hasard et de l’amélioration considérable. Cela vous aide à comprendre le principe de l'algorithme.


26

Une forêt aléatoire n'est pas considérée comme un type d'algorithme d'optimisation.

Comme expliqué dans votre lien de stimulation:

... la plupart des algorithmes de renforcement consistent à apprendre de manière itérative des classificateurs faibles par rapport à une distribution et à les ajouter à un classificateur fort final. Lorsqu'ils sont ajoutés, ils sont généralement pondérés d'une manière qui est généralement liée à la précision des apprenants faibles. Après l'ajout d'un apprenant faible, les données sont repondérées ...

Un exemple de ce processus itératif est adaboost, dans lequel des résultats plus faibles sont améliorés ou repoussés au cours de nombreuses itérations pour que l'apprenant se concentre davantage sur les domaines dans lesquels il s'est trompé et moins sur les observations correctes.

Une forêt aléatoire, en revanche, est une méthode d'ensachage ou de moyennage d'ensemble qui vise à réduire la variance d'arbres individuels en sélectionnant de manière aléatoire (et donc en décorrélant) de nombreux arbres de l'ensemble de données, puis en effectuant une moyenne.


7

C'est une extension de l'ensachage. La procédure est la suivante: vous prenez un échantillon bootstrap de vos données, puis vous l'utilisez pour développer un arbre de classification ou de régression (CART). Ceci est fait un nombre de fois prédéfini et la prédiction est ensuite l'agrégation des prédictions d'arbres individuels, cela pourrait être un vote à la majorité (pour la classification) ou une moyenne (pour la régression). Cette approche s'appelle l'ensachage (Breiman 1994). De plus, la variable candidate pour chaque division de chaqueL’arbre provient d’un échantillon aléatoire de toutes les variables indépendantes disponibles. Cela introduit encore plus de variabilité et rend les arbres plus diversifiés. C'est ce qu'on appelle la méthode du sous-espace aléatoire (Ho, 1998). Comme mentionné, cela produit des arbres très divers qui se traduisent par des arbres hautement indépendants les uns des autres. En raison de l' inégalité de Jensen, nous savons que la moyenne des erreurs de ces prédictions d'arbres sera inférieure ou égale à l'erreur de l'arbre moyen issu de cet ensemble de données. Une autre façon de voir les choses est d'examiner l' erreur quadratique moyenne et de voir comment elle peut être décomposée en parties de biais et de variance (ceci est lié à un problème d'apprentissage supervisé appelé compromis entre biais et variance).). La forêt aléatoire obtient une meilleure précision en réduisant la variance grâce à la moyenne de la prédiction des arbres orthogonaux. Il convient de noter qu'il hérite du biais de ses arbres, ce qui est un problème assez discuté, vérifiez par exemple cette question.


5

Je pense que vous confondez le renforcement en particulier avec les méthodes d'ensemble en général, qui sont nombreuses. Votre "définition" du boosting n'est pas la définition complète, qui est développée dans la réponse de Pat. Si vous souhaitez en savoir plus sur les méthodes d'ensemble, je vous recommande de prendre le livre suivant:

John Elder et Giovanni Seni. Méthodes d'ensemble dans l'exploration de données: améliorer la précision grâce à la combinaison de prévisions . (2010)


3

La forêt aléatoire est une technique d'ensachage et non une technique de boost. En stimulant, comme son nom l'indique, on apprend de l'autre, ce qui stimule l'apprentissage.

Les arbres des forêts aléatoires sont exécutés en parallèle. Il n'y a pas d'interaction entre ces arbres lors de la construction des arbres. Une fois que tous les arbres sont construits, un vote ou une moyenne est pris pour la prédiction de toutes les arbres, selon que le problème est un problème de classification ou de régression.

Les arbres dans les algorithmes de renforcement tels que la machine GBM-Gradient Boosting sont formés de manière séquentielle.

Disons que le premier arbre a été formé et qu'il a fait des prédictions sur les données d'entraînement. Toutes ces prédictions ne seraient pas correctes. Supposons que sur un total de 100 prédictions, le premier arbre se soit trompé de 10 observations. Ces 10 observations auraient désormais plus de poids lors de la construction du deuxième arbre. Notez que l'apprentissage du deuxième arbre a été stimulé par l'apprentissage du premier arbre. D'où le terme boosting. De cette façon, chacun des arbres est construit séquentiellement sur les apprentissages des arbres passés.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.