PC & Mobile

Une vue complète des arbres de décision et SVM dans l'apprentissage automatique

Une vue complète des arbres de décision et SVM dans l'apprentissage automatique


Méthodes basées sur des arbres

Les méthodes basées sur les arbres ont été les techniques de prédilection dans de nombreuses industries avec des cas de prédiction réussis. Ces méthodes sont considérées comme non paramétriques, ne faire aucune hypothèse sur la distribution des données et la structure du vrai modèle. Ils nécessitent moins de nettoyage des données et ne sont pas influencés assez loin par les valeurs aberrantes et la multicolinéarité.

La méthode la plus simple est l’arbre de décision, qui peut être utilisé pour les problèmes de régression et de classification et fournir un outil d'interprétation utile et simple.

Un simple arbre de décision pour prédire les prix de l'immobilier à Chicago, IL

La différence fondamentale entre les arbres de classification et de régression est le type de données de la variable cible. Lorsque notre variable cible est un ensemble discret de valeurs, nous avons un arbre de classification. Pendant ce temps, un arbre de régression a sa variable cible pour être des valeurs continues. Dans les problèmes de classification, nos feuilles sont des étiquettes de classe, tandis que dans les problèmes de régression, nos feuilles sont des cases de valeurs continues de la variable cible. Toutes les observations tombant dans le même bac ont la même valeur prédite. Donc, on pourrait penser: cela ne semble pas correct, car nous avons une valeur différente pour chaque observation. C'est ABSOLUMENT OK. Même lorsque vous utilisez la méthode de régression linéaire, vous estimez également la valeur moyenne attendue des variables de réponse. Vous pouvez également imaginer cette méthode sous la forme d'une régression kNN, dans laquelle vous divisez votre domaine en différentes régions et adaptez des fonctions constantes pour approximer ces régions. En théorie, vous pouvez faire pousser votre arbre pour avoir N tranches de valeurs prédites (pour N observations), mais votre modèle surajustera les données (compromis biais-variance). Ainsi, personne ne ferait cela.

En R, les fonctions reconnaîtront automatiquement les problèmes de régression ou de classification. En attendant, vous devez sélectionner Classifier ou Regressor dans le populaire paquetage Python Sklearn.

Alors, comment fait-on pousser un arbre? Supposons que nos données ont p entrées et une réponse pour chacun des N observations.

Pour construire un arbre de régression:

  1. Considérez tous les points de données, puis sélectionnez une variable de fractionnement j et un point de partage s.
  2. Définir 2 régions R₁ et R₂ basées sur j et s.

3. Chercher la variable de fractionnement j et le point de partage s qui résolvent

Pour tout choix j et s, nous pouvons résoudre la minimisation en trouvant

1547181582 606 Une vue complète des arbres de décision et SVM dans l39apprentissage automatique - Une vue complète des arbres de décision et SVM dans l'apprentissage automatique

Pour chaque variable de fractionnement, il est possible de trouver la meilleure paire de ( j, s ).

4. Après avoir trouvé le meilleur partage, partitionnez les données dans les 2 régions et répétez le processus de division sur chacune des 2 régions.

5. Répétez ce processus sur toutes les régions résultantes.

De toute évidence, nous aurions besoin d’ajuster la taille de l’arbre pour contrôler la complexité du modèle à l’aide de nos données. Une approche simple consiste à scinder les nœuds d’arbre uniquement si la diminution de la somme des carrés due à la scission dépasse certains seuils. Cependant, une meilleure stratégie consiste à développer un arbre de grande taille et à arrêter le processus de fractionnement lorsque la taille minimale du nœud est atteinte. Ce grand arbre est élagué en utilisant élagage à coût complexe. Le critère de complexité des coûts est défini ci-dessous, où T ⊂ T est tout arbre obtenu en élaguant le grand arbre T₀. Nœud m représentant la région Rm et | T | est le nombre de nœuds terminaux dans T.

critère de complexité des coûts

Idée: trouver le sous-arbre T pour chaque α afin de minimiser la complexité des coûts. Grandes valeurs de α → arbres plus petits T.

Pour construire un arbre de classification: La seule différence concerne les critères de scission des nœuds et d'élagage de l'arbre. Ici nous définissons la proportion de classe k observations en noeud m comme ci-dessous.

Ensuite, nous pouvons classer les observations en noeud m classer k qui est la classe majoritaire en noeud m (équivalent à la valeur maximale de 𝝆mk). Il existe différentes mesures Qm (T) d'impureté de nœud que l'on peut utiliser:

Bien que les trois mesures soient similaires, l'entropie croisée et l'indice de Gini sont différenciables, ce qui facilite donc l'optimisation numérique. En outre, ces 2 mesures sont plus sensibles aux modifications des probabilités de nœuds que l’erreur de classification erronée. Ainsi, ils ont tendance à être utilisés pour faire pousser l'arbre. Pour guider l'élagage en fonction de la complexité des coûts, le taux de classification erronée est préférable.

Cependant, un modèle simple comme Decision Tree a tendance à ne pas avoir un bon pouvoir de prédiction. Des méthodes plus compliquées, telles que les forêts aléatoires et le renforcement, donnent généralement de meilleurs résultats, bien qu'il existe un compromis entre interprétabilité et précision des prédictions.

Les forêts aléatoires impliquent la construction de nombreux arbres de décision sur un ensemble d’entraînement initialisé. Lors de la construction des arbres de décision, une sélection aléatoire de m des prédicteurs parmi l'ensemble des p les prédicteurs sont choisis dans chaque division considérée. La scission ne peut utiliser qu’un de ces m prédicteurs sélectionnés. Cette méthode d'ensachage est excellente pour résoudre le problème du choix de quelques candidats forts dans les scissions. Il décorrèle les arbres, ce qui rend les résultats de la moyenne des arbres plus robustes.

XGBoost est synonyme de eXtreme Gradient Boosting, qui met en œuvre les techniques de renforcement de gradient, tout en étant optimisé pour la vitesse et les performances. L'idée stimulante consiste à cultiver des arbres de manière séquentielle, ce qui signifie que chaque arbre est construit sur la base des informations d'arbres précédemment développés. Cependant, XGBoost applique plus de pénalités dans l'équation d'optimisation lors de la mise à jour des arborescences et des résidus que dans la méthode d'optimisation traditionnelle, tout en exploitant la structure matérielle pour accélérer le temps de calcul. Par conséquent, il a été considéré comme le meilleur modèle parmi tous les modèles basés sur des arbres. Cependant, l'interprétation est plus difficile à capturer.

Projetez plusieurs arbres du modèle XGBoost dans un seul arbre
Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close