Vous êtes sur la page 1sur 12

SBC à partir de règles

SBC historiques : les systèmes experts

Base de connaissances (ensemble des règles)

Les connaissances expertes sont représentées par des règles de la forme :

Si (prémisses) Alors (conclusions)

 Prémisses = conditions de déclenchement de la règle


 Conclusions = effet du tirage de la règle

Base de faits

Les faits décrivent ce qui est vrai dans la situation d’exploitation de la base de règles

Architecture d’un SBC


Classification basée sur des règles

Une règle de classification a la forme “Si X et Y et · · · alors classe est Ci”.

On remarque qu’une règle est formée de plusieurs composantes :

 La prémisse

C’est la partie de la règle située entre le Si et le Alors. Elle est composée de plusieurs “propositions”
´élémentaires (X, Y , etc.) connectées entre elles par des opérateurs logiques (et, ou). Chaque
proposition est interprétée comme “vraie” ou “fausse” d’un point de vue logique, l’´évaluation
globale de la prémisse étant réalisée selon les connecteurs.

 La conclusion

Si la prémisse est évaluée comme “vraie”, une décision sur la classe d’appartenance de l’objet à la
classe Ci.

La plupart des systèmes de classification basés sur des règles associe une classe avec une règle,
c’est–`a–dire que la prémisse de chaque règle d´définit complétement les conditions que doit
satisfaire un objet pour appartenir à la classe concernée.

Les arbres de décision

Un arbre est composé de “nœuds”, “branches” et “feuilles”. Un arbre ne peut pas contenir de
boucles, et une seule branche peut “entrer” dans un nœud.

 Nœuds

Chaque nœud correspond à une question sur unattribut et à un ensemble d’exemples.

Un nœud est une entité qui donne l’accès à une ou plusieurs branches. Le nœud origine de l’arbre,
s’appelle la “racine” (root) de l’arbre.

 Branches

Chaque branche part d’un nœud et correspond àune réponse possible à la question posée en ce
nœud

 L’algorithme CART (Breiman et al., 1984) : 2 branches parnœud


 L’algorithme ID3 (Quinlan, 1986), C4.5 (Quinlan, 1993) :autant de branches que de valeurs
possiblespour l’attribut étudié.

 Feuilles

Nœuds d’où ne part aucune branche ; correspondà une classe.


L’utilisation de la théorie des arbres pour construire un système de classification se fait en respectant
quelques règles de base :

– Chaque nœud de l’arbre contient une condition binaire (qui peut être vraie ou fausse) ou une
comparaison d’un attribut de l’objet avec des valeurs–clé. Les arbres dont les nœuds contiennent
uniquement des conditions binaires s’appellent “arbres binaires”.

– Chaque feuille de l’arbre correspond à une décision. Généralement, une feuille est associée à une
seule classe, mais une classe peut être associée à plusieurs feuilles.

Arbre de décision binaire

Chaque nœud a exactement deux branches qui correspondent aux deux valeurs de vérité possibles,
“vrai” et “faux”, pour les conditions 1 et 2.

La classe C2 est mise en correspondance avec la règle conjonctive :

‘’Si Condition 1 et Condition 2 alors C2".

La classe C1 est mise en correspondance avec une règle qui agrège disjonctivement deux règles
conjonctives :

‘’Si non (Condition 1) ou (Condition 1 et non (Condition 2)) alors C1"


Arbre de décision général

Ses nœuds contiennent une condition binaire (condition 1), mais aussi une condition générale
relative à l’appartenance de la valeur de l’attribut x à l’un des intervalles 1, 2 ou 3.

Les branches des nœuds contenant des conditions non–binaires doivent couvrir tout le domaine de
définition (plus exactement toutes les valeurs possibles de l’attribut analysé) sans se superposer.

Exemple

Si l’attribut x ∈ [0, 3], les trois intervalles peuvent être [0, 1], [1, 2] et [2, 3].

Une superposition des intervalles pourrait mener à une ambiguïté dans la décision finale.

Au contraire, si les valeurs possibles ne sont pas toutes couvertes, le système risque d’échouer dans
sa tâche de classification (situation d’indécision)

Construction d ’arbres de décision : Apprentissage supervisé

 Divide and conquer (TDIDT)

ID3 (Quinlan 1979)

CART (Breiman, et al., 1984)

ASSISTANT (Bratko 1984)

C4.5 (Quinlan 1986)

 Cover and differentiate

CN2 (Clark &Niblett 1983)

AQnn (Michalski et al., 86)


Approche TDIDT (Top Down Induction of DecisionTree)
Les arbres de décision sont des modèles induit à partir d’exemples d’apprentissage.
L’algorithme d’apprentissage est dit Top-Down car il part d’un modèle (vide) qui est ajusté
pour correspondre aux données. Ils se basent sur le partitionnement récursif de l’espace
d’apprentissage.

PROCEDURE Construit_Arbre(T,E)

SI tous les exemples de E sont dans la même classe Ci ALORS

Affecter l'étiquette Ci au nœud courant

SINON

Sélectionner un attribut A (meilleur attribut) avec les valeurs v1...vn

Partitionner E selon v1...vn en E1, ...,En

Pour j=1 à n

Construit_Arbre(Tj, Ej)

FIN

E
T
A={v ...v }
1 n

E=E ∪. ∪E

v v
1 n

1 v n
2

E E
E 2 n
1 T T T
1 2 n

But : obtenir des feuilles où tous les exemples sont de la même classe.
Moyen : trouver le meilleur attribut en chaque nœud. Comment ?
Algorithme ID3 (Iterative Dichotomiser 3)
L’algorithme ID3 a été développé en 1979 par Ross Quinlan. Etant donnée plusieurs attributs, la
décision commence par un de ces attributs (caractéristiques) ; si ce n’est pas suffisant, on utilise un
autre attribut, ainsi de suite. Ainsi, l’algorithme ID3 recherche l’attribut le plus pertinent à tester
pour que l’arbre soit le plus court et optimisé possible. Pour décider quel meilleur attribut choisir afin
de construire l’arbre, l’algorithme ID3 utilise l’Entropie et le Gain d’Information. ID3 s’applique
seulement aux caractéristiques nominales.

Principe

1. Calculer l’Entropie de tous les attributs en utilisant l’ensemble d’apprentissage S .


2. Partitionner l’ensemble S en utilisant l’attribut pour lequel l’entropie est minimum (gain
d’information maximum)
3. Construire le nœud de l’arbre avec cet attribut
4. Recommencer récursivement sur chaque sous arbre avec chaque sous-ensemble

Exemple :Soit l’ensemble d’apprentissage S suivant

Jour Attributs des exemples Classe


Prévisions (Ciel) Température Humidité Vent
1 Ensoleillé Chaud Élevée Faible Non
2 Ensoleillé Chaud Élevée Fort Non
3 Nuageux Chaud Élevée Faible Oui
4 Pluvieux Moyen Élevée Faible Oui
5 Pluvieux Frais Normale Faible Oui
6 Pluvieux Frais Normale Fort Non
7 Nuageux Frais Normale Fort Oui
8 Ensoleillé Moyen Élevée Faible Non
9 Ensoleillé Frais Normale Faible Oui
10 Pluvieux Moyen Normale Faible Oui
11 Ensoleillé Moyen Normale Fort Oui
12 Nuageux Moyen Élevée Fort Oui
13 Nuageux Chaud Normale Faible Oui
14 Pluvieux Moyen Élevée Fort Non
Pour S={J1,J2,J3, ...,J14}, on a :

 9 des 14 exemples donnent la classe Oui, pOui=9/14


 5 sur 14 exemples donnent la classe Non,pNon=5/14

Calcul de l’Entropie
L’entropie initiale de l’ensemble S se calcule comme suit :

Tel que pc représente la proportion d’exemples de S ayant pour classe résultante c.

Entropie(S) = - 0,642 x ln(9/14)/ln(2) - 0,357 x ln(5/14)/ln(2)

Calcul du Gain d’Information


Afin de déterminer l’attribut à tester en premier, il faut calculer le gain d’ infomation. Le gain est défini
par un ensemble d’exemples S et par un attribut. Il sert à calculer ce qu’un attribut ‘A’ apporte au
désordre de l’ensemble S. L’attribut A qui va être testé à un nœud de l’arbre est le nœud qui va le plus
réduire l’entropie.
Attribut Prévisions

L’attribut Prévisions a 3 valeurs possibles : {Ensoleillé, Nuageux, Pluvieux}.


Attribut Vent

L’attribut Vent possède 2 valeurs possibles : {Faible, Fort}.

Attribut Humidité

L’attribut Humidité a 2 valeurs possibles : {Élevée, Normale}.


Attribut Température

L’attribut Température a 3 valeurs possibles : {Chaud, Moyen, Frais}.

Donc :

Le plus grand gain est pour Prévisions. C’est donc l’attribut Prévisions qui est le premier attribut testé
dans l’arbre. En séparant les exemples selon les valeurs de l’attribut Prévisions, on obtient l’arbre partiel :

Lorsque le ciel est nuageux, il reste uniquement des exemples positifs, donc ce nœud devient une
feuille avec une valeur de Oui.

Pour les deux autres nœuds, il y a encore des exemples positifs et négatifs, alors il faut recommencer le
même calcul du gaind'information, mais avec les sous‐ensembles restants.
On détermine pour Ensoleillé quel est le meilleur attribut à tester.

Le plus grand gain est pour ‘’Humidité’ ’tel que Gain(SEnsoleillé, Humidité) = 0.971 = Entropie(SEnsoleillé).
Ainsi, chaque nœud fils de ‘’Humidité’’ sera une étiquette.
On détermine pour Pluvieux quel est le meilleur attribut à tester.

Le plus grand gain est pour ‘’Vent ‘’ tel que Gain (SPluvieux, Vent) = 0.971 = Entropie(SPluvieux). Ainsi,
chaque nœud fils de ‘’Vent’’ sera une étiquette.

Arbre complet et optimisé généré par l’algorithme

Vous aimerez peut-être aussi