Vous êtes sur la page 1sur 58

Classification supervisée

Marine Campedel
www.tsi.enst.fr/~campedel

avril 2005
Plan du cours
l Introduction
l Généralités
ð Approche probabiliste
ð Notion d’apprentissage
l Méthodes courantes
ð Classificateur de Bayes
ð Analyse discriminante et classificateur de Fisher
ð kppv
ð Arbres de décision
ð Réseaux de neurones
ð Séparateurs à vaste marge (SVM)
l Stratégies multi-classes
Introduction
l Objectif de la classification : identifier les classes
auxquelles appartiennent des objets à partir de
traits descriptifs (attributs, caractéristiques,
features).
l Supervisé : les classes sont connues et l’on
dispose d’exemples de chaque classe.
l Applications :
ð Reconnaissance des formes ;
ð Contrôle de processus ;
ð Jeux
Introduction
l Buffon, 1749 « Le seul moyen de faire une méthode
instructive et naturelle, est de mettre ensemble des choses
qui se ressemblent et de séparer celles qui diffèrent les
unes des autres »
l 1ère taxonomie scientifique : Andrea Cesalpino, 1853
l Classification = thème majeur de l’histoire naturelle puis de
la biologie
l Fin 19ème, théorie statistique apparaît.
l 20ème : analyse de données + optimisation,
apprentissage
Généralités
l P population
l D ensemble de descripteurs
l {1,…,K} ensemble de classes
l X : P -> D, fonction qui associe une description
à tout élément de P (extraction d’attributs)
l Y : P -> {1,…,K}, associe une classe à chaque
élément de P
l C : D -> {1,…,K}, fonction de classement ou
procédure de classification
Généralités

l Objectif : apprendre C
ð Déterminer C de façon que C(X) approche au
mieux Y

l Les attributs peuvent être : logiques,


symboliques, numériques,…

l Décrire la population : attribuer une valeur à


chacun des attributs
Généralités
l Moyen : l’apprentissage (machine learning)
« Apprendre consiste à construire et à modifier des
représentations ou des modèles à partir d’une
série d’expériences. » Michalski (1986)
l Difficulté actuelle ne réside pas dans l’accès à
l’information mais dans son filtrage -> intérêt de
la classification.
l A ensemble d’apprentissage constitué
d’exemples x à valeurs dans D, associés à une
classe y
Généralités

l Stratégies pour apprendre C


ð Règle majoritaire : à tout d de D, on associe la
classe k telle que P(k) est maximale.

ð Règle du maximum de vraisemblance : à tout d


on associe k telle que P(d/k) maximale.

ð Règle de Bayes : à tout d on associe k telle que


P(k/d) maximale.
Généralités

l Erreur pour un attribut d = probabilité qu’un


élément P de description d soit mal classe par C
ð E(d) = P( Y != C / X = d )

ð E(C)= ? E(d)P(X=d)

l Théorème : La règle de Bayes est celle qui


minimise l’erreur de classification
Généralités
k FT M O
P(k) 0.2 0.3 0.5
P(répondeur/k) 1.0 0.9 0.45

l Exercice
Population d’individus ouvriers (O), médecins (M) ou employés des
télécoms (FT) (donc 3 classes).

1 attribut binaire : possède un répondeur / n’en possède pas


Calculer l’erreur associée aux procédures de classement obtenues
par la règle majoritaire, la règle du maximum de vraisemblance
et la règle de Bayes.
Généralités
k Vénéneux(1) Comestible(2)
P(k) 0.05 0.95

l Exercice P(volve/k) 0.9 0.2

Population de champignons.

2 classes : vénéneux ou comestible

1- Je ramasse les champignons que la règle de Bayes me donne


comme comestibles. Est-ce que je ramasse les champignons à volve ?
Appliqueriez-vous cette règle en pratique ?

2- On définit un coût pour tout couple de classes (k,i) et un coût moyen


par : coûtMoyen( k / d ) = ∑ coût( k , i ) * P (i / d )
i

On prend la règle qui minimise ce coût moyen.

Sachant coût(1,1)=coût(2,2)=0 ; coût(1,2)=2 et coût(2,1)=infini

Est-ce que je ramasse les champignons à volve ?


Généralités

l Problème 1 : toutes les erreurs ne se valent pas


-> Nécessité de pondérer les erreurs.

l Problème 2 : les procédures de classification


