Pour moi, c'est une série de si-sinon. Pourquoi est-ce que je n'utilise pas simplement if-else au lieu d'utiliser un arbre de décision?
Tu as tout à fait raison. Un arbre de décision n'est rien d'autre qu'une série d'instructions if-else. Cependant, c'est la façon dont nous interprétons ces déclarations comme un arbre qui nous permet de construire ces règles automatiquement ...(X1,y1) , . . . , (XN,yN)... quel est le meilleur ensemble de règles qui décrit quelle valeur y a donné une nouvelle entrée X? ID3 et similaires nous permettent de créer automatiquement ces règles. Il ne s'agit pas vraiment de l'arbre une fois construit, mais de la façon dont nous l'avons créé.
En dehors de cela, on n'utilise presque jamais un arbre de décision seul, la raison étant précisément ce que vous dites: c'est un modèle assez simpliste qui manque d'expressivité. Cependant, il a un gros avantage sur les autres modèles: on peut calculer un seul arbre de décision assez rapidement. Cela signifie que nous pouvons trouver des algorithmes qui entraînent de nombreux arbres de décision (boosting, alias AdaBoost et GradientBoosting) sur de grands ensembles de données. Ces collections (généralement plus de 500) de ces modèles simplistes (appelés forêt) peuvent alors exprimer des formes beaucoup plus compliquées.
Vous pouvez également l'imaginer comme ceci: étant donné une fonction «agréable» (c'est-à-dire continue) mais compliquée F: [ a , b ] → Rnous pourrions essayer d'approximer cette fonction en utilisant des lignes. Si la fonction est compliquée (commes i n ( x )ou alors) alors nous produisons une grosse erreur. Cependant, nous pourrions combiner les lignes de la façon dont nous divisons l'intervalle[ a , b ] en plus petites pièces a =une0<une1< . . . <uneM= b et sur chaque uneje,unei + 1 nous essayons d'approximer F|(uneje,unei + 1) (C'est, Flimité à cet intervalle) par une ligne. En mathématiques de base (analyse), nous pouvons alors approximer la fonction arbitrairement proche (c'est-à-dire faire une erreur arbitrairement petite) si nous prenons suffisamment de lignes. Par conséquent, nous avons construit un modèle compliqué mais précis à partir de modèles très simples. C'est exactement la même idée que (par exemple) GradientBoosting utilise: Il construit une forêt à partir d'arbres à décision unique très «stupides».