Types de conditions

Ce module se concentre sur les différents types de conditions utilisés pour créer des arbres de décision.

Alignement à l'axe et conditions obliques

Une condition alignée sur l'axe implique une seule caractéristique. Une condition oblique implique plusieurs caractéristiques. Par exemple, voici une condition alignée sur l'axe:

num_legs ≥ 2

La condition suivante est une condition oblique:

num_legs ≥ num_fingers

Souvent, les arbres de décision sont entraînés uniquement avec des conditions alignées sur l'axe. Cependant, les fractionnements obliques sont plus puissants, car ils peuvent exprimer des modèles plus complexes. Les divisions obliques produisent parfois de meilleurs résultats, mais les coûts d'entraînement et d'inférence sont plus élevés.

Code YDF
Dans YDF, les arbres de décision sont entraînés par défaut avec une condition alignée sur l'axe. Vous pouvez activer les arbres de décision obliques avec le paramètre split_axis="SPARSE_OBLIQUE".

La condition alignée sur l'axe est "num_legs >= 3". La condition oblique est "num_legs + weight * 5 >= 12".

Figure 4. Exemples de condition alignée sur l'axe et d'une condition oblique.

 

Représenter graphiquement les deux conditions précédentes permet de séparer l'espace des caractéristiques comme suit:

Graphique représentant le poids par rapport à num_legs. La condition alignée sur l'axe n'ignore pas la pondération et ne correspond donc qu'à une ligne verticale. La condition oblique montre une ligne en pente négative.

Figure 5. Séparation dans l'espace des caractéristiques pour les conditions de la figure 4

 

Conditions binaires et non binaires

Les conditions ayant deux résultats possibles (par exemple, vrai ou faux) sont appelées conditions binaires. Les arbres de décision ne contenant que des conditions binaires sont appelés arbres de décision binaires.

Les conditions non binaires peuvent avoir plus de deux résultats. Par conséquent, les conditions non binaires ont plus de pouvoir discriminatif que les conditions binaires. Les décisions contenant une ou plusieurs conditions non binaires sont appelées arbres de décision non binaires.

Comparaison des arbres de décision binaires et non binaires. L'arbre de décision binaire contient deux conditions binaires. L'arbre de décision non binaire contient une condition non binaire.

Figure 6: Arbres de décision binaires et non binaires

 

Les conditions avec trop de puissance sont également plus susceptibles de surapprentissage. Pour cette raison, les forêts de décision utilisent généralement des arbres de décision binaires. Ce cours va donc s'y intéresser.

Le type de condition le plus courant est la condition de seuil, exprimée comme suit:

featurethreshold

Exemple :

num_legs ≥ 2

Il existe d'autres types de conditions. Voici d'autres types de conditions binaires couramment utilisés:

 

Tableau 2. Types courants de conditions binaires.

Nom Condition Exemple
condition de seuil $\mathrm{fonctionnalité}_i \geq \mathrm{threshold}$ $\mathrm{num\_legs} \geq 2$
condition d'égalité $\mathrm{feature}_i = \mathrm{value}$ $\mathrm{species} = ``cat"$
condition d'encart $\mathrm{fonctionnalité}_i \in \mathrm{collection}$ $\mathrm{species} \in Dialogflow, `chien", `oiseau"\}$
condition oblique $\sum_{i} \mathrm{weight}_i \mathrm{fonctionnalité}_i \geq \mathrm{threshold}$ 5 $ \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
caractéristique manquante $\mathrm{fonctionnalité}_i \mathrm{is} \mathrm{Manquant}$ $\mathrm{num\_legs} \mathrm{est} \mathrm{Manquant}$