doivent avoir un pouvoir prédictif
ð Sous problème : le langage de description doit
être suffisamment riche
Généralités
1
l Erreur apparente Eapp (C ) = err
A

l A est le nombre d’exemples d’apprentissage et err le


nombre d’erreurs effectuées par la procédure C

l im E app (C) = E(C)


A − >∞

l En général A trop petit -> nécessité de prédire l’erreur de


classification. L’erreur apparente est souvent trop optimiste.
Généralités

l Limitation de l’espace des fonctions C car


impossible à explorer.
l Pb : Sélectionner C, parmi un ensemble réduit,
de façon que l’erreur apparente
(d’apprentissage) soit petite en s’assurant que
l’erreur réelle soit petite aussi.
l Sélectionner C et juger de sa qualité sur le
même ensemble A pose problème.
Généralités
l Soit C l’ensemble des hypothèses (ou modèles)
pour C
l Capacité de C = card(C) ; pour les ensembles
infinis la capacité est égale à la dimension de
Vapnik Chervonenskis (VC-dimension)
l Si capacité trop petite, résultat potentiellement
inintéressant
l Si capacité trop grande, risque de trop minimiser
l’erreur apparente au détriment de l’erreur réelle
(sur-apprentissage) -> complexification néfaste
Généralités
l Plus l’on a de degrés de libertés (architecture
d’un réseau, taille des arbres de décision,…),
plus la capacité est grande.

l Solution : minimiser le risque structurel i.e.


choisir conjointement le bon compromis entre
erreur réelle et capacité de l’espace des
hypothèses.
l Estimation de l’erreur réelle : sur un ensemble T
^ errT
E(C)=
T
Généralités

l Attention à la taille de T
l Parfois 3 ensembles (A, T) + Validation
l Techniques de rééchantillonnage
ð Validation croisée (partitionnement)

ð Bootstrap (tirage avec remise)


Généralités : conclusion
l La classification supervisée consiste à inférer, à partir d’un
échantillon de données classées, une procédure de
classification
l La recherche se fait sur un espace de modèles basés sur
ð Des hypothèses probabilistes (Classif de Bayes)
ð Des notions de proximité (kPPV)
ð Recherche de structure (arbres de décision, réseaux
de neurones)
l Trouver 1 bon compromis entre la minimisation de l’erreur
apparente et la complexité du modèle.
Classificateur naïf de Bayes
l Règle de Bayes
l Naïf -> hypothèse que les attributs sont indépendants donc
CBayes ( d ) = argmax P ( k / d )
k
= argmax P ( d1 ,..., d n / k ) P ( k )
k
= argmax ∏i P( d i / k ) P( k )
k
^ ^
= argmax ∏i P( d i / k ) P (k )
k

l Estimations de P(k) par la proportion des éléments de k


dans A, idem pour P(d/k)
l Généralement bons résultats malgré hypothèse
d’indépendance souvent fausse
Analyse discriminante de Fisher

l Objectif : trouver l’hyperplan <w,x>+b =0 qui


sépare au mieux les classes des données x.
l Fonction discriminante : sign( y = <w,x>+b ) ou
bien comparaison de y = <w,x> à un seuil θ
ð Matrice de dispersion inter-classes SB

ð Matrice de dispersion intra-classe SW

ð Critère de Fisher

wt S B w
max J ( w) = max t
w w w SW w
K plus proches voisins

l Approche très simple


l Pas d’apprentissage simplement stockage des
données d’apprentissage :
ð Une donnée de classe inconnue est comparée à
toutes les données stockées. On choisit pour la
nouvelle donnée la classe majoritaire parmi ses
K plus proches voisins.

ð Lourdeur de la procédure -> pb d’accélération.


Les arbres de décision
l Objectif : produire une procédure de classification
interprétable par l’utilisateur
Température < 37.5
l Exemple :
oui non

malade
Gorge irritée

oui non

malade Bien portant


l Nœuds : repérés par leur position p ;
l Nœuds internes = nœuds de décision (étiqueté par un test) – les
arcs issus d’un nœud sont étiquetés par les résultats du test ;
l Feuille étiquetée par une classe.
Les arbres de décision
l Représentation graphique d’une procédure de
classification
l Pour une description complète, on aboutit à une seule
feuille
l Règles de décision : l’arbre définit un système de règles
avec un ordre d’examen fixé pour les attributs + règles
exclusives
ð SI température < 37.5 ET gorge irritée ALORS malade

ð SI température < 37.5 ET NON gorge irritée ALORS sain

