Les forêts aléatoires sont bien connues pour fonctionner assez bien sur une variété de tâches et ont été désignées comme l' homme du cuir des méthodes d'apprentissage . Y a-t-il des types de problèmes ou de conditions spécifiques dans lesquels il faut éviter d'utiliser une forêt aléatoire?
25
Réponses:
En pensant au langage spécifique de la citation, un maroquinier est un multi-outil: une seule pièce de matériel avec beaucoup de petits gadgets cachés. C'est une paire de pinces, un couteau, un tournevis et plus encore! Plutôt que d'avoir à transporter chacun de ces outils individuellement, le maroquinier est un article unique que vous pouvez accrocher à votre pantalon pour qu'il soit toujours à portée de main. C'est pratique , mais le compromis est que chacun des outils de composants n'est pas le meilleur dans son travail. L'ouvre-boîte est difficile à utiliser, les embouts de tournevis sont généralement de mauvaise taille et le couteau ne peut pas faire plus que tailler. Si l'exécution de l'une de ces tâches est critique, vous seriez mieux servi avec un outil spécialisé: un couteau réel, un tournevis réel ou une paire de pinces.
Une forêt aléatoire peut être pensée dans les mêmes termes. La forêt aléatoire donne de bons résultats sur une variété d'ensembles de données et n'est pas incroyablement sensible aux paramètres de réglage. Mais ce n'est pas parfait. Plus vous en savez sur le problème, plus il est facile de créer des modèles spécialisés pour répondre à votre problème particulier.
Il y a quelques cas évidents où les forêts aléatoires auront du mal:
Clarté - Lorsque les données sont très clairsemées, il est très plausible que pour certains nœuds, l'échantillon amorcé et le sous-ensemble aléatoire d'entités collaborent pour produire un espace d'entités invariant. Il n'y a pas de partage productif, il est donc peu probable que les enfants de ce nœud soient utiles. XGBoost peut faire mieux dans ce contexte.
Les données ne sont pas alignées sur l'axe - Supposons qu'il existe une frontière de décision diagonale dans l'espace de deux entités,X1 et X2 . Même s'il s'agit de la seule dimension pertinente pour vos données, il faudra un modèle de forêt aléatoire ordinaire comportant de nombreuses divisions pour décrire cette frontière diagonale. En effet, chaque division est orientée perpendiculairement à l'axe de X1 ou X2 . (Cela devrait être intuitif car un modèle de forêt aléatoire ordinaire fait des divisions de la forme X1> 4 .) La forêt de rotation, qui effectue une projection PCA sur le sous-ensemble d'entités sélectionnées pour chaque division, peut être utilisée pour surmonter ce problème: les projections dans une base orthogonale réduiront, en principe, l'influence de la propriété alignée sur l'axe parce que les divisions ne sera plus aligné sur l'axe dans la base d'origine.
Cette image fournit un autre exemple de la façon dont les séparations alignées sur les axes influencent les décisions de forêt aléatoires. La frontière de décision est un cercle à l'origine, mais notez que ce modèle de forêt aléatoire particulier dessine une boîte pour approximer le cercle. Il y a un certain nombre de choses que l'on pourrait faire pour améliorer cette frontière; la plus simple consiste à collecter plus de données et à créer plus d'arbres.
la source
Coins pointus. Exactitude.
Ils utilisent des méthodes de diffusion. Ils correspondent bien aux choses bosselées. Ils ne correspondent pas bien aux choses élaborées et très détaillées lorsque la taille de l'échantillon est faible. J'imagine qu'ils ne réussissent pas bien sur les données de séries temporelles multivariées - quand quelque chose ici dépend de cette seule chose là-bas une distance.
Les forêts boostées par gradient peuvent s'adapter ou sur-ajuster, mais peuvent obtenir des erreurs considérablement plus faibles pour les mêmes données.
Les " maroquiniers " n'existent pas. Il n'y a pas de "balles d'argent". Il existe des boîtes à outils. Connaissez vos outils et prenez-en bien soin afin qu'ils puissent prendre soin de vous. Méfiez-vous de «lorsque vous êtes un marteau, alors chaque problème ressemble à un clou», surtout lorsque vous n'avez pas de bibliothèque dense dans votre boîte à outils.
Tant que vous ne connaissez pas bien le problème, il est facile d'imaginer que quelque chose pourrait le résoudre ou que votre outil préféré pourrait le résoudre. La sagesse suggère d'approfondir la compréhension du problème et de bien connaître vos outils.
Ajouté: Si vous avez suffisamment de ressources de calcul ou de marge de temps pour utiliser autre chose. Le RF est non seulement rapide à former, mais rapide à exécuter. Une structure boostée très profonde en est moins. Vous devez avoir les frais généraux pour soutenir cela.
la source
C'est la première fois que je réponds à une question, alors ne m'épinglez pas dessus, mais je pense pouvoir répondre à votre question:
Si vous êtes en effet uniquement intéressé par les performances du modèle et non par des choses comme l'interprétabilité, la forêt aléatoire est en effet souvent un très bon algorithme d'apprentissage, mais fonctionne légèrement moins bien dans les cas suivants:
1.) Lorsque la dimensionnalité (nombre d'entités) est très élevée par rapport au nombre d'échantillons d'apprentissage, dans ces cas, une régression linéaire régularisée ou SVM serait préférable.
2.) Dans le cas où il y a des représentations / structures convolutionnelles d'ordre supérieur dans les données, comme par exemple dans les problèmes de vision par ordinateur. Dans ces cas de vision par ordinateur, un réseau de neurones convolutionnels surclassera une forêt aléatoire (en général, s'il existe des connaissances, on peut les incorporer à l'apprentissage, ce qui est mieux).
Cela étant dit, la forêt aléatoire est un très bon point de départ. L'une des personnes que j'admire pour ses compétences en Machine Learning commence toujours par l'apprentissage d'une forêt aléatoire et d'un régresseur linéaire régularisé.
Cependant, si vous voulez les meilleures performances possibles, je crois que les réseaux de neurones sont connus de nos jours. Le Deep Learning ressemble à une approche très attractive. De plus en plus de gagnants sur des sites Web de défis de données comme Kaggle utilisent des modèles d'apprentissage profond pour la compétition. Un autre avantage des réseaux de neurones est qu'ils peuvent gérer un très grand nombre d'échantillons (> 10 ^ 6, on peut les former en utilisant un gradient stochastique descendant, en alimentant des bits de données à la fois). Personnellement, je trouve que c'est un pro très attractif pour le Deep Learning.
la source
Tout d'abord, la forêt aléatoire ne peut pas être appliquée aux types de données suivants:
Pour les types de données tabulaires, il est toujours bon de vérifier la forêt aléatoire car:
la source