ð SI NON température < 37.5 ALORS malade


Les arbres de décision
l Notations

l Echantillon S, Classes {1,…,K}


l p position d’un nœud
ð N(p) cardinal de l’ensemble des exemples
associés à p

ð N(k/p) cardinal de l’ensemble des exemples


associés à p ayant la classe k

ð P(k/p) = N(k/p) / N(p)


Les arbres de décision
l Exercice : calcul de N et P pour un échantillon de 100
malades (M) et 100 patients sains (S)

Température < 37.5

oui non

malade
Gorge irritée

oui non Gorge irritée Non irritée

malade Bien portant Température < 37.5 6S ; 37M 91S ; 1M


Température >= 37.5 2S ; 21M 1S ; 41M
Les arbres de décision
Client M A R E I
(classe)
1 moyen moyen village oui oui
2 élevé moyen bourg non non
3 faible âgé bourg non non
4 faible moyen bourg oui oui
5 moyen jeune ville oui oui
6 élevé âgé ville oui non
7 moyen âgé ville oui non
8 faible moyen village non non
l Exercice :
Comment construire l’arbre de décision associé ?
Les arbres de décision
l Comparaison des différents tests possibles : choix d’une
fonction permettant de mesurer le degré de mélange des
exemples dans les différentes classes.
ð Minimale lorsque tous les exemples appartiennent à
la même classe
ð Maximale lorsque les exemples sont équirépartis
l Entropie Entropie ( p ) = − ∑ P (k / p ) log P ( k / p )
k
l Gini Gini( p ) = 1 − ∑ P (k / p ) 2 = 2 ∑ P( k / p ) P (k ' / p )
k k < k'

l Exercice : calculer Entropie et Gini sur l’exemple


précédent
Les arbres de décision

l Choix de la fonction de gain (i la fonction précédente)


n
gain( p, test ) = i ( p) − ∑ P( j )i ( p j )
j =1

l p position dans l’arbre


l test : choisi parmi tous les tests possibles pour le nœud
courant, d’arité n
l P(j) proportion d’éléments de S, en p, qui passent en pj

l Exercice : appliquer le calcul du gain sur l’exemple


précédent.
Les arbres de décision
Temps T° Humidité Venté Classe Exercice
1 soleil 81 78 Faux N l T1=P
2 soleil 80 90 Vrai N
l T2=Humidité(N,P)
3 nuages 83 80 Faux P
l T3=Temps( Humidité(N,P), P,
4 pluie 75 96 Faux P
Venté(N,P) ), avec étiquetage des
5 pluie 69 75 Faux P arcs dans l’ordre (gauche à droite)
6 pluie 64 70 Vrai N pour le temps: soleil, nuages et pluie
7 nuages 65 65 Vrai P
pour l’humidité: >75 et <= 75
8 soleil 72 83 Faux N
pour venté: vrai ou faux
9 soleil 68 72 Faux P
l Montrer que T3 est parfait
10 pluie 71 74 Faux P
11 soleil 75 69 Vrai P l Calculer l’erreur apparente de
chaque arbre.
12 nuages 70 77 Vrai P
13 nuages 85 70 Faux P
14 pluie 73 82 Vrai N
Les arbres de décision

l Construction : diviser successivement et le plus


efficacement possible les exemples de
l’ensemble d’apprentissage, par des tests définis
à l’aide des attributs.
l Opérateurs nécessaires :
ð Décider si un nœud est terminal

ð Sélectionner un test à associer à un nœud

ð Affecter une classe à une feuille


Les arbres de décision
l Etapes
ð Initialisation à l’arbre vide
ð Répéter
• Décider si le nœud courant est terminal
• Si terminal alors affecter une classe
• Sinon sélectionner un test et créer le sous-arbre
• Passer au nœud inexploré suivant s’il en existe
Jusqu’à obtenir un arbre de décision

l Construction d’un arbre qui classe parfaitement les


exemples d’apprentissage -> pb
l Algorithme classique de construction = non optimal
(algorithme descendant)
Les arbres de décision

l CART (Breiman et al.)


l Arbre de décision binaire
l Attributs binaires, qualitatifs ou continus (mais
quantifiés)

l Exploite la fonction de Gini


l Utilise deux ensembles A et T
l Deux phases : expansion puis élagage (sur T)
Les arbres de décision
l Expansion :

ð Nœud terminal si Gini(p) <= seuil ou


N(p) <= seuil

ð Sélection d’un test : gain à maximiser

gain( p, test ) = gini ( p) − (Pg gini ( p g ) + Pd gini ( pd ) )


Pg = proportion des éléments en p qui passe en p g
Pd = proportion des éléments en p qui passe en p d

ð Feuille : choix de la classe majoritaire


Les arbres de décision
l Élagage

ð Construction de la suite des arbres T0,…TM

T0 = arbre issu de l’expansion et Ti+1 est un élagué de


Ti (un sous-arbre de Ti est remplacé par une feuille)

ð Choix de la position où élaguer par minimisation de


∆ app ( p )
g ( p) =
taille(u p ) − 1
u p sous arbre en position p
MalClasse( p ) − MalClasse(u p )
∆ app ( p ) =
N ( p)

ð Calcul de l’erreur apparente sur T de chaque Ti


Les réseaux de neurones
l Intelligence artificielle
ð Cognitivisme

ð Connexionnisme
• Étude et modélisation des phénomènes naturels
• Boîte noire

l Physiologie du cerveau
axone
synapses

Cellule
dendrites
axone
Cellule
Les réseaux de neurones

l Formalisation par Mc Culloch et Pitts (1943)


l Loi de Hebb (renforcement des neurones actifs
simultanément)
l 1958 Perceptron de Rosenblatt

l 1969 Minski et Papert critiquent le perceptron


l 80’s Rumelhart et Mc Clelland et Le Cun
introduisent le MLP (rétropropagation)
Les réseaux de neurones

l Paramètres d’un réseau


ð Choix du type de cellule élémentaire (à seuil ou
non)

ð Architecture du réseau (nombre de couches,


nombre de neurones par couche)

ð Dynamique du réseau (synchrone ou séquentiel)


Les réseaux de neurones
l Perceptron linéaire à seuil 1 si ∑ w i xi > θ
o= i
0 sinon
l Potentiel post-synaptique ∑w x
i
i i

l Fonction d’activation

θ
f ( x) = 1 si x > 0
X0=1 0 sinon
x1 w0
w1 x1
o w1 o
xn wn
xn wn
Les réseaux de neurones
l Exercices X0=1
W0=-0.5
x1
Que modélise ce réseau ?
W1=1 o

x2 W2=1

Peut-on modéliser la fonction XOR logique ?


Les réseaux de neurones

l Théorème : un perceptron linéaire à seuil à n


entrées divise l’espace des entrées en deux
sous-espaces délimités par un hyperplan.
l Réciproquement : tout ensemble linéairement
séparable peut être discriminé par perceptron
linéaire à seuil.
Les réseaux de neurones
l Apprentissage par correction d’erreurs

A ensemble d’apprentissage de R nx{0,1}

Objectif : trouver un algo qui infère un perceptron qui


classifie au mieux les éléments de A
ð Initialisation des poids wi
ð Répéter :
• Prendre une donnée (x, y) de A
• Calculer la sortie o pour la donnée courante
• %Mise à jour des poids
Pour i = 1 : n, wi <- wi + (c-o)xi
ð Sortie : perceptron défini par w0,…wn
Les réseaux de neurones

l Exemple :
Appliquer l’algorithme par correction d’erreurs à
l’apprentissage du OU logique pour deux
variables binaires x1 et x2
(initialisation w0=0, w1=1 et w2=-1)
Les réseaux de neurones

l Si l’espace n’est pas linéairement séparable,


l’algorithme par correction d’erreur ne converge
pas et il n’y a aucun moyen de le savoir.
l Aucune tolérance au bruit.
Les réseaux de neurones
l Apprentissage par
descente de gradient

ð Sortie o réelle o = ∑ wi xi
i
ð Mesure de l’erreur
1
sur tout E ( w) = ∑ ( y s − os ) 2
l’échantillon 2 s∈ A
Les réseaux de neurones
l Algorithme par descente de gradient

ð Initialisation
∆wi = 0
ð Répéter
• Pour tout (xs,ys) de A
– Calculer os ;

∆wi = ∆wi + ξ (cs − os )xis


– Pour tout i

• Pour tout i
wi = wi + ∆wi

ð Sortie : perceptron défini par w0, …wn


Les réseaux de neurones

l Fonction d’erreur quadratique donc ne possède


qu’un minimum -> assurer de converger même
si l’espace est non strictement linéairement
séparable.
l Paramètre ? (learning rate) doit être bien choisi ;
on peut décroître sa valeur en fonction du
nombre d’itérations.
l Défaut de l’algo : convergence peut être lente.
Les réseaux de neurones
l Algorithme de Widrow-Hoff (règle delta)

ð Initialisation des poids wi

ð Répéter
• Prendre une donnée (xs ,ys) de A
• Calculer os
• Pour i = 1 : n
wi = wi + ξ (cs − os )xis

ð Sortie : Perceptron défini par w0,…w n


Les réseaux de neurones

l Parcourt des exemples


l Critère d’arrêt : après un passage complet, les
modification de poids sont sous un seuil
prédéfini.
l Pas loin de l’algo par correction d’erreur mais
sorties réelles (et non binaires) et utilisation du
paramètre ?.

l Empiriquement : convergence non assurée mais


en pratique ok et plus rapide que le précédent.
Les réseaux de neurones

l Perceptron multi-couches
ð 1 à plusieurs couches intermédiaires

ð Connections uniquement entre couches


successives

ð Exemple : XOR (à vérifier en exercice)


X0=1 1
-0.5
-1.5
1 -2 o
x1
1
1 1
x2 1
1
Les réseaux de neurones
l Couches C0 (entrée),C1 …Cq-1(couches cachées),
Cq(sortie)

l Entrées de la couche C i = cellules de la couche Ci-1.

l Si les cellules = perceptron linéaire à seuil alors le


réseau est appelé perceptron multi-couches linéaire
à seuil.

l On peut démontrer (Hornik 1989) que la plupart des


fonctions numériques peuvent être approximées par
des réseaux à une seule couche cachée -> pb de
complexité

l Pb du PMC : déterminer l’architecture du réseau.


Les réseaux de neurones

1
avec y = ∑ wi xi
l Cellule élémentaire =
o ( x) = −y
perceptron linéaire 1+ e i

l Erreur :

( )
(P cellules de sortie) 1 P

∑ ∑
2
E ( w) = c s
k − o s
k
l Erreur (delta) : 2 ( x s ,c s )∈A k

1 P
(
E( x ,c ) ( w) = ∑ ck − ok
2 k
)
2
Les réseaux de neurones
l Notations

ð wij poids associé au lien entre cellule j vers cellule


i ; xij entrée associée

ð yi entrée totale de la cellule i yi = ∑w x


j∈Pr ed ( i )
ij ij

ð oi sortie de la cellule i

∂E
l Exercice : calculer en distinguant les cellules
∂wij
de la couche de sortie des autres.
Les réseaux de neurones
l Algorithme de rétropropagation (1980’s)
ð N cellules réparties sur les couches C0,C1…Cq-1, Cq
ð Initialisation des poids sur [-0.5, 0.5]

ð Répéter :
• Prendre une donnée (x,c) et calculer o
• %calcul par rétropropagation
– Pour les cellules de sortie : δ i = oi (1 − oi )(ci − oi )
– Pour q-1 à 1, pour chaque cellule

δ i = oi (1 − oi ) ∑δ
k ∈Succ ( i )
k wki
• %Mise à jour des poids

wij = wij + εδ i xij


Les réseaux de neurones

l Algorithmes puissants : peuvent résoudre des


pbs non linéaires
l Les algorithmes reposent plus sur des
heuristiques que sur des théorèmes solides
Les machines à vecteurs de support

l Apparut au début des 90’s


l Grand succès sur nombre d’applications
l Potentiel énorme grâce au « truc des noyaux »

l Même problème que les arbres et réseaux


neuronaux : déterminer les bons paramètres !

ð Cours de 3h !
Stratégies multi-classes

l Optimisation globale
l UCU
l UCT
Conclusion

l Classification supervisée
ð Nombreux outils et nombreuses applications

ð Quels sont les outils les plus adaptés à tel ou tel


problème ? La réponse dépend des attentes de
l’utilisateur…

l Autres cours :
ð SVM + TP sur SVM

ð Classification non supervisée : plus difficile à


évaluer ! + TP
Exercices supplémentaires
k S M
P(k) 0.7 0.3
P(T/k) 0.25 0.7

l Exercice P(C/k) 0.4 0.7


Population de patients appartenant à deux classes : S (sains) ou M
(malades). On utilise deux attributs logiques indépendants T (tension
anormale) et C (taux de cholestérol anormal).

1- Donner la procédure de classification selon Bayes sous la forme d’un arbre


de décision T

2- T1=S et T2=T(M,S) -> calcul de l’erreur associée à chaque arbre