Vous êtes sur la page 1sur 256

Fouille de donnes e Notes de cours

Ph. PREUX Universit de Lille 3 e philippe.preux@univ-lille3.fr 26 mai 2011

http://www.grappa.univ-lille3.fr/~ppreux/fouille

ii

Table des mati`res e


1 Introduction 1.1 Quest ce que la fouille de donnes ? . . . . . . . . . e 1.2 Quest ce quune donne ? . . . . . . . . . . . . . . . e 1.2.1 Notations . . . . . . . . . . . . . . . . . . . . 1.2.2 Les direntes natures dattributs . . . . . . e 1.2.3 Les direntes natures de valeur dattribut . e 1.2.4 Le bruit . . . . . . . . . . . . . . . . . . . . . 1.2.5 Direntes tches dextraction dinformation e a 1.3 Rfrences . . . . . . . . . . . . . . . . . . . . . . . . ee 3 3 5 5 5 6 7 7 9

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

2 La classication supervise e 11 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Une approche na . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ve 2.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Classication par arbres de dcision e 15 3.1 Construction dun arbre de dcision . . . . . . . . . . . . . . . . 17 e 3.2 Exemple de construction dun arbre de dcision par ID3 . . . . . 21 e 3.2.1 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.2 Interprtation de larbre . . . . . . . . . . . . . . . . . . . 23 e 3.3 Utilisation de larbre de dcision pour classer une donne . . . . 24 e e 3.4 Les attributs numriques . . . . . . . . . . . . . . . . . . . . . . . 25 e 3.4.1 Test dun attribut numrique . . . . . . . . . . . . . . . . 25 e 3.4.2 Rapport de gain . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.3 Application : construction dun arbre de dcision en e prsence dattributs numriques . . . . . . . . . . . . . . . 27 e e 3.5 Valeurs dattributs manquantes . . . . . . . . . . . . . . . . . . . 28 3.5.1 Attributs non valus dans lensemble dapprentissage . . . 28 e 3.5.2 Classication dune donne ayant des attributs non valus 29 e e 3.6 ID3 vs. C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.7 Validation dun arbre de dcision . . . . . . . . . . . . . . . . . . 31 e 3.7.1 Mesures de qualit dun classeur . . . . . . . . . . . . . . 32 e iii

iv

` TABLE DES MATIERES

3.8 3.9 3.10 3.11 3.12 3.13

3.7.2 Validation croise . . . . . . . . . . . . e 3.7.3 Technique du leave-one-out . . . . . . 3.7.4 Technique de bootstrap (= bagging) . . 3.7.5 Conance dans lestimation de lerreur Sur-apprentissage . . . . . . . . . . . . . . . . Elagage . . . . . . . . . . . . . . . . . . . . . Illustration sur les iris . . . . . . . . . . . . . Critique . . . . . . . . . . . . . . . . . . . . . Logiciels libres . . . . . . . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

33 33 33 34 37 39 39 40 41 41

4 Classeur baysien e 47 4.1 La r`gle de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 e 4.1.1 Le thor`me de Bayes . . . . . . . . . . . . . . . . . . . . 48 e e 4.1.2 Application ` la classication . . . . . . . . . . . . . . . . 48 a 4.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3 Attributs numriques . . . . . . . . . . . . . . . . . . . . . . . . . 52 e 4.4 Valeur dattribut manquante . . . . . . . . . . . . . . . . . . . . 54 4.4.1 Absence de la valeur dun attribut dans une donne dont e on veut prdire la classe . . . . . . . . . . . . . . . . . . . 54 e 4.4.2 Absence de la valeur dun attribut dans le jeu dapprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4.3 Application au jeu de donnes iris . . . . . . . . . . . 55 e 4.5 Exemple : classication de textes . . . . . . . . . . . . . . . . . . 57 4.5.1 Reprsentation dun texte . . . . . . . . . . . . . . . . . . 58 e 4.5.2 Application de la r`gle de Bayes . . . . . . . . . . . . . . 58 e 4.6 Critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.7 Logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5 Classication ` base dexemples reprsentatifs a e 5.1 Mesure de la dissimilarit entre deux donnes . e e 5.1.1 Attribut numrique . . . . . . . . . . . e 5.1.2 Attribut nominal et attribut ordinal . . 5.1.3 Valeur dattribut manquante . . . . . . 5.2 Lalgorithme des plus proches voisins . . . . . . 5.2.1 Les k plus proches voisins . . . . . . . . 5.2.2 Application ` jouer au tennis ? . . . a 5.2.3 Critique . . . . . . . . . . . . . . . . . . 5.3 Plus proches voisins sur le jeu de donnes iris e 5.4 Plus proches voisins et classication de textes . 5.5 Logiciel libre . . . . . . . . . . . . . . . . . . . 65 66 67 67 67 67 68 69 70 71 71 77

. . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

` TABLE DES MATIERES

v 77 79 . . . . . . . . . . . . . . . . . . . . . . . . 80 82 84 85 85 87 88 88 90 95 98

5.6

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Classeur ` base de r`gles a e 6.1 6.2 6.3 6.4 6.5 Mthode e c4.5rules Approche par couverture : lalgorithme Prism . . . . . . . . . . . Approche par r`gles dassociation . . . . . . . . . . . . . . . . . . e Synth`se . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Classication par rseaux de neurones e 7.1 Le neurone formel . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 7.1.2 7.1.3 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.3 7.4 7.5 7.6 7.3.1 Description dun neurone formel . . . . . . . . . . . . . . Apprentissage des poids dun perceptron . . . . . . . . . . Illustration sur les iris . . . . . . . . . . . . . . . . . . . .

Perceptron multi-couches . . . . . . . . . . . . . . . . . . . . . .

Topologie dun perceptron multi-couches . . . . . . . . . . 100 Apprentissage des poids dun PMC . . . . . . . . . . . . . 102 Quelques complments sur lalgorithme dapprentissage e des poids . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Dautres rsultats rassurants . . . . . . . . . . . . . . . . 108 e jouer au tennis ? . . . . . . . . . . . . . . . . . 109 Numrisation des attributs et de la classe . . . . . . . . . 109 e . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Application ` a

Critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Les logiciels libres Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 111

8 Classication par MVS 8.1 8.1.1 8.1.2 8.2 8.2.1 8.2.2 8.3 8.4 8.5 8.6

Machine ` vecteurs supports linaire . . . . . . . . . . . . . . . . 112 a e Cas sparable . . . . . . . . . . . . . . . . . . . . . . . . . 112 e Cas non sparable . . . . . . . . . . . . . . . . . . . . . . 115 e Construction dune MVS non linaire . . . . . . . . . . . 117 e Fonctions noyaux . . . . . . . . . . . . . . . . . . . . . . . 118

Machine ` vecteurs supports non linaire . . . . . . . . . . . . . . 117 a e

Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Les logiciels libres pour MVS . . . . . . . . . . . . . . . . . . . . 119 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 121

9 Classication par slection dattributs e

vi

` TABLE DES MATIERES

10 Pour en nir avec la classication 10.1 Combinaison de classeurs . . . . . . . . . . 10.1.1 Bagging . . . . . . . . . . . . . . . . 10.1.2 Boosting . . . . . . . . . . . . . . . . 10.2 Apprendre avec des donnes non tiquetes e e e 10.3 Synth`se des mthodes de classication . . e e 10.4 Logiciels libres . . . . . . . . . . . . . . . . 10.5 Conclusion . . . . . . . . . . . . . . . . . . 10.6 Exercices . . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

123 123 124 124 126 126 128 128 129 131 132 133 134 135 136 138 143 148 148 151 151 153 154 154 154 155 156 156 156 157 159 159 173 175 176 179 179 182 183 183

11 Segmentation 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Segmentation non hirarchique . . . . . . . . . . . . . . . . . e 11.2.1 Lalgorithme des centres mobiles . . . . . . . . . . . . 11.2.2 Quelques remarques sur les centres mobiles . . . . . . 11.2.3 Illustration des centres mobiles . . . . . . . . . . . . . 11.2.4 Lalgorithme EM . . . . . . . . . . . . . . . . . . . . . 11.2.5 Autres algorithmes de segmentation non hirarchique e 11.3 Segmentation hirarchique . . . . . . . . . . . . . . . . . . . . e 11.3.1 Mthode ascendante . . . . . . . . . . . . . . . . . . . e 11.4 Application au jeu de donnes iris e . . . . . . . . . . . . . 11.4.1 Les centres mobiles sur les iris . . . . . . . . . . . 11.4.2 EM sur les iris . . . . . . . . . . . . . . . . . . . . 11.4.3 Segmentation hirarchique des iris . . . . . . . . . e 11.5 Comparaison de deux segmentations . . . . . . . . . . . . . . 11.5.1 Analyse de tableau de contingence . . . . . . . . . . . 11.5.2 Autre approche . . . . . . . . . . . . . . . . . . . . . . 11.6 Critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.7 Logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . . 11.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Mthodes de projection e 12.1 Analyse en composantes principales . . . . . . . . . . . . . . . 12.1.1 LAnalyse en Composantes Principales . . . . . . . . . 12.1.2 Aspects pratiques . . . . . . . . . . . . . . . . . . . . . 12.1.3 La (grande) famille des ACP . . . . . . . . . . . . . . 12.1.4 ACP et textes : lindexation par la smantique latente e 12.1.5 Critique de lACP . . . . . . . . . . . . . . . . . . . . 12.2 La mise ` lchelle multi-dimensionnelle . . . . . . . . . . . . a e 12.2.1 Mise ` lchelle mtrique . . . . . . . . . . . . . . . . . a e e 12.2.2 Mise ` lchelle non mtrique . . . . . . . . . . . . . . a e e 12.2.3 Diagnostic du rsultat dune MDS . . . . . . . . . . . e

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

` TABLE DES MATIERES

vii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 185 185 186 187 188 188 193 193 193 195 195 195 197 198 199 199 201 202 202 202 203 204 204 205 206 206 206 207 207 207 208 208 208 208 209

12.3

12.4 12.5 12.6 12.7

12.2.4 Applications . . . . . . . . . . . . . . . . . . . . Rseaux de Kohonen . . . . . . . . . . . . . . . . . . . . e 12.3.1 Introduction . . . . . . . . . . . . . . . . . . . . 12.3.2 Algorithme dapprentissage . . . . . . . . . . . . 12.3.3 Droulement de lapprentissage . . . . . . . . . . e 12.3.4 Exploitation dun apprentissage . . . . . . . . . . 12.3.5 Application des rseaux de Kohonen ` des textes e a 12.3.6 Autres applications des rseaux de Kohonen . . . e 12.3.7 Critique des cartes de Kohonen . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . Les logiciels libres . . . . . . . . . . . . . . . . . . . . . Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . ee Exercices . . . . . . . . . . . . . . . . . . . . . . . . . .

13 Les r`gles dassociation e 13.1 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 13.2 Algorithme A-Priori . . . . . . . . . . . . . . . . . . . . . . 13.2.1 Construction des ensembles ditems frquents . . . . e 13.2.2 Gnration des r`gles dassociation ` partir des EIF e e e a 13.2.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . 13.2.4 Application sur lexemple . . . . . . . . . . . . . . . 13.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.4 Les paires rares mais importantes . . . . . . . . . . . . . . . 13.4.1 Similarit . . . . . . . . . . . . . . . . . . . . . . . . e 13.4.2 Signature . . . . . . . . . . . . . . . . . . . . . . . . 13.4.3 Signature par hashage min . . . . . . . . . . . . . . 13.4.4 Hashage localement sensible (LSH) . . . . . . . . . . 13.4.5 Hashage k-min . . . . . . . . . . . . . . . . . . . . . 13.5 Logiciels libres . . . . . . . . . . . . . . . . . . . . . . . . . 14 Prdiction numrique e e 14.1 Rgression linaire simple et multiple e e 14.2 Arbres de rgression . . . . . . . . . e 14.3 Rseau de neurones . . . . . . . . . . e 14.4 Rgression ` vecteur support : RVS . e a 14.5 Rgression locale pondre . . . . . . e ee 14.6 Logiciels libres . . . . . . . . . . . . 15 Pr- et post-traitement e

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

16 Applications de la fouille de donnes e 211 16.1 Fouille de textes . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 16.2 Fouille du web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

viii

` TABLE DES MATIERES

A Rappels de statistiques et plus 213 A.1 Statistiques descriptives dune srie de mesures . . . . . . . . . . 213 e A.2 Corrlation linaire . . . . . . . . . . . . . . . . . . . . . . . . . . 221 e e B Thor`me de Bayes e e C Complexit algorithmique e D Programmation mathmatique e D.1 Programme linaire . . . . . . . . . . e D.2 Programme quadratique ou convexe D.3 Programme semi-dnie . . . . . . . e D.4 Programme non linaire . . . . . . . e Index Rfrences bibliographiques ee 225 227 231 231 232 232 232 235 241

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Notations On rsume ici les notations utilises dans lensemble de ce document : e e X : ensemble de donnes ou dexemples (cf. chap. 1, sec. 1.2.1) ; e x X : un lment de X , i.e., une donne ; ee e A : ensemble des attributs dcrivant chacune des donnes (cf. chap. 1, sec. e e 1.2.1) ; a A : un lment de A, i.e., un attribut ; ee Va : ensemble des valeurs possibles pour lattribut a A (cf. chap. 1, sec. 1.2.1) ; D : espace des donnes : espace contenant toutes les donnes possibles pour e e le probl`me considr ; on a la relation X D (cf. chap. 1, sec. 1.2.1) ; e ee N = |X | : nombre de donnes disponibles (cf. chap. 1, sec. 1.2.1) ; e P = |A| : nombre dattributs dcrivant chaque donne (cf. chap. 1, sec. e e 1.2.1) ; K : nombre de segments (en segmentation) ; k : fonction noyau E : erreur (cf. chap. 3, sec. 3.7) ; Y : ensemble des tiquettes possibles dans un probl`me de classication e e donn, ou un probl`me de rgression (cf. chap. 2 et chap. 14) ; e e e y Y : un lment de Y, i.e., une classe dans un probl`me de classication ee e ou une valeur associe ` une donne dans un probl`me de rgression ; e a e e e : taux dapprentissage ; a b signie que la valeur de a (typiquement, une probabilit) est estime e e par la valeur de b ; a b signie que la valeur numrique de a est ` peu pr`s celle du nombre e a e dcimal b (` la prcision donne pour b, gnralement le centi`me ou le e a e e e e e milli`me) ; e v est la moyenne des lments du vecteur v ; ee v est la moyenne de la variable alatoire v ; e var(v) est la variance des lments du vecteur v ; ee var(v) est la variance de la variable alatoire v ; e dnote lcart-type. e e dissimilarit : au chap. 5, D au chap. 12. e Exceptionnellement, K et peuvent signier autre chose : K dans les chap. 5 et 9 , dans le chap. 8. Indiages : c A tant une matrice, Ai,j dnote llement de la matrice A situ sur la e e e e ligne i, colonne j.

Rsum e e Jai rassembl ici mes notes de cours et un certain nombre dinformations cone cernant la fouille de donnes. e On adopte une approche pragmatique et pratique, tout en essayant de donner le matriel ncessaire pour comprendre ce que lon fait : le but nest pas dape e pliquer aveuglment des algorithmes, mais de conna e tre des algorithmes et de savoir quand et comment les appliquer, dtre capable de les utiliser et de juger e les rsultats quils fournissent. En fouille de donnes, on ne peut pas se contenter e e dappliquer aveuglment une mthode et de se contenter tout aussi aveuglment e e e du rsultat obtenu, comme sil sagissait de LA rponse au probl`me. Les algoe e e rithmes dextraction dinformation constituent une bo ` outils ; ayant cette te a bo ` disposition, il nous faut apprendre ` les utiliser, comme lartisan apte a a prend a manier ces outils. Dit autrement, la fouille de donnes est un art : outre ` e les connaissances plus ou moins techniques ` acqurir, il faut ensuite accumuler a e beaucoup de pratique. Au niveau pratique, on sappuie exclusivement sur des logiciels libres : ils sont aisment accessibles sur la Toile. Certains sont remarquables. Malheureusement, e il ny a pas ` lheure actuelle de vritable atelier de fouille de donnes qui a e e soit libre. Ceux-ci int`grent de tr`s nombreux outils danalyse et de fouille de e e donnes, de visualisation de donnes et des rsultats de fouille, de prsentation e e e e des rsultats (cration de tableaux de bord) et de liaison avec des bases et e e entrepts de donnes : ces logiciels sont assez onreux. o e e On ne sattaque pas au probl`me de la gestion de gros volumes de donnes ; e e ce que lon raconte ici sapplique ` des volumes de donnes raisonnables (ordre de a e grandeur : mga-octets stocks dans de simples chiers chiers Unix : suite de e e caract`res non structure ou des bases de donnes traditionnelles type sql). e e e Au-del`, des architectures spcialises (entrepts de donnes) sont ncessaires a e e o e e pour cette gestion. Ici et l`, on indique comment passer ` lchelle en ce qui a a e concerne les algorithmes de fouille. Ces notes ne sont pas particuli`rement destines aux tudiants en informae e e tique, au contraire. Il est certain quun tudiant en informatique peut les lire ; il e est tout aussi certain que la rdaction se veut dune accessibilit beaucoup plus e e gnrale. Les notions dinformatique pure qui sont ncessaires pour une bonne e e e comprhension sont introduites dans le texte ou en annexe. e Pr-requis : une connaissance minimale en mathmatiques (algbre, analyse, e e e probabilits, statistiques) est ncessaire ainsi quune connaissance minimale en e e algorithmique. Ensuite, jessaie dintroduire les notions ncessaires. En fait, le e plus important est : avoir envie de comprendre, se poser des questions, essayer de comprendre et exprimenter sur ordinateur. Ce dernier point est essentiel : pour e

fouiller les donnes, lordinateur est un outil indispensable. En parall`le, pour e e comprendre les mthodes, les mathmatiques constituent loutil indispensable. e e Remarque
Des remarques ponctuent le texte ; elles sont crites dans des caract`res plus petits que le e e texte normal. Leur lecture nest pas indispensable lors dun premier contact. Elles ont pour but de donner des dtails qui permettent de mieux comprendre le texte en justiant certains e points ou en soulevant des questions pour aiguiser le regard du lecteur. Il est clair que pour vraiment comprendre les choses, la lecture de ces remarques est ncessaire. e

Chapitre 1

Introduction
Contenu
1.1 1.2 Quest ce que la fouille de donnes ? . . . . . . . . e Quest ce quune donne ? . . . . . . . . . . . . . . e 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3 Notations . . . . . . . . . . . . . . . . . . . . . . . . Les direntes natures dattributs e . . . . . . . . . . Les direntes natures de valeur dattribut . . . . . e Le bruit . . . . . . . . . . . . . . . . . . . . . . . . . Direntes tches dextraction dinformation . . . . e a 3 5 5 5 6 7 7 9

Rfrences . . . . . . . . . . . . . . . . . . . . . . . . ee

1.1

Quest ce que la fouille de donnes ? e

La fouille de donnes consiste ` rechercher et extraire de linformation (utile e a et inconnue) de gros volumes de donnes stockes dans des bases ou des ene e trepts de donnes. Le dveloppement rcent de la fouille de donnes (depuis o e e e e le dbut des annes 1990) est li ` plusieurs facteurs : une puissance de calcul e e ea importante est disponible sur les ordinateurs de bureau ou mme ` domicile ; e a le volume des bases de donnes augmente normment ; lacc`s aux rseaux de e e e e e taille mondiale, ces rseaux ayant un dbit sans cesse croissant, qui rendent le e e calcul distribu et la distribution dinformation sur un rseau dchelle mondie e e ale viable ; la prise de conscience de lintrt commercial pour loptimisation des ee processus de fabrication, vente, gestion, logistique, ... La fouille de donnes a aujourdhui une grande importance conomique e e du fait quelle permet doptimiser la gestion des ressources (humaines et matrielles). Elle est utilise par exemple : e e organisme de crdit : pour dcider daccorder ou non un crdit en fonce e e tion du prol du demandeur de crdit, de sa demande, et des expriences e e 3

CHAPITRE 1. INTRODUCTION

passes de prts ; e e optimisation du nombre de places dans les avions, htels, ... suro rservation e organisation des rayonnages dans les supermarchs en regroupant les proe duits qui sont gnralement achets ensemble (pour que les clients noue e e blient pas btement dacheter un produit parce quil est situ ` lautre e e a bout du magasin). Par exemple, on extraira une r`gle du genre : e les clients qui ach`tent le produit X en n de semaine, pendant lt, ach`tenet e ee e gnralement galement le produit Y ; e e e organisation de campagne de publicit, promotions, ... (ciblage des ores) e diagnostic mdical : e les patients ayant tels et tels symptomes et demeurant dans des agglomrations de plus de 104 habitants dveloppent e e couramment telle pathologie ; analyse du gnome et bio-informatique plus gnralement e e e classication dobjets (astronomie, ...) commerce lectronique, recommendation de produits e analyser les pratiques et stratgies commerciales et leurs impacts sur les e ventes moteur de recherche sur internet : fouille du web extraction dinformation depuis des textes : fouille de textes volution dans le temps de donns : fouille de squences. e e e

Le processus complet de fouille de donnes comprend plusieurs tapes : e e 1. collecte des informations et organisation de ces infos dans une base de donnes ; e 2. nettoyage de la base de donnes : attributs sans valeur, ayant une valeur e invalide (bruit), ... ; normalisation ; 3. slection des attributs utiles ; e 4. extraction dinformation dune base de donnes (Knowledge Discovery in e Databases, ou KDD) ; 5. visualisation des donnes : histogramme, camembert, arbre, visualisation e 3D et plus gnralement, exploration interactive de donnes ; e e e 6. valuation des rsultats de lextraction de connaissance. e e Dans ce cours, on sintressera essentiellement ` la phase 4 et un peu aux e a phases 2, 3 et 5. Les aspects concernant les bases de donnes seront vues dans le e cours du mme nom. La phase 4 fait appel ` des statistiques et des algorithmes e a dintelligence articielle (apprentissage automatique). Ltude de quelques exe emples typiques de ces algorithmes constitue le corps de ce cours, suivie de ltude de quelques applications relles. Avant tout, nous discutons de la notion e e de donnes. e

1.2. QUEST CE QUUNE DONNEE ?

1.2

Quest ce quune donne ? e

Cette section a pour objet de xer un vocabulaire et de rappeler quelques faits importants concernant les attributs des donnes et ce que reprsente la e e valeur dun attribut. Mais tout dabord quelques notations que nous retrouverons dans lensemble du cours, notations rsumes page ix. e e

1.2.1

Notations

On notera X un ensemble de donnes. Chaque donne est dcrite par un e e e ensemble A dattributs. Chaque attribut a A prend sa valeur dans un certain ensemble de valeurs Va . Ainsi, on peut considrer lensemble des donnes x e e dont les coordonnes balayent toutes les valeurs possibles des attributs : cest e lespace des donnes que nous noterons D. Si lon note a1 , ... aP les P attributs, e D = Va1 Va2 ... VaP . Toute donne appartient ` cet ensemble et on a e a X D. Il est souvent utile davoir une reprsentation gomtrique de lespace des e e e donnes ; chaque attribut correspondant ` un axe de coordonnes. Sil y a P e a e attributs, lespace des donnes est un espace euclidien ` P dimensions. e a

1.2.2

Les direntes natures dattributs e

Une donne est un enregistrement au sens des bases de donnes, que e e lon nomme aussi individu (terminologie issue des statistiques) ou instance (terminologie oriente objet en informatique) ou mme tuple (tere e minologie base de donnes) et point ou vecteur parce que nalement, e dun point de vue abstrait, une donne est un point dans un espace euclidien e ou un vecteur dans un espace vectoriel. Une donnes est caractrise par un ene e e semble de champs , de caract`res , ou encore d attributs (en suivant e les 3 terminologies prcdemment voques : bases de donnes, statistiques et e e e e e conception oriente objet). e Un attribut peut tre de nature qualitative ou quantitative en fonction de e lensemble des valeurs quil peut prendre. Un attribut est qualitatif si on ne peut pas en faire une moyenne ; sa valeur est dun type dni en extension (une e couleur, une marque de voiture, ...). Sinon, lattribut est de nature quantitative : un entier, un rel, ... ; il peut e reprsenter un salaire, une surface, un nombre dhabitants, ... On peut donc e appliquer les oprateurs arithmtiques habituels sur les attributs quantitatifs, e e ce qui nest pas le cas des attributs qualitatifs. Un attribut peut galement tre un enregistrement (une date par exeme e ple), donc compos lui-mme de sous-attributs (jour, mois, anne dans le cas e e e dune date), sur lequel on peut dnir les oprateurs arithmtiques habituels : e e e donc quantitatif ne signie pas forcment numrique et, rciproquement, e e e

attribut qualitatif

attribut quantitatif

CHAPITRE 1. INTRODUCTION

numrique ne signie pas forcment quantitatif : un code postal est numrique, e e e mais pas quantitatif.

1.2.3

Les direntes natures de valeur dattribut e

attribut nominal : valeurs non ordonnes e

attribut ordinal : valeurs ordonnes e

attribut ` valeur absolue a

oprations sur des ate tributs de direntes nae tures

Il nest pas inutile ici de consacrer quelques lignes ` ce quest la valeur dun a attribut. Naturellement, cette valeur est cense reprsenter une certaine mesure e e dune quantit dans le monde. Ainsi, quand on dit quune couleur est bleue , e cela signie que nous en avons une certaine perception visuelle qui est associe e a ` ce que, en franais, on dsigne par le mot bleu ; elle aurait pu tre verte et c e e on laurait appele verte. Il est a priori impossible de comparer bleu et vert ; ce e sont deux couleurs, un point cest tout : la couleur est un attribut nominal. Si on dit quaujourdhui, la temprature est de 20 C et quhier, il faisait 18 C, on e peut dire que la temprature est plus leve aujourdhui quhier : cette fois-ci, on e e e peut comparer les deux valeurs dattributs, cela a un sens. Mais, si on se rappelle ses cours de physique, on sait bien que ce 20 et ce 18 sont aussi arbitraires que les mots bleu et vert : ces valeurs dpendent, notamment, des units e e de mesure : la temprature est un attribut ordinal. Maintenant, si on dit que e le nombre denfants de Paul est 2 et que Jacques a 3 enfants, dune part on peut bien armer que Jacques a plus denfants que Paul et, de plus, ces deux nombres 2 et 3 ne sont pas arbitraires : le nombre denfants est un attribut absolu. Au-del` de la distinction qualitatif/quantitatif, on voit donc appara des a tre distinctions plus subtiles entre des attributs dont les valeurs sont arbitraires et incomparables (attribut nominal), des attributs dont la valeur est arbitraire mais que lon peut comparer (attribut ordinal) et des attributs dont la valeur nest pas arbitraire (attribut absolu). Ces direntes natures entra e nent le fait que les oprations que lon peut e faire sur ces attributs ne sont pas les mmes : on ne peut pas soustraire deux e couleurs, on peut soustraire deux tempratures mais on ne peut pas en faire le e 1 rapport , alors que lon peut soustraire et faire le rapport du nombre denfants de deux personnes. Quand on fait des statistiques ou de la fouille de donnes, on eectue de e nombreuses oprations arithmtiques ; hors, selon la nature de lattribut, ces e e oprations sont licites ou non... Il importe donc de ne pas faire nimporte quel e calcul, dappliquer nimporte quel algorithme sans prendre garde aux attributs sur lesquels on les eectue. Par ailleurs, il faut observer un principe dindpendance du rsultat des e e calculs par rapport aux units de mesure dans lesquelles sont exprimes les e e
1. rchissez-y par exemple sur cet exemple : si hier il faisait 20 C et quaujourdhui il e e en fait 10, fait-il deux fois plus froid aujourdhui quhier ? et si aujourdhui il fait 0, il fait combien de fois plus froid quhier ? et sil fait -5 ?

1.2. QUEST CE QUUNE DONNEE ?

valeurs des attributs : il ny a aucune raison que linformation extraite dune base de donnes change selon quune longueur est exprime en millim`tres, m`tres e e e e ou annes-lumi`res... De cette observation, on pose la r`gle suivante : on doit e e e toujours sarranger pour que le rsultat dune analyse ne dpende pas de lunit e e e de mesure. (On verra une petite illustration de ce principe au chapitre 12.1, section 12.1.1.) En attendant, si ces quelques lignes vous ont mis en apptit, lisez [Sarle, e 1997b].

principe dindpendance e par rapport aux units de e mesure

1.2.4

Le bruit

Il importe de ne pas faire comme si toutes les donnes ont une valeur cone nue, et encore moins une valeur valide ; il faut donc grer des donnes dont e e certains attributs ont une valeur inconnue ou invalide ; on dit que les donnes e sont bruites . La simple limination des donnes ayant un attribut dont la e e e valeur est inconnue ou invalide pourrait vider compltement la base de donnes ! e e On touche le probl`me de la collecte de donnes ables qui est un probl`me prae e e tique tr`s dicile ` rsoudre. En fouille de donnes, il faut faire avec les donnes e a e e e dont on dispose sans faire comme si on disposait des valeurs de tous les attributs de tous les individus.

1.2.5

Direntes tches dextraction dinformation e a

Dans certains probl`mes (probl`me de classication supervise), chaque e e e donne est aecte dune caractristique, par exemple une couleur. Supposons e e e que lensemble des couleurs possibles soit ni et de faible cardinalit. Le e probl`me de classication supervise consiste alors ` prdire la couleur dun e e a e point quelconque tant donn un ensemble de points colors. Gomtriquement, e e e e e cela revient ` trouver un moyen de sparer les points les uns des autres, en a e fonction de leur couleur. Sil ny a que deux couleurs, un simple (hyper)plan 2 peut sure ` les sparer ; ceux dune certaine couleur sont dun ct de lhypera e oe plan, les autres tant de lautre ct. Dans ce cas, les points sont linairement e oe e sparables (sparables par un objet gomtrique qui ressemble ` une droite, e e e e a un hyperplan pour tre plus prcis au niveau du vocabulaire). Gnralement, e e e e des points dune couleur donne se trouvent du mauvais ct de lhyperplan. e oe Cela peut rsulter derreurs dans la valuation des attributs (on sest tromp en e e mesurant certains attributs, ou en attribuant sa couleur ` la donne) ; dans ce a e
2. Un hyper-espace est un espace ayant plus de 3 dimensions ; dans notre cadre, lespace des donnes est un hyper-espace a P dimensions : chaque axe de coordonnes est associ e ` e e ` un attribut. Un hyper-plan est un objet gomtrique ` P 1 dimensions. Dans le cas a e e a particulier o` P = 3, un hyper-plan est donc un objet en 2 dimensions, soit ce que lon u dnomme habituellement un plan. La notion dhyper-plan gnralise celle de plan ` un espace e e e a de dimension quelconque.

probl`me de classication e supervise e

CHAPITRE 1. INTRODUCTION

probl`me de rgression e e

cas, les donnes sont bruites. Cela peut aussi tre intrins`que aux donnes qui e e e e e ne peuvent pas tre spares linairement. Il faut alors chercher ` les sparer avec e e e e a e un objet non hyperplanaire. Le probl`me de classication sera dni prcisment e e e e au chap. 2. On verra ensuite diverses approches ` ce probl`me : a e construction dun mod`le arborescent permettant de prdire la classe e e dune donne (cf. chap. 3) ou dun mod`le exprim sous forme de r`gles e e e e (cf. chap. 6). Dans ces deux cas, le mod`le obtenu est interprtable par e e un humain ; estimation directe de la classe dune donne en fonction des exemples : e une approche probabiliste au chap. 4 et une approche par cas au chap. 5. Dans ces deux cas, il ny a pas dapprentissage, pas de construction de mod`le ; e construction dun mod`le non interprtable par un humain : les rseaux e e e de neurones au chap. 7 qui permettent de sattaquer ` des probl`mes a e dans lesquels les donnes sont dcrites par de tr`s nombreux attributs e e e (des images par exemple), ou les machines ` vecteurs supports au chap. a 8. Dans ces deux cas, le mod`le construit nest pas interprtable par un e e humain ; il est utilis par lalgorithme pour estimer la classe de nouvelles e donnes ; e construction dun mod`le par slection de variables au chap. 9. e e Enn, le chap. 10 terminera ce survol des mthodes de rsolution du probl`me e e e de classication en ouvrant quelques pistes. Pour revenir ` notre exemple des points colors, dans dautres cas, lensemble a e des couleurs possibles est inni non dnombrables (une valeur relle). On est e e alors dans un probl`me de rgression. On en parlera bri`vement au chap. 14. e e e Dans dautres probl`mes (probl`me de segmentation), on dispose dun ene e semble de points est la tche consiste ` reprer des groupes de points qui se a a e ressemblent. On verra alors deux ensembles de techniques : les algorithmes qui proposent une segmentation des donnes au chap. 11 puis des algorithmes qui e construisent une reprsentation gomtrique interprtable par un humain (dans e e e e un plan) dun ensemble de donnes au chap. 12. Cest alors un humain qui e dtecte les groupes et eectue la segmentation : lalgorithme de projection est e une aide pour lhumain ; on eectue de la fouille de donnes assiste par ordie e nateur. Plus gnralement, on peut disposer dun ensemble de donnes pour lesquel e e e on veut dtecter des relations entre la valeur de leurs attributs. Il sag alors e t de chercher des r`gles dassociation. Cela sera discut au chap. 13. e e On peut aussi disposer dun ensemble de points et dautres points dont tous les attributs ne sont pas valus. On doit alors dterminer la valeur de e e ces attributs manquants. Cest alors un probl`me destimation. e

probl`me de segmentae tion

probl`me de recherche de e r`gles dassociation e

probl`me destimation e

1.3. REFERENCES

l`me de prdiction e e On peut aussi disposer dun ensemble de donnes qui dcrit lvolution au e e e cours du temps dune certaine entit. On veut alors prdire le comportement e e futur a partir du comportement observ : cest un probl`me de prdiction. ` e e e Notons que dans tous ces probl`mes, la notion de corrlation est ome e niprsente : lextraction dinformation repose sur la recherche de corrlations e e entre des donnes. Ces corrlations peuvent tre linaires : cest le cas simple. e e e e En gnral, on doit chercher des corrlations non linaires. e e e e Enn, lespace de donnes dans lequel celles-ci nous sont fournies initialee ment nest pas forcment le plus adquat. Il sag alors de prparer les donnes e e t e e pour en faciliter lextraction dinformation. Cette prparation peut consister e en la diminution du nombre dattributs, ` divers traitements sur les valeurs a dattributs (lissage, ...), au changement despace de reprsentation des donnes e e (projection dans un espace o` les relations sont plus faciles ` dtecter, projecu a e tion dans un sous-espace plus petit, ou reprsentation dans un espace obtenu e par combinaison des attributs initiaux cration de features). La reprsentation e e des donnes dans un espace inadquat entra lui-aussi du bruit, dirent de e e ne e celui rencontr plus haut. On discutera ces questions au chap. 15. e

corrlation e

transformation de lespace des donnes e

1.3

Rfrences ee

Rajeunir !
Pour une introduction assez compl`te ` la fouille de donnes illustre par e a e e lutilisation du logiciel libre weka, on lira [Witten and Franck, 2000]. Beaucoup de problmatiques sont traites si ce nest le probl`me des gros volumes de e e e donnes. e Pour une bonne introduction, qui commence ` dater, sur les algorithmes a dapprentissage automatique lesquels sont largement utiliss en fouille de e donnes, on lira [Mitchell, 1997]. e Un polycopi pdagogique sur la classication de donnes : [Denis and e e e Gilleron, 2000] ; un autre dans le mme genre o` lon parle plus des aspects e u donnes : [Gilleron and Tommasi, 2000]. e Un bon polycopi sur la fouille de donnes o` la gestion de gros volumes de e e u donnes est traite explicitement : [Ullman, 2000]. Ce document est accompagn e e e dun certain nombre de papiers qui sont faciles ` trouver sur le web. La lecture a nest pas toujours aise ; ce nest pas une lecture pour un dbutant. e e Un livre qui fait le tour de la fouille de donnes de mani`re assez prcise : e e e [Han and Kamber, 2001].

10

CHAPITRE 1. INTRODUCTION

Chapitre 2

La classication supervise e
Contenu
2.1 2.2 2.3 Introduction . . . . . . . . . . . . . . . . . . . . . . 11 13 14 Une approche na ve . . . . . . . . . . . . . . . . . . Exercice . . . . . . . . . . . . . . . . . . . . . . . . .

2.1

Introduction

On commence par dnir le probl`me de classication supervise. Ce e e e probl`me est galement dnomm e e e e probl`me de dcision e e en statistiques, 1 ou de reconnaissance des formes . Attention cependant, en statistiques, un probl`me dit de classication est ce que nous dnommons un probl`me de e e e segmentation (cf. chap. 11). Dnition 1 On dispose dun ensemble X de N exemples, i.e. des couples e (donne, tiquette). Chaque donne xi D est caractrise par P attributs e e e e e et par sa classe yi Y. Dans un probl`me de classication supervise, la classe e e prend sa valeur parmi un ensemble Y ni. Le probl`me consiste alors, en sape puyant sur lensemble dexemples X = {(xi , yi )i{1,...,N } }, ` prdire la classe de a e toute nouvelle donne x D. e On parle de classication binaire quand le nombre de classes |Y| est 2 ; il peut naturellement tre quelconque. Dans tous les cas, il sag dun attribut e t qualitatif pouvant prendre un nombre ni de valeurs. Dans labsolu, une donne peut appartenir ` plusieurs classes : cest alors un e a probl`me multi-classes. Ici, on consid`re que chaque donne appartient ` une et e e e a une seule classe.
1. pattern recognition en anglais

11

12

CHAPITRE 2. LA CLASSIFICATION SUPERVISEE

hypoth`se e reprsentativit e e exemples

de des

Concernant le vocabulaire, on utilise le mot tiquette comme synonyme e de classe . On utilise donc un ensemble dexemples pour prdire la classe de nouvelles e donnes ; cest une tche d apprentissage ` partir dexemples , ou d ape a a prentissage supervis . e Une hypoth`se est implicitement admise : les exemples dont on dispose sont e reprsentatifs de lensemble des donnes. Notons quen gnral, on est incapable e e e e de dterminer si cette hypoth`se est vrie pour un jeu dexemples donn. e e e e e Notons que typiquement, dans un probl`me de classication, le nombre e dexemples (les donnes pour lesquelles on dispose de leur classe) est petit : e ltiquetage des donnes est en gnral eectu ` la main, ce qui entra un e e e e e a ne cot lev de cet tiquetage, donc de lobtention dun nombre important dexu e e e emples. Nous sommes alors dans un probl`me de statistique o` lchantillon est e u e petit. Dnition 2 Un classeur est une procdure (un algorithme) qui, ` partir e e a dun ensemble dexemples, produit une prdiction de la classe de toute donne. e e Dune mani`re gnrale, un classeur proc`de par e e e e induction : ` para tir dexemples (donc de cas particuliers), on construit une connaissance plus gnrale 2 . La notion dinduction de connaissances implique la notion de e e gnralisation e e de la connaissance : ` partir de connaissances parses, les a e exemples, on induit une connaissance plus gnrale. Naturellement, mme si e e e lon suppose que la classe des tiquettes nest pas errone, il y a un risque dere e reur lors de la gnralisation ; ce risque est quanti par la notion de e e e taux dchec , ou d erreur en gnralisation , qui sera dnie prcisment plus e e e e e e loin (cf. chap. 3, sec. 3.7). Quand on tente dinduire de la connaissance, il faut dterminer, au moins e implicitement, la pertinence des attributs pour la prdiction de ltiquette dune e e donne quelconque : cest cela gnraliser . Dune mani`re ou dune part, e e e e explicitement ou pas, gnraliser implique de construire un mod`le des donnes. e e e e ` lextrme, il est aussi gros La taille de ce mod`le est un param`tre important. A e e e que lensemble des exemples : dans ce cas, on na rien appris, rien gnralis e e e et on est incapable deectuer une prdiction able pour une donne qui ne se e e ` trouve pas dans lensemble des exemples : on a sur-appris. A un autre extrme, e on peut navoir appris que les proportions des direntes tiquettes dans lespace e e des donnes : par exemple, 1/3 des donnes sont bleues et les autres sont rouges, e e cela sans lien avec la description des donnes ; prdire la classe revient alors ` e e a tirer la classe au hasard avec ces proportions un tiers/deux tiers : on a pris trop de recul et on nest plus capable deectuer une prdiction able pour une donne e e
2. dans le cas de la dduction, on part dune connaissance gnrale pour obtenir une infore e e mation sur un cas particulier.

2.2. UNE APPROCHE NA IVE

13

particuli`re. Entre ces deux extrmes, il y a un juste milieu o` le mod`le a pris e e u e du recul par rapport aux exemples, a su extraire les informations pertinentes du jeu dexemples pour dterminer ltiquette de nimporte quelle donne avec e e e une probabilit leve de succ`s ; le mod`le est alors de taille modre et la e e e e e ee probabilit derreur de ce mod`le est la plus faible que lon puisse obtenir : on e e a un mod`le optimisant le rapport qualit/prix, i.e. probabilit deectuer une e e e prdiction correcte/cot du mod`le. La recherche dun mod`le optimisant ce e u e e rapport est lobjectif de lapprentissage automatique, lequel est lun des outils indispensables pour la raliser de la fouille de donnes. e e Rappelons 3 que parmi les mod`les, on distingue ceux qui peuvent tre ine e terprts par un humain (arbre de dcision par exemple) et ceux qui ne le ee e peuvent pas (rseau de neurones par exemple). e Notons aussi que lon peut voir la construction dun mod`le comme une e mani`re de compresser linformation contenue dans un jeu dexemples. e On distingue deux grands types de classeurs : ceux qui utilisent directement les exemples pour prdire la classe dune e donne ; e ceux pour lesquels on a dabord construit un mod`le et qui, ensuite, e utilisent ce mod`le pour eectuer leur prdiction. e e Il ne faut quand mme pas tomber dans une vision trop simpliste : il existe e naturellement une gradation entre ces deux extrmes. e Plusieurs probl`mes sont ` rsoudre : e a e mthode dinduction du classeur ? e comment utiliser le classeur obtenu ? comment valuer la qualit du classeur obtenu : taux derreur (ou de e e succ`s) ? e comment traiter les attributs manquants dans le jeu dapprentissage ? comment traiter les attributs manquants dans une donne ` classer ? e a estimer la tolrance au bruit : le bruit concerne ici la valeur des attributs e de lexemple avec lequel on construit le classeur.

2.2

Une approche na ve

Ide : utiliser une table de look-up et y stocker tous les exemples. e Pour prdire la classe dune instance : rechercher cette instance dans la table. e Si elle sy trouve, renvoyer sa classe ; sinon, tirer sa classe au hasard. Evaluation du classeur : 100 % de russite sur les donnes de lensemble e e
3. on la dj` dit au chap. 1, sec. 1.2.5. ea

14

CHAPITRE 2. LA CLASSIFICATION SUPERVISEE

dexemples ; 50 % pour les autres donnes 4 . e Discussion : linduction de classeur est une tche complexe : si le classeur a obtenu na pas de performance suprieure ` une procdure alatoire, il nest pas e a e e intressant. Donc, ce classeur nest pas intressant. e e Pour tre intressant, un classeur doit pouvoir gnraliser ` partir des e e e e a exemples qui lui ont t fournis. ee Remarque : le classeur propos plus haut fait de lapprentissage par cur. e Dans la suite, on va seorcer de construire des classeurs rellement e intressant. Ainsi, on va prsenter plusieurs algorithmes dinduction de classeurs. e e Ce sont les plus connus et les plus rpandus ; dautres existent : en fait, seule e limagination nous limite !

2.3

Exercice

Exercice 1 Avant de lire la suite, essayer dimaginer des mthodes de classie cation.

4. en supposant que les deux valeurs de classe sont qui-rparties dans lespace des donnes : e e e dans ce cas, on tire la classe au hasard.

Chapitre 3

Classication par arbres de dcision e


Contenu
3.1 3.2 Construction dun arbre de dcision . . . . . . . . e Exemple de construction dun arbre de dcision e par ID3 . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 3.2.2 3.3 3.4 Construction . . . . . . . . . . . . . . . . . . . . . . Interprtation de larbre . . . . . . . . . . . . . . . . e 17 21 21 23 24 25 25 27 27 28

Utilisation de larbre de dcision pour classer une e donne . . . . . . . . . . . . . . . . . . . . . . . . . . e Les attributs numriques . . . . . . . . . . . . . . . e 3.4.1 3.4.2 3.4.3 Test dun attribut numrique . . . . . . . . . . . . . e Rapport de gain . . . . . . . . . . . . . . . . . . . . Application : construction dun arbre de dcision en e prsence dattributs numriques . . . . . . . . . . . . e e

3.5

Valeurs dattributs manquantes . . . . . . . . . . . 3.5.1 3.5.2 Classication dune donne ayant des attributs non e valus . . . . . . . . . . . . . . . . . . . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . .

Attributs non valus dans lensemble dapprentissage 28 e 29 30 31 32 33 33 33 34 37

3.6 3.7

ID3 vs. C4.5 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5

Validation dun arbre de dcision . . . . . . . . . . e Mesures de qualit dun classeur . . . . . . . . . . . e Validation croise . . . . . . . . . . . . . . . . . . . . e Technique du leave-one-out . . . . . . . . . . . . . . Technique de bootstrap (= bagging) . . . . . . . . . . Conance dans lestimation de lerreur . . . . . . . .

3.8

Sur-apprentissage . . . . . . . . . . . . . . . . . . .

15

16

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION


Elagage

3.9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39 39 40 41 41

3.10 Illustration sur les iris

3.11 Critique . . . . . . . . . . . . . . . . . . . . . . . . . 3.12 Logiciels libres . . . . . . . . . . . . . . . . . . . . . 3.13 Exercices . . . . . . . . . . . . . . . . . . . . . . . .

Quest ce quun arbre de dcision ? e

Utilisation dun arbre de dcision e

On se donne un ensemble X de N exemples nots xi dont les P attributs e sont quantitatifs ou qualitatifs. Chaque exemple x est tiquet, cest-`-dire quil e e a lui est associe une classe ou un attribut cible que lon note y Y. e ` A partir de ces exemples, on construit un arbre dit de dcision tel que : e chaque nud correspond ` un test sur la valeur dun ou plusieurs attributs ; a chaque branche partant dun nud correspond ` une ou plusieurs valeurs a de ce test ; ` chaque feuille est associe une valeur de lattribut cible. a e Larbre de dcision peut tre ensuite exploit de direntes mani`res : e e e e e 1. en y classant de nouvelles donnes ; e 2. en faisant de lestimation dattribut (cf. sec. 3.3) ; 3. en en extrayant un jeu de r`gles de classication concernant lattribut cible e (pour cela, cf. chap. 6) ;

Un exemple tr`s simple e

4. en interprtant la pertinence des attributs (cf. sec. 3.2.2). e Dans ce qui suit et dans les chapitres qui suivent, on illustrera notre propos avec un exemple de jeu de donnes : un ensemble de jours (un jour = un e exemple), chacun caractris par un numro et ses conditions mtorologiques e e e ee (temprature, humidit de lair, force du vent, ciel), lattribut cible tant jouer e e e au tennis ? , dont les valeurs possibles sont oui et non. Une fois larbre de dcision construit, on pourra classer une nouvelle donne pour savoir si on joue e e ou non ce jour-l` (cf. table 3.1). a Notons que si la classe ne prend que deux valeurs (comme dans lexemple jouer au tennis ? ), on parle de classication binaire. Par convention, une donne dont la classe est oui est qualie de positive, alors quune donne e e e dont la classe est non est qualie de ngative. Plus gnralement, les classes e e e e peuvent signier nimporte quoi : rouge ou vert, grand ou petit, ... Dans chaque cas, on peut dnir adquatement ce que lon entend par positif et ngatif. e e e La gure 3.1 prsente un arbre de dcision pour lexemple. (Cet arbre est un e e arbre de dcision possible pour ce jeu de donnes ; nous ne prtendons pas quil e e e rsulte de lapplication des algorithmes qui vont tre dcrits plus loin, ni mme e e e e quil est dun quelconque intrt, sinon pdagogique.) La donne 1 de la table 3.1 ee e e e est prdite comme oui car son attribut humidit vaut Eleve , donc e e on suit la branche droite partant de la racine et on atteint le nud Vent , et lattribut Vent vaut Faible , ce qui nous fait suivre la branche gauche de ce nud et atteindre une feuille tiquete oui (celle du milieu sur la gure). e e

3.1. CONSTRUCTION DUN ARBRE DE DECISION

17

Figure 3.1 Un exemple darbre de dcision sur le jeu de donnes e e tennis ? .

jouer au

De mme, la donne 2 sera prdite comme de classe e e e non et la donne 5 e sera prdite de classe oui en saiguillant directement depuis la racine vers e la feuille oui ` la gauche de la gure. a Concernant le vocabulaire, on dira quune donne est couverte par un nud e (resp., une feuille) si sa description am`ne la donne de la racine jusque ce e e nud (resp., cette feuille). Ainsi, toutes les donnes sont couvertes par la racine e (puisque lon a encore test aucun attribut) ; toutes les donnes dont lattribut e e e Eleve sont couvertes par le nud testant lattribut Humidit vaut e Vent ...

couverture dune donne e par un nud ou une feuille dun arbre de dcision e

3.1

Construction dun arbre de dcision e

Prcisons tout de suite que la construction dun arbre de dcision optimal e e est un probl`me N P-complet (cf. annexe C), optimal au sens o` il minimise e u le nombre derreurs de classication. Aussi, il ne faut pas avoir lespoir de construire larbre de dcision optimal pour un jeu dexemples donn. On va se e e contenter den construire un qui soit correct. Plusieurs algorithmes ont t proee poss, notamment CART dans les annes 1980 par Breiman et al. [1984]. On e e dcrit ici lalgorithme ID3 de R. Quinlan propos en 1986 qui a t ran par la e e ee e suite (C4.5 puis C5) (cf. Quinlan [1993]). On constate exprimentalement que e ces algorithmes sont tr`s performants : ils construisent rapidement des arbres e de dcision qui prdisent avec une assez grande abilit la classe de nouvelles e e e donnes. e ID3 ne prend en compte que des attributs nominaux. Son successeur, C4.5, prend galement en charge des attributs quantitatifs. Dans la suite, on suppose e donc pour linstant que tous les attributs sont nominaux. On suppose que la

18 Principe de construction dun arbre de dcision par e lalgorithme ID3

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Entropie

classe est binaire. Les tests placs dans un nud par lalgorithme ID3 concernent exclusivement e le test de la valeur dun et seul attribut (comme lexemple darbre de dcision e rencontr plus haut, cf. g. 3.1). ID3 fonctionne rcursivement : il dtermine un e e e attribut ` placer en racine de larbre. Cette racine poss`de autant de branches a e ` que cet attribut prend de valeurs. A chaque branche est associ un enseme ble dexemples dont lattribut prend la valeur qui tiquette cette branche ; on e accroche alors au bout de cette branche larbre de dcision construit sur ce e sous-ensemble des exemples et en considrant tous les attributs except celui e e qui vient dtre mis ` la racine. Par cette procdure, lensemble des exemples e a e ainsi que lensemble des attributs diminuent petit ` petit au long de la descente a dans larbre. Ayant lide de lalgorithme, il reste ` rsoudre une question centrale : quel e a e attribut placer en racine ? Une fois cette question rsolue, on itrera le raisone e nement pour les sous-arbres. Lintuition de la rponse ` cette question est que lon tente de rduire e a e lhtrogn e ` chaque nud : les donnes qui atteignent un certain nud e e e et a e de larbre de dcision doivent tre plus homog`nes que les donnes atteignant e e e e un nud anctre. Pour cela, on a besoin de pouvoir lhomogn e dun ensemble e e et de donnes. En physique, on mesure lhomogn e par lentropie. e e et Pour cela, nous avons besoin de dnir quelques notions. Commenons par e c lentropie introduite initialement par Shannon [1948], notion hrite de la there e modynamique o` lentropie dun syst`me est dautant plus grande quil est u e dsordonn, htrog`ne. e e ee e Dnition 3 Soit un ensemble X dexemples dont une proportion p+ sont posie tifs et une proportion p sont ngatifs. (Bien entendu, p+ + p = 1.) Lentropie e de X est : H(X ) = p+ log2 p+ p log2 p Remarques : 1. 0 H(X ) 1 ; 2. si p+ = 0 ou p = 0, alors H(X ) = 0 : ainsi, si tous exemples sont soit tous positifs, soit tous ngatifs, lentropie de la population est nulle ; e 3. si p+ = p = 0, 5, alors H(X ) = 1 : ainsi, sil y a autant de positifs que de ngatifs, lentropie est maximale. e La gure 3.2 reprsente la fonction entropie en fonction de p+ . e En rsum, lentropie mesure lhtrognit dune population du point de e e ee e e e vue de la classe de ses membres. Elle se mesure en bits. Cest en fait une mesure de la quantit dinformation quil y a dans X du point de vue de la classe e (3.1)

3.1. CONSTRUCTION DUN ARBRE DE DECISION

19

de ses lments. Cette quantit est lie ` la probabilit dexistence de cette ee e e a e combinaison de rpartition de la classe parmi ces lments si la classe rsulte e ee e dun tirage alatoire : il est tr`s improbable que tous les exemples soient de la e e mme classe ; il est au contraire tr`s probable que les exemples soient ` peu pr`s e e a e quitablement rpartis entre les direntes classes. Une autre interprtation de e e e e la notion dentropie concerne lincertitude du rsultat du tirage au sort dans e une population : quand les deux classes sont quitablement rparties dans la e e population, cest l` que lissue du tirage dun lment au hasard est la plus a ee incertaine, lentropie est alors maximale. La dnition prcdente de lentropie se gnralise aisment ` un attribut e e e e e e a pouvant prendre plus de deux valeurs distinctes : Dnition 4 Pour une classe prenant n valeurs distinctes (numrotes de 1 ` e e e a n), notons pi[1,n] la proportion dexemples dont la valeur de cet attribut est i dans lensemble dexemples considr X . Lentropie de lensemble dexemples X e e est :
i=n

H(X ) =

pi log2 pi
i=1

(3.2)

Intuitivement, avoir des sous-sensembles dont lentropie est minimale est intressant : cela signie que lattribut placer ` la racine discrimine les exemples e a en fonction de leur classe. Il est naturel de sommer ces entropies en les pondrant e en fonction de la proportion dexemples dans chacun des sous-ensembles. Intuitivement toujours, voulant slectionner lattribut discriminant au e mieux, on peut utiliser la dirence entre lentropie de lensemble dexemples e initial (utilis pour dterminer la racine) et cette somme pondre pour trouver e e ee lattribut le plus intressant ` placer dans la racine. Lattribut qui maximise e a cette dirence est lattribut qui discrimine le mieux les exemples en fonction e
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 pEntropie (E)

0.1

0.2

0.3

0.4

0.5 p+

0.6

0.7

0.8

0.9

Figure 3.2 Graphe de lentropie dune population : en abscisse, la proportion dexemples positifs dans la population p+ . En ordonne, lentropie de la e population.

20

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Gain dinformation

de leur classe. Cette dirence porte le nom de gain dinformation et se dnit e e comme suit : Dnition 5 Soit une population dexemples X . Le gain dinformation de X e par rapport ` un attribut aj donn est la variation dentropie cause par la a e e partition de X selon aj : Gain (X , aj ) = H(X ) |Xaj =v | H(Xaj =v ) |X | (3.3)

valeurs(aj )

o` Xaj =v X est lensemble des exemples dont lattribut considr aj prend u e e la valeur v, et la notation |X | indique le cardinal de lensemble X . Illustrons cette formule avec un exemple simple : on suppose quun attribut aj prend 3 valeurs : aj {v1 , v2 , v3 }. La partition de X selon aj produit 3 parties Xaj =v1 , Xaj =v2 et Xaj =v3 . Le gain dinformation est : H(X ) [ |Xaj =v2 | |Xaj =v3 | |Xaj =v1 | H(Xaj =v1 ) + H(Xaj =v2 ) + H(Xaj =v3 )]] |X | |X | |X |

Le terme entre [] est la moyenne des entropies des 3 parties. Le gain est donc la dirence entre lentropie moyenne des exemples X et lentropie moyenne une e fois que X a t partitionn selon les valeurs de aj . Lors du partitionnement, ee e chaque sous-partie est forcment moins htrog`ne que lensemble dexemples. e ee e Aussi, la moyenne des entropies des 3 sous-parties est-elle forcment plus petite e que lentropie de X ; aussi, la dirence entre les deux mesure-t-elle lamplie tude dhomogn e esation des sous-parties lors de la partition selon les valeurs de lattribut considr. Plus cette dirence est grande, plus lhomogn ee e e esation est grande ; il est donc pertinent de partitionner X selon lattribut qui maximise ce gain dinformation. Exemple : supposons que X soit constitu de 14 exemples, 9 positifs et e 5 ngatifs. Parmi ces exemples, 6 positifs et 2 ngatifs prennent la valeur e e oui pour lattribut a, tandis que les autres exemples prennent la valeur non pour cet attribut. Gain (X , a) = H(X ) |Xa=v | H(Xa=v ) |X |

v{oui,

non}

Gain (X , a) = H(X ) On a :

6 8 H(Xa=oui ) H(Xa=non ) 14 14

6 2 2 6 H(Xoui ) = ( ln2 + ln2 ) 0, 811 8 8 8 8 et

3.2. EXEMPLE DE CONSTRUCTION DUN ARBRE DE DECISION PAR ID321

3 3 3 3 H(Xnon ) = ( ln2 + ln2 ) = 1, 0 6 6 6 6 Do` : u Gain (X , a) 0.940 6 8 0, 811 1, 0 14 14

Gain (X , a) 0, 048 Le gain dinformation en classant le jeu de dexemples X par rapport ` a est a donc : 0, 048. Le principe de lalgorithme ID3 pour dterminer lattribut ` placer ` la e a a racine de larbre de dcision peut maintenant tre exprim : rechercher lattribut e e e qui poss`de le gain dinformation maximum, le placer en racine, et itrer pour e e chaque ls, cest-`-dire pour chaque valeur de lattribut. Cela tant dit, on peut a e donner lalgorithme ID3 : cf. lalgorithme 1.

3.2

Exemple de construction dun arbre de dcision par ID3 e


Construction

3.2.1

Sur un exemple, on montre la construction dun arbre de dcision par ID3. e On consid`re lensemble exemplees de la table 3.1. Lattribut cible est donc e Jouer au tennis ? . Droulons ID3 : e 1. cration dune racine e 2. les exemples ntant ni tous positifs, ni tous ngatifs, lensemble des ate e tributs ntant pas vide, on calcule les gains dinformation pour chaque e attribut : Attribut Ciel Humidit e Vent Temprature e Gain 0, 246 0, 151 0, 048 0, 029 Ciel ;

Donc, la racine de larbre de dcision testera lattribut e

3. lattribut Ciel peut prendre trois valeurs. Pour Ensoleill , ID3 e est appel rcursivement avec 5 exemples : {x1 , x2 , x8 , x9 , x11 }). Les gains e e dinformation des 3 attributs restants sont alors :

22

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Algorithme 1 ID3 Ncessite: 2 param`tres : lensemble dexemples X , lensemble dattributs A = e e {aj{1,...p} } o` p est le nombre dattributs restants ` considrer u a e Crer un nud racine e si tous les lements de X sont positifs alors e racine. tiquette e return racine n si si tous les lments de X sont ngatifs alors ee e racine. tiquette e return racine n si si A = alors racine. tiquette valeur la plus prsente de la classe parmi les X e e return racine n si a arg maxaA gain(X , a) racine. tiquette a e pour toutes les valeurs vi de a faire ajouter une branche ` racine correspondant ` la valeur vi a a former Xa =v i X dont lattribut a vaut vi si Xa =v i = alors a ` lextrmit de cette branche, mettre une feuille tiquete avec la valeur e e e e la plus prsente de la classe parmi les X e sinon a ` lextrmit de cette branche, mettre ID3 (Xa =v i , A {a }) e e n si n pour return racine

3.2. EXEMPLE DE CONSTRUCTION DUN ARBRE DE DECISION PAR ID323

Table 3.1 Jeu de donnes e Jour 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Ciel Ensoleill e Ensoleill e Couvert Pluie Pluie Pluie Couvert Ensoleill e Ensoleill e Pluie Ensoleill e Couvert Couvert Pluie Temprature e Chaude Chaude Chaude Ti`de e Fra che Fra che Fra che Ti`de e Fra che Ti`de e Ti`de e Ti`de e Chaud Ti`de e

jouer au tennis ? Vent Faible Fort Faible Faible Faible Fort Fort Faible Faible Faible Fort Fort Faible Fort Jouer au tennis ? Non Non Oui Oui Oui Non Oui Non Oui Oui Oui Oui Oui Non

Humidit e ee Elev e Eleve e Eleve e Eleve Normale Normale Normale e Eleve Normale Normale Normale e Eleve Normale e Eleve

Attribut Humidit e Vent Temprature e

Gain 0, 970 0, 570 0, 019

(Rappel : le gain dinfo est ici calcul uniquement sur les exemples dont e lattribut Ciel vaut Ensoleill , soit XCiel=Ensoleill avec notre e e notation.) Lattribut Humidit sera donc choisi ; on continue la cone struction de larbre de dcision rcursivement ; e e 4. pour la branche Pluie partant de la racine, ID3 est appel e rcursivement avec 5 exemples : {x4 , x5 , x6 , x10 , x14 } ; on continue la cone struction de larbre de dcision rcursivement ; e e 5. pour la branche Couvert partant de la racine, ID3 est appel e rcursivement avec 4 exemples : {x3 , x7 , x12 , x13 } ; dans ce dernier cas, e tous les exemples sont positifs : on aecte donc tout de suite la classe oui ` cette feuille. a

3.2.2

Interprtation de larbre e

Remarquons que larbre de dcision qui vient dtre construit nous donne e e des informations sur la pertinence des attributs vis-`-vis de la classe. Ainsi, a lattribut Temprature e ntant pas utilis dans larbre ; ceci indique que e e cet attribut nest pas pertinent pour dterminer la classe. En outre, si lattribut e

Analyse de larbre de dcision ; pretinence des e attributs

24

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Ciel Ensoleill e Humidit e e Eleve non Normale oui Couvert oui Fort non Pluie Vent Faible oui

Figure 3.3 Arbre de dcision obtenu pour lexemple du texte e tennis ? .

jouer au

Ciel Ciel

vaut Ensoleill , lattribut Vent nest pas pertinent ; si lattribut e vaut Pluie , cest lattribut Humidit qui ne lest pas. e

3.3

Utilisation de larbre de dcision pour e classer une donne e

Algorithme de dtermination de la classe dune donne dont tous les attributs e e sont valus : cf. algorithme 2. e Algorithme 2 Classication dune donne dans un arbre de dcision e e Ncessite: 2 param`tres : arbre de dcision AD, exemple x e e e // on utilise une variable nc (nud courant) pour parcourir larbre nc racine (AD) tant-que nc = feuille faire en fonction de lattribut test dans nc et de sa valeur dans x, suivre lune e des branches de nc. Le nud atteint devient nc n tant-que retourner tiquette(nc) e

Par exemple, on peut prdire la classe pour les donnes suivantes : e e e (Ensoleill, Fra e che, Eleve, Fort) est classe comme non ; e (Ensoleill, Fra e che, Normale, Fort) est classe comme oui ; e (Pluie, Chaude, Normale, Faible) est classe comme oui ; e e (Pluie, Fra che, Eleve, Fort) est classe comme oui . e

3.4. LES ATTRIBUTS NUMERIQUES

25

Table 3.2 Jeu de donnes jouer au tennis ? avec des attributs quantitatifs e et nominaux. Jour Ciel Temprature Humidit Vent e e Jouer au tennis ? 1 Ensoleill 27, 5 e 85 Faible Non 2 Ensoleill 25 e 90 Fort Non 3 Couvert 26, 5 86 Faible Oui 4 Pluie 20 96 Faible Oui 5 Pluie 19 80 Faible Oui 6 Pluie 17, 5 70 Fort Non 7 Couvert 17 65 Fort Oui 8 Ensoleill 21 e 95 Faible Non 9 Ensoleill 19, 5 e 70 Faible Oui 10 Pluie 22, 5 80 Faible Oui 11 Ensoleill 22, 5 e 70 Fort Oui 12 Couvert 21 90 Fort Oui 13 Couvert 25, 5 75 Faible Oui 14 Pluie 20, 5 91 Fort Non

3.4
attributs

Les attributs numriques e

et riques e

Successeur dID3, C4.5 prend en compte les attributs numriques, cest-`e a dire, des attributs dont larit est leve (voire innie). Hormis cela et quelques e e e dtails dcrits plus loin, la construction dun arbre de dcision par C4.5 est e e e identique dans son principe ` la construction par ID3. a Dans le cas de C4.5, un nud de larbre de dcision peut contenir un test du e fait que la valeur dun attribut numrique est infrieure ou gale ` un certain e e e a seuil : cela correspond donc ` un nouveau pseudo-attribut binaire. C4.5 ne a dispose pas dautres possibilits de prendre en compte ce type dattributs. Nous e ne dcrivons donc que cette possibilit. e e Dans ce qui suit, nous illustrons notre propos sur le jeu de donnes jouer e au tennis ? dans lequel les attributs Temprature et Humidit ont e e t numriss (cf. table 3.2). ee e e

3.4.1

Test dun attribut numrique e

On explique le principe sur un exemple simple bas sur le jeu de donnes e e jouer au tennis ? . Considrons les exemples dont lattribut Ciel vaut e Ensoleill , soit lensemble XCiel=Ensoleill dexemples ayant un seul ate e tribut numrique comme suit : e

26

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Jour 1 2 8 9 11

Temprature e 27, 5 25 21 19, 5 22, 5

jouer au tennis non non non oui oui

On commence par trier les exemples sur la valeur de leur attribut numrique. e ` chaque attribut, on associe le numro de son exemple associ ainsi que la A e e valeur de lattribut cible : Temprature e Jour jouer au tennis ? 19, 5 9 oui 21 8 non 22, 5 11 oui 25 2 non 27, 5 1 non

On dtermine le seuil s pour partitionner cet ensemble dexemples. C4.5 e utilise les r`gles suivantes : e 1. ne pas sparer deux exemples successifs ayant la mme classe ; donc, on e e ne peut couper quentre les exemples x9 et x8 , x8 et x11 , x11 et x2 ; 2. si on coupe entre deux valeurs v et w (v < w) de lattribut, le seuil s est x ` v (on aurait pu aussi utiliser v+w ) ; ea 2 3. choisir s de telle mani`re que le gain dinformation soit maximal. e Remarque : une fois le seuil s x et le nud cr, chaque sous-arbre pourra e ee a ` nouveau tester la valeur de cet attribut ; en eet, contrairement au cas des attributs qualitatifs qui produisent des nuds ayant autant de branches que lattribut prend de valeurs direntes, lensemble des valeurs prises par un ate tribut numrique est coup en deux : chaque partie peut donc encore tre rane e e e e jusqu` ne contenir que des exemples ayant mme valeur cible. a e Application : lentropie de lensemble dexemples est : 2 2 3 3 H(X ) = ( ln2 + ln2 ) 0, 971 5 5 5 5 Pour s = 21, le gain dinformation est : 1 4 Gain(X , Temprature, s = 21) = H(X )( H(XTemprature21 )+ H(XTemprature>21 )) e e e 5 5 avec : H(XTemprature21 ) = (1/2 ln2 1/2 + 1/2 ln2 1/2) = 1 e et 1 1 2 2 H(XTemprature>21 ) = ( ln2 + ln2 ) 0, 390 e 3 3 3 3

3.4. LES ATTRIBUTS NUMERIQUES

27

soit 2 3 Gain(X , s = 21) 0, 971 ( 1 + 0, 390) 0, 337 5 5 De la mme mani`re, en fonction du seuil, le gain dinformation est alors : e e seuil s = 21 s = 22, 5 s = 25 Gain(X , Temprature, s) e 0, 337 ???? ????

Nous avons montr sur un exemple comment choisir le seuil pour un attribut e donn. Naturellement, dans son action, C4.5 eectue ce traitement pour chaque e attribut quantitatif et dtermine donc pour chacun un seuil produisant un gain e dinformation maximal. Le gain dinformation associ ` chacun des attributs e a quantitatifs est celui pour lequel le seuil entra un maximum. Finalement, ne lattribut choisi (parmi les quantitatifs et les nominaux pour lesquels le principe est identique ID3) est celui qui produit un gain dinformation maximal.

3.4.2

Rapport de gain

En prsence dattribut numrique ou dattribut darit leve, ceux-ci sont e e ee e automatiquement favoriss pour tre slectionns comme test dans les nuds. e e e e Pour contrecarrer cet eet, C4.5 utilise le rapport de gain au lieu du gain dinformation pour dterminer lattribut ` utiliser dans un nud. e a Le rapport de gain est dni par : e Rapport de gain(X , a) = o` : u SplitInfo(X , a) =
vvaleurs(a)

Gain(X , a) SplitInfo(X , a)

|Xa=v | |Xa=v | ln2 |X | |X |

Contrairement ` ID3 qui choisit lattribut ayant le gain maximal, C4.5 choisit a lattribut ayant le rapport de gain maximal pour le placer ` la racine de larbre a de dcision. e

3.4.3

Application : construction dun arbre de dcision en e prsence dattributs numriques e e

On reprend le mme exemple ( jouer au tennis ? ) avec cette fois-ci des e valeurs numriques pour les attributs e Temprature e (en C) et Humidit (en pourcentage) (cf. table 3.2). e On obtient larbre de dcision de la gure 3.4. e

28

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Ciel Ensoleill e Humidit 75 e non non oui oui Couvert oui Fort non Pluie Vent Faible oui

Figure 3.4 Arbre de dcision obtenu pour des attributs numriques sur le jeu e e de donnes jouer au tennis ? . e

3.5

Valeurs dattributs manquantes

Nous abordons le probl`me des exemples dont la valeur de certains ate tributs est manquante, probl`me concret extrmement frquent. ID3 ne dispose e e e daucune possibilit pour grer ce manque dinformation ; C4.5 dispose dun e e mcanisme qui est dcrit ci-dessous. e e On distingue deux cas : certains attributs des exemples de lensemble dapprentissage sont non valus ; certains attributs de la donne ` classer sont non e e a valus. On traite successivement ces deux cas dans la suite de cette section. e

3.5.1
dirents rem`des pour e e les attributs manquants

Attributs non valus dans lensemble dapprentise sage

Plusieurs solutions peuvent tre envisages, les plus gnrales tant : e e e e e on laisse de ct les exemples ayant des valeurs manquantes ; ennuyeux oe car le nombre dexemples diminue ; le fait que la valeur de lattribut soit manquante est une information en soit : on ajoute alors une valeur possible ` lensemble des valeurs de cet a attribut qui indique que la valeur est inconnue ; la valeur la plus courante pour lattribut en question parmi les exemples classes dans ce nud est aecte ` la place de la valeur manquante ; e e a les direntes valeurs observes de cet attribut parmi les exemples couverts e e par le mme nud sont aectes avec des proids dirents en fonction de e e e la proportion dexemples de lensemble dapprentissage couverts par ce nud pour les direntes valeurs de cet attribut. e Cest cette derni`re possibilit qui est utilise par C4.5. D`s lors, des fractions e e e e dexemples sont utilises pour continuer la construction de larbre. Il faut alors e adapter le calcul du gain dinformation.

stratgie C4.5 pour les ate tributs manquants ` la a construction de larbre

3.5. VALEURS DATTRIBUTS MANQUANTES

29

Pour calculer le gain dinformation, on ne tient compte que des exemples dont lattribut est valu. Soit X lensemble dexemples couverts par le nud e courant (dont on est en train de dterminer lattribut ` tester) et Xsans ? X e a les exemples dont lattribut est valu. On rednit : e e H(X ) = H(Xsans ? ) et |Xsans ?,a=v |
vvaleurs(a)

(3.4)

Gain (X , a)

(H(X ) |Xsans ? | |X |

|Xsans ? |

H(Xsans ?,a=v )) (3.5)

Exemple : supposons que lexemple x12 ait ? ` la place de Couvert comme a valeur de son attribut Ciel . Dterminons le test ` placer en racine de larbre e a de dcision. e Lentropie de lensemble dapprentissage X est maintenant : H(X ) = 8 5 8 5 ln2 ln2 0, 961 bits 13 13 13 13
13 14 (0.961 5 2 2 ( 13 ( 5 ln2 5 3 ln2 3 )+ 5 5 3 ( 3 ln2 3 0 ln2 0 )+ 13 5 5 3 3 5 3 2 3 2 13 ( 5 ln2 5 5 ln2 5 )))

Gain (X , Ciel)

0, 199 bits

Demeurant lattribut fournissant un gain maximal, Ciel est plac ` la ea 5 3 5 racine de larbre. Lexemple 12 est aect avec les poids 13 , 13 et 13 ` chacune e a des branches, respectivement Ensoleill , e Couvert et Pluie ; les autres exemples sont aects ` leur branche respective avec un poids 1 pour e a chacun.

3.5.2

Classication dune donne ayant des attributs non e valus e

On se place ic non plus dans la phase de construction de larbre de dcision, e mais lors de son utilisation pour prdire la classe dune donne. e e Lors de sa descente dans larbre, si un nud teste un attribut dont la valeur est inconnue, C4.5 estime la probabilit pour la donne de suivre chacune des e e branches en fonction de la rpartition des exemples du jeu dapprentissage coue verts par ce nud. Cela dtermine une fraction de donne qui poursuit sa dee e scente le long de chacune des branches.

30

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Arriv aux feuilles, C4.5 dtermine la classe la plus probable ` partir de ces e e a probabilits estimes. Pour chaque classe, il fait la somme des poids ; la classe e e prdite est celle dont le poids est maximal. e Exemple : dans larbre de dcision obtenu sur jouer au tennis ? avec des e attributs nominaux (cf. g. 3.3), classons la donne ( Ciel = ?, Temprature = e e Ti`de, Humidit = ?, Vent = Faible ). e e Le nud racine testant lattribut Ciel , sa valeur tant inconnue dans e cette donne ` classer, on calcule la proportion dexemples correspondant ` e a a chaque valeur : 5 4 5 Ensoleill ; e Couvert ; Pluie .

Donc, on poursuit la classication en transmettant les poids 5/14 vers le nud testant lattribut Humidit , 4/14 le long de la branche e Couvert vers ltiquette oui et 5/14 vers le nud testant lattribut Vent . e La valeur de lattribut Humidit e est inconnue galement. Parmi les e e exemples Ensoleill , il y en a 3 dont lattribut Humidit vaut Eleve , e e 2 dont cet attribut vaut Normale , soit 3/5 et 2/5 respectivement. Puisque 5/14 exemple a suivi cette branche depuis la racine, on obtient 5/143/5 = 3/14 exemple atteignant ltiquette non et 5/14 2/5 = 1/7 exemple atteignant e ltiquette oui . e Lattribut Vent a la valeur Faible ; le 5/14 dexemple qui ont suivi cette branche depuis la racine est donc class comme oui . e En rsum, il y a 3/14 exemple qui atteint une tiquette e e e 4/14 + 5/14 = 11/14 exemple qui atteint une tiquette oui e que la classe la plus probable de cette donne est oui . e non et 1/7 + . On en conclut

3.6

ID3 vs. C4.5

Dans cette section, on rsume les dirences entre ID3 et C4.5 et on donne e e lalgorithme de C4.5. Rappelons que si notre expos se concentre ici sur ces e deux algorithmes, ils en existent dautres. Simplement, ces deux algorithmes sont proches lun de lautre (C4.5 est une volution dID3) et, dun point de vue e pratique, C4.5 et C5, la version commerciale de C4.5, sont connus comme tr`s e performants. ID3 construit un arbre de dcision : e les attributs doivent tous tre qualitatifs et ils sont considrs comme e ee nominaux ; ne peut pas prendre en charge des exemples ou des donnes dans lesquels e il manque la valeur dattributs ;

3.7. VALIDATION DUN ARBRE DE DECISION

31

utilise les notions dentropie et de gain pour dterminer lattribut ` tester e a dans chaque nud. En ce qui concerne C4.5 : les attributs peuvent tre qualitatifs ou quantitatifs ; e peut utiliser des exemples dans lesquels la valeur de certains attributs est inconnue lors de la construction de larbre de dcision ; e peut prdire la classe de donne dont la valeur de certains attributs est e e inconnue ; utilise le rapport de gain pour dterminer lattribut ` tester dans chaque e a nud.

3.7

Validation dun arbre de dcision e

Une fois un arbre de dcision construit, il est essentiel de le valider en ese timant la probabilit que la classe prdite pour une donne quelconque soit e e e correcte 1 . Dpendant de lensemble de donnes qui est utilis pour la mesurer, e e e cette quantit est donc une variable alatoire dont il faut estimer la valeur. e e Notons que cette section ne concerne pas uniquement les arbres de dcision : ` e a quelques dtails pr`s, elle peut sappliquer ` tous les algorithmes de classication e e a qui seront vus par la suite. Dnitions : e Dnition 6 Lerreur de classication E dun classeur est la probabilit que e e ce classeur ne prdise pas correctement la classe dune donne de lespace de e e donnes. e Le taux de succ`s 2 est gal ` 1 E. e e a Une premi`re approche, na consiste ` faire cette estimation en comptant e ve, a le nombre dexemples utiliss pour construire larbre qui sont mal classes. e e Dnition 7 Lerreur apparente 3 Eapp est mesure avec les exemples utiliss e e e pour la construction du classeur : cest la proportion dexemples dont la classe est mal prdite par le classeur. e Eapp nest pas un bon estimateur de lerreur qui serait commise face ` a de nouvelles donnes ; en eet, lenjeu est bien l` : ` partir des exemples avec e a a lesquels larbre de dcision a t construit, lapprentissage doit pouvoir tre e ee e gnralis ` de nouvelles donnes. Cest l` lobjectif des algorithmes dapprene e ea e a tissage : un algorithme ne peut tre quali dalgorithme dapprentissage que e e sil est capable de gnraliser ce quil a appris. e e
1. error rate 2. success rate 3. resubstitution error.

erreur de classication = erreur en gnralisation = e e taux dchec = risque e taux de succ`s e

erreur apparente = erreur dentra nement = erreur dapprentissage = erreur empirique

32

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

jeu dapprentissage jeu de test

holdout

Lestimation de la qualit de larbre de dcision construit en tant que classeur e e de nouvelles donnes est donc un point capital. On distingue : e le jeu dexemples dapprentissage (not Xapp ) ou dentra e nement avec lequel larbre de dcision est construit ; e le jeu dexemples de test (not Xtest ) qui permet destimer les erreurs e de classication : pour ces exemples, on conna leur classe. On les classe t avec larbre de dcision construit avec Xapp puis on regarde sils sont e classs correctement. Bien entendu, idalement, lintersection entre jeu e e dapprentissage et jeu de test doit tre vide. On obtient alors une mesure e de lerreur de test Etest . Si lon ne dispose pas de jeu de test, on utilise le jeu dapprentissage de la mani`re suivante : on le dcoupe en deux parties ; lune constituera le jeu e e dapprentissage eectif pour construire larbre de dcision ; lautre serviva ` e a lvaluer (technique de holdout, ou retenue). e

3.7.1

Mesures de qualit dun classeur e

On dnit ici quelques notions simples largement utilises. e e On suppose que lon a construit un classeur (un arbre de dcision ou un e autre) ` partir dun jeu dexemples ; ces mesures ncessitent un jeu dexemples a e qui peut tre le jeu dapprentissage ou un jeu de test. e On dnit dans le cas de classication binaire, sachant que les dnitions e e sont aisment extensibles aux autres cas : e Dnition 8 e VP : le nombre de vrais positifs : les exemples de classe positive et dont la classe est prdite comme positive ; e VN : le nombre de vrais ngatifs : les exemples de classe ngative et dont e e la classe est prdite comme ngative ; e e FP : le nombre de faux positifs : les exemples de classe ngative et dont e la classe est prdite comme positive ; e FN : le nombre de faux ngatifs : les exemples de classe positive et dont e la classe est prdite comme ngative. e e matrice de confusion On peut alors visualiser ces informations dans une + VP FP matrice de confusion :

+ classe

classe prdite e FN VN

Sil ny a des nombres non nuls que sur la diagonale principale, cest quaucun exemple nest mal class. e On peut dnir aussi deux statistiques, la prcision et le rappel : e e

3.7. VALIDATION DUN ARBRE DE DECISION

33

sion
VP e e prcision pour les positifs = V P +F P ; prcision pour les ngatifs = e VN ; V N +F N P VN rappel pour les positifs = V PV+F N ; rappel pour les ngatifs = V N +F P . e Intuitivement parlant, la prcision mesure la proportion dexemples vraie ment positifs (resp. ngatifs) parmi ceux qui sont classs comme positifs (resp. e e ngatifs). Le rappel mesure la proportion dexemples vraiment positifs (resp. e ngatifs) parmi tous les exemples classs comme positifs (resp. ngatifs). e e e Il est toujours plus pratique de manipuler un seul nombre qui synthtise les e autres. Ainsi la mesure F est dnie par : e

rappel

mesure F

F =

2 rappel prcision e 2 VP = rappel + prcision e 2 V P + FP + FN

Dautres mesures existent.

3.7.2

Validation croise e

validation croise e

Une mthode plus sophistique est la validation croise . Pour cela, on e e e dcoupe lensemble des exemples en n sous-ensembles mutuellement disjoints. e Il faut prendre garde ` ce que chaque classe apparaisse avec la mme frquence a e e dans les n sous-ensembles (stratication des chantillons). Si n = 3, cela produit e donc 3 ensembles A, B et C. On construit larbre de dcision ADAB avec AB e et on mesure son taux derreur sur C, cest-`-dire, le nombre dexemples de C a dont la classe est mal prdite par ADAB : EC . e Ensuite, on construit larbre de dcision ADBC avec B C et on mesure e lerreur sur A : EA . Enn, on construit larbre de dcision ADAC avec A C e en mesurant lerreur sur B : EB . Le taux derreur E est alors estim par la moyenne de ces trois erreurs e EA +EB +EC E= . 3 Habituellement, on prend n = 10. Cette mthode est dnomme validation e e e croise en n-plis (n-fold cross-validation). e

3.7.3

Technique du leave-one-out

Cette technique consiste ` eectuer une validation croise ` n = N plis en a e a laissant ` chaque fois un seul exemple de ct (N est le nombre dexemples dont a oe on dispose). Lerreur est estime par la moyenne des N erreurs mesures. e e

3.7.4

Technique de bootstrap (= bagging )

Le jeu dapprentissage est constitu en eectuant N tirages avec remise parmi e lensemble des exemples. Cela entra que certains exemples du jeu dapprentisne

34

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

sage seront vraisemblablement slectionns plusieurs fois, et donc que dautres e e ne le seront jamais. En fait, la probabilit quun certaine exemple ne soit jamais e tir est simplement : e 1 N ) N

(1

La limite quand N + de cette probabilit est e1 0, 368. e Les exemples qui nont pas t slectionns constituent le jeu de test. ee e e Le jeu dapprentissage contient 63,2 % des exemples du jeu dexemples initial (en moyenne). Lerreur est calcule en combinant lerreur dapprentissage Eapp et lerreur e de test Etest par la formule suivante : E = 0, 632 Etest + 0, 368 Eapp Ensuite, cette procdure est itre plusieurs fois et une erreur moyenne est e ee calcule. e

3.7.5

Conance dans lestimation de lerreur

Les recettes que nous venons de dcrire permettent de donner une ide de la e e probabilit de mal classer une nouvelle donne. On prsente ici comment C4.5 e e e dtermine un intervalle de conance pour cette estimation. e Cas o` on utilise un jeu de test dirent du jeu dapprentissage u e On suppose pour linstant que nous disposons dun jeu dexemples de test disjoint du jeu dexemples dapprentissage. Supposons que 25% des exemples du jeu de test soient mal classs ; cela e signie-t-il que le taux derreur de lalgorithme est de 25 % ? ... Non. On veut estimer lerreur E, cest-`-dire, la probabilit quune donne soit a e e mal classe par un classeur donn. Cette erreur est une variable alatoire. On e e e va sintresser ` en dterminer la valeur moyenne : cest-`-dire, disposant dun e a e a classeur construit avec N exemples, quelle est la valeur probable de E ? peut-on en donner un intervalle ? Donc, on suppose disposer dun classeur. On lui prsente une nouvelle e donne. Le classeur prdit une classe pour cette donne ; soit cette classe est e e e prdite correctement, soit elle lest incorrectement. On est donc face ` un e a vnement alatoire ayant deux possibilits : bien class ou mal class . e e e e e e E est donc la probabilit de lvnement mal class . e e e e Lerreur de test Xtest est donc :

3.7. VALIDATION DUN ARBRE DE DECISION

35

Xtest =

nombre dexemples de Xtest mal classs e |Xtest |

On veut donc estimer E avec Etest : Etest est un estimateur de E. Nous sommes en prsence dun processus de Bernouilli : une suite e dvnements dont chacun prend une valeur parmi deux (bien ou mal class). e e e Nous sommes face ` un probl`me exactement analogue ` la dtermination de a e a e la probabilit quune pi`ce tombe sur pile : on lance plusieurs fois une pi`ce e e e en lair et on compte le nombre de fois o` on lance la pi`ce (N ) ainsi que le u e nombre de fois o` elle tombe sur pile (Npile ). Quand N tend vers linni, on u
N pile sait que le rapport N tend vers p, la probabilit que la pi`ce tombe sur pile. e e La question que lon se pose ici est la suivante : nayant eectu que N lancers e (et non pas une innit) et mesur Npile , que puis-je dire sur p ? e e Cest cette question que nous tudions ci-dessous. Ce qui nous intresse ici e e nest pas la probabilit pour une pi`ce de tomber sur pile, mais la probabilit e e e pour un classeur de mal prdire la classe dune donne, soit E. e e

distribution de E

On prsente un exemple au classeur. On compte 0 si lexemple est bien e class, 1 sinon. Si on a N exemples, on obtient ainsi une estimation de la valeur e de Etest . Nous sommes en prsence dune loi binomiale. Aussi, on sait 4 que e cette estimation de Etest tend vers E. On sait aussi que sa variance tend vers E E E(1E) . Donc, test est une variable alatoire centre rduite. e e e N E(1E)
N

Le thor`me central limite nous dit aussi que quand N tend vers linni, e e la distribution de Etest tend vers une distribution normale. Donc, la variable E E alatoire test e est centre, rduite, distribue normalement quand N tend e e e
E(1E)/N

vers linni. On veut savoir si Etest est une bonne estimation de E. Pour cela, donnonsnous un seuil de conance c et dterminons la probabilit avec laquelle E est e e dans un certain intervalle de valeurs centr sur Etest . e Rappelons que la probabilit quune variable alatoire v distribue normalee e e ment, centre et rduite prenne une valeur dans un intervalle x dx est donne e e e par :
x2 1 P r[v = x] = e 2 dx 2

intervalle de conance

La probabilit que la valeur de v soit comprise dans un intervalle [z, +z] e est donne par : e 1 P r[z v z] = 2
4. cf. bouquin de stats
z

e
z

x2 2

dx

36

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

dx

x Figure 3.5 La probabilit quune variable alatoire distribue normalement e e e prenne une valeur donne x est la surface situe sous la courbe en cloche sur e e une largeur inniment petite (mais pas nulle !) centre en x, ce qui est tr`s e e grossi`rement illustr par le trap`ze rouge. e e e

Quelle est maintenant lintervalle de valeurs [z, +z] autour de Etest dans lequel nous avons la probabilit c que E sy trouve ? e Cest z tel que : Etest E z] = c E(1 E)/N

P r[z

dans laquelle Etest est connu, c est x (donc z sen dduit) et E est cherch. e e e Donc, on cherche bien lintervalle E [Einf , Esup ] tel que la probabilit que E e appartienne ` cet intervalle soit c. a On trouve z dans une table de distribution normale, centre, rduite. Ce e e type de table donne en fait P r[v z] (cf. table 3.3). Pour une distribution normale, on sait que P r[v z] = P r[v z]. La conance c dans lintervalle est c = P r[z v z] = 1 2 P r[v z]. Donc, c tant x, on dtermine z e e e 1c tel que P r[v z] = 2 Quand on a ainsi dtermin z, il nous reste ` trouver Einf et Esup . En e e a E E test r-crivant comme il faut P r[z ee z] = c, on obtient :
E(1E)/N
E

z2 E + 2N z E inf = test Esup


+ 2N +z = test E
z2

test test + N N test test + N N


2 E2

E2

z2 4N 2

2 1+ z N E z2 4N 2

1+ z N

3.8. SUR-APPRENTISSAGE

37

Table 3.3 Extrait de la table donnant P r[v z] = 1 z e 2 en 2 fonction de z (pour une variable alatoire v normalement distribue, centre e e e a ` rduite). Cette probabilit P r[v z] = 1c est la surface sous la cloche e e 2 droite de labscisse z. Pour les valeurs intermdiaires, on peut obtenir une e valeur approche par une interpolation linaire ; par exemple, pour une cone e ance c = 0, 75, on a 1c = 0, 125, do` z = 1, 28 1,280,84 = 1, 17. Une table u 2 4 statistique donne z = 1, 15 pour c = 0, 75. P r[v z] 0, 001 0, 005 0, 01 0, 05 0, 1 0, 2 0, 4 z 3, 09 2, 58 2, 33 1, 65 1, 28 0, 84 0, 25 Par exemple, si Etest = 0, 25, N = 1000 et c = 0, 8, on obtient un intervalle de conance : E 0, 25 +
1,282 2000

x2

1, 28 1+

0,25 1000 1,282 1000

0,252 1000

1,282 410002

= [0, 233, 0, 268]

De mme, si N = 100, on a E [0, 20, 0, 31]. On constate, on sy attendait, e que plus N est grand, plus lintervalle est resserr. e Cas o` le jeu de test est le mme que le jeu dapprentissage u e On suppose maintenant que lon mesure lerreur en utilisant le jeu dapprentissage, cest-`-dire avec les donnes qui ont servi ` construire larbre de dcision. a e a e Cela introduit un biais que les statistiques naiment pas beaucoup. Cependant, C4.5 maximise la probabilit derreur en utilisant la borne suprieure de lintere e valle de conance calcule ci-dessus : e Eapp +
z2 2N

+z

Esup =

Eapp N

1+

z2 N

2 Eapp

z2 4N 2

Des tests exprimentaux ont montr que cette estimation nest pas e e draisonnable. e

3.8

Sur-apprentissage

Il est intressant de dessiner lerreur dapprentissage et lestimation de lere reur relle E en fonction de la proportion dexemples utiliss pour lapprentise e sage. Ainsi, sur le jeu jouer au tennis ? , on a pris successivement 1, 2, 3, ... 14 exemples pour construire larbre de dcision ; on a mesur lerreur sur le e e jeu dexemples utiliss pour construire larbre et on a estim lerreur relle ; on e e e obtient un graphe comme celui de la gure 3.6. On voit que lerreur dapprentissage diminue constamment quand on utilise plus dexemples pour construire

38

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

90 80 70 60 50 40 30 20 10 0

E_app E

10

12

14

Figure 3.6 Variation de lerreur mesure sur lensemble de tous les exemples et e de lerreur E (estime) en fonction du nombre dexemples utiliss pour construire e e larbre de dcision. Les deux erreurs diminuent. Au bout dun certain temps, e alors que Eapp continue de diminuer, E stagne. E est estime ici avec une e conance c = 0.75. On utilise le jeu de donnes jouer au tennis ? . e

larbre alors que E diminue dabord puis stagne. Lerreur mesure sur le jeu e dapprentissage atteint 0 et reste ` 0 parce que lon peut construire un arbre a parfait (qui classe correctement tous les exemples pour ce jeu de donnes) ; si e lon ne peut pas construire darbre parfait (` cause dune incohrence dans les a e exemples : deux exemples ayant la mme description sont de classe dirente), e e lerreur dapprentissage reste non nulle. Il est tr`s important de comprendre ce que ce schma illustre. Plus le nombre e e dexemples utiliss pour construire le mod`le (ici, un arbre de dcision) auge e e mente, plus lerreur sur ce jeu diminue et tend vers 0. Cependant, ce qui compte vraiment, cest lerreur en gnralisation. Pour sa part, quand le nombre dexe e emples utiliss augmente, lerreur en gnralisation commence par diminuer puis e e e elle augmente : cest prcis`ment l` o` elle est minimale que lon a construit le e e a u meilleur mod`le, celui qui fait une erreur minimale. Cest ce mod`le qui est cae e pable de produire la meilleure gnralisation de lapprentissage, cest-`-dire, qui e e a a la plus petite probabilit de mal classer une donne quelconque. Au-del` de e e a ce mod`le optimal, quand lapprentissage se poursuit, le mod`le se complique, e e la probabilit derreur augmente, et le mod`le produit du sur-apprentissage. Le e e mod`le alors construit colle de plus en plus pr`s aux exemples et sa capacit ` e e ea prdire correctement la classe dautres donnes diminue ; le mod`le manque e e e de recul par rapport aux exemples. Le probl`me se sur-apprentissage (ou sure spcialisation) est rcurrent dans les algorithmes dapprentissage automatique e e et, plus gnralement, dans les mod`les. On le rencontrera rguli`rement dans e e e e e

3.9. ELAGAGE

39

les chapitres suivants.

3.9

Elagage

Llagage consiste ` simplier un arbre de dcision en coupant des branches. e a e Il poss`de deux objectifs : e simplier larbre de dcision ; e diminuer le sur-apprentissage (= augmenter la capacit de gnralisation) e e e et, par l`-mme, diminuer le taux derreur. a e Deux possibilits : lagage lors de la construction et lagage apr`s la cone e e e struction. Cette seconde approche est celle utilise dans C4.5. e Deux types dlagage sont eectus dans C4.5 : e e remplacement dun sous-arbre : consiste ` remplacer un sous-arbre par a une feuille ; promotion dun sous-arbre : consiste ` rassembler deux nuds dans un a seul nud. Dans le premier cas (remplacement dun sous-arbre), les nuds sont considrs depuis les feuilles en remontant vers la racine et en eectuant un test au ee niveau de chaque nud. La dcision dappliquer une transformation est prise en e fonction du taux derreur du nud et de ses ls comme suit. C4.5 estime lerreur de chaque ls (cf. section 3.7.5) ainsi que lerreur du nud. Ces estimations sont combines en les pondrant chacune par la proportion dexemples couvert par e e chaque ls. C4.5 estime ensuite le taux derreur du nud. Si celui-ci est plus petit que la combinaison des taux derreur des ls, alors C4.5 remplace le nud par une feuille. Exemple : on suppose quun nud poss`de trois ls ; le premier couvre 6 e exemples, dont 2 sont mal classs ; le deuxi`me couvre 2 exemples, 1 tant e e e mal class ; le dernier couvre 6 exemples dont, ` nouveau, 2 sont mal classs. e a e Les taux derreur estims de ces trois ls sont respectivement 0, 47, 0, 72 et e 0, 47 (avec un taux de conance de 75 %). La combinaison des trois donne : 6 2 6 14 0, 47 + 14 0, 72 + 14 0, 47 = 0, 504. Le taux derreur du nud luimme est donc calcul avec les donnes : 14 exemples, dont 5 mal classs, ce qui e e e e fournit un taux derreur estim de 0, 46. Ce taux derreur tant plus petit, C4.5 e e remplace le nud par une feuille tiquete avec la valeur la plus prsente parmi e e e ces 14 exemples.

3.10

Illustration sur les iris

On illustre la construction dun arbre de dcision sur le jeu de donnes e e dnomm iris . Il contient 150 exemples ; chacun est une eur (un iris) dune e e

40

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Figure 3.7 Arbre de dcision construit par C4.5 sur le jeu de donnes e e

iris .

des trois varits suivantes : setosa, versicolor et virginica. La varit reprsente ee ee e la classe de la donne. e Chaque donne est dcrite par 4 attributs numriques : longueur et largeur e e e des spales ; longueur et largeur des ptales. e e Avec ces 150 exemples, C4.5 construit larbre reprsent ` la gure 3.7 ; 3 e ea exemples sont mal classs, 2 versicolor et 1 virginica. e Cet arbre incite ` penser que la longueur et la largeur des spales ne sont pas a e des attributs pertinents pour la dtermination de la classe des donnes. Cest e e eectivement une caractristique bien connue de ce jeu de donnes. e e

3.11

Critique

Les arbres de dcision fonctionnent bien si : e le nombre de valeurs possibles pour chaque attribut est faible ; la classe est ` valeur qualitative ; a mme si lensemble des exemples contient des erreurs ; e mme si lensemble des exemples en contient dont certains attributs sont e non valus. e De plus : + on dispose dun algorithme de construction darbres de dcision tr`s utilis e e e et tr`s performant (c4.5) ; e

3.12. LOGICIELS LIBRES

41

largeur des ptales e

1, 7 1, 5

0, 6

4, 9

longueur des ptales e

Figure 3.8 Dcoupage de lespace des donnes par larbre de dcision de la e e e g. 3.7 : en abcisse est porte la longueur des ptales, en ordonnes est porte e e e e la largeur des ptales. La zone rouge est la partie o` la classe prdite est setosa, e u e la zone en vert correspond ` la classe versicolor et la zone bleue ` la classe a a virginica.

+ C4.5 est tr`s rapide pour construire un arbre de dcision de bonne qualit ; e e e + on est capable den estimer la qualit ; e + on obtient un mod`le comprhensible, mais : e e - sur un gros jeu de donnes, larbre devient gros et illisible ; e on peut transformer un arbre de dcision en un ensemble de r`gles de e e classication ce qui augmente la lisibilit du mod`le (cf. chap. 6). e e

3.12

Logiciels libres

C4.5 sur le site de quinlan : http://www.cse.unsw.edu/~quinlan ; C5 version dmo : http://www.rulequest.com e dtree de Ch. Borgelt : http://fuzzy.cs.uni-magdeburg.de/~borgelt/ software.html#dtree weka contient une implantation de lalgorithme C4.5 : http://www.cs. waikato.ac.nz/~ml

3.13

Exercices

Exercice 2 Vous avez t recrut comme expert en aide ` la dcision dans ee e a e un laboratoire dexo-biologie. Vous assistez un exo-biologiste qui analyse des chantillons de choses qui ressemblent ` des plantes, recueillies sur une plan`te e a e lointaine. Ces exo-plantes sont dcrites par quatre informations (couleur, forme, e

42

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

taille et motif ` leur surface) et une proprit importante : leur comestibilit. a ee e Votre mission est de dterminer une mani`re de dcider si une exo-plante donne e e e e est comestible ou non pour lesp`ce humaine qui envisage de coloniser cette e plan`te. e Au nombre de 8, les chantillons sont dcrits dans le tableau ci-dessous : e e

identicateur SN-54 AC-951 ML-45 RT-3 ID-546 KG-7 XP-354 EX-76 Question 1 :

couleur cyan orange orange magenta cyan orange magenta magenta

forme octogonal hexagonal octogonal hexagonal hexagonal octogonal pentagonal octogonal

taille petit petit petit gigantesque gigantesque grand gigantesque grand

motif uniforme uniforme ray e ray e ray e uniforme ray e ray e

Classe comestible comestible non comestible comestible comestible comestible non comestible non comestible

quelle est lentropie de la population ?

Question 2 : quel est lattribut dont le gain dinformation est maximal dans la population ? Question 3 : Question 4 : tissage ? construire larbre de dcision avec lalgorithme ID3. e quelle est lerreur de cet arbre mesure sur le jeu dapprene

La mission vient de recueillir de nouveaux chantillons : e

identicateur GH-45 GH-34 ML-57 NS-31

couleur magenta cyan magenta orange

forme octogonal pentagonal hexagonal hexagonal

taille petit gigantesque grand grand

motif ray e uniforme ray e uniforme

Classe comestible non comestible non comestible comestible

Question 5 : quelle est la classe prdite par larbre que vous avez construit e pour ces donnes ? e Question 6 : quelle est lerreur mesure avec ces 4 nouvelles donnes ? e e Question 7 : ` partir de cette erreur mesure, estimer la valeur de lerreur a e relle avec une conance de 75 %. e Question 8 : quelle est la classe prdite pour un petit chantillon pentage e onal ? Question 9 : quelle est la classe prdite pour un chantillon ray et cyan ? e e e

3.13. EXERCICES

43

Exercice 3 Une banque dispose des informations suivantes sur un ensemble de ses clients : client 1 2 3 4 5 6 7 8 M moyen leve e e faible faible moyen leve e e moyen faible A moyen moyen ag e moyen jeune a e g a e g moyen R village bourg bourg bourg ville ville ville village E oui non non oui oui oui oui non I oui non non oui oui non non non

Lattribut client indique le numro du client ; lattribut M indique la moyenne e des crdits sur le compte du client ; lattribut A donne la tranche dge ; lattribut e a R dcrit la localit du client ; lattribut E poss`de la valeur oui si le client poss`de e e e e un niveau dtudes suprieur au bac ; lattribut I (la classe) indique si le client e e eectue ses oprations de gestion de compte via Internet. e Question 1 : quelle est lentropie de la population ? Question 2 : pour la construction de larbre de dcision, utilisez-vous e lattribut numro de client ? Pourquoi ? e Question 3 : lors de la construction de larbre de dcision, quel est late tribut ` tester ` la racine de larbre ? a a Question 4 : Question 5 : de clients 1 ` 8 ? a construire larbre de dcision complet. e quel est le taux derreur de cet arbre estim sur lensemble e

Question 6 : donner un intervalle de valeurs pour lerreur relle en utilisant e une conance de 90 %. On se donne les 4 clients suivants : client 9 10 11 12 M moyen leve e e faible moyen A a e g jeune a e g moyen R village ville village bourg E oui non non oui

Question 7 : comment chacun de ces clients est-il class avec larbre de e dcision que vous avez propos dans la question 4 ? e e Pour ces 4 clients, on apprend par ailleurs que les clients 9 et 10 g`rent leur e compte par Internet, et que les clients 11 et 12 ne le font pas.

44

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Question 8 : quel est le taux derreur estim sur les clients 9, 10, 11 et e 12 ? Combien y a-t-il de faux positifs et de faux ngatifs ? e

Exercice 4 On consid`re des donnes dcrites par quatre attributs : e e e numro : un entier ; e forme : rond et carr ; e taille : petit et grand ; couleur : bleu, blanc et rouge. Lattribut cible est binaire de valeurs oui et non. Les donnes disponibles sont les suivantes (le ? correspond ` une valeur mane a quante) : numro e 1 2 3 4 5 6 7 8 9 10 forme rond carr e rond carr e rond carr e carr e carr e carr e rond taille petit grand ? petit grand grand ? grand petit grand couleur bleu rouge blanc bleu bleu blanc blanc bleu rouge blanc classe oui non oui oui oui non oui non oui oui

Le probl`me est de savoir comment prendre en compte les donnes pour e e lesquelles on ne dispose de la valeur de tous les attributs.

Elimination des exemples incomplets


La solution la plus expditive est de ne pas utiliser les exemples dans lesquels e certains attributs ne sont pas valus. e Question 1 : peut-on trouver un arbre de dcision parfait ? (un arbre e de dcision est parfait sil prdit correctement la classe de tous les exemples). e e Rpondre ` cette question en rchissant, pas en essayant de le construire. e a e e Question 2 : vu en cours. appliquer lalgorithme de construction darbre de dcision e

Valeur majoritaire de lattribut


On remplace les valeurs manquantes par la valeur majoritaire prise par cet attribut sur lchantillon complet. e

3.13. EXERCICES

45

Question 3 : quelle valeur associe-t-on aux attributs manquant sur les 10 donnes ? e Question 4 : peut-on trouver un arbre de dcision parfait ? Rpondre ` e e a cette question en rchissant, pas en essayant de le construire. e e Question 5 : vu en cours. appliquer lalgorithme de construction darbre de dcision e

Valeur majoritaire de lattribut par classe


Etant donn un exemple avec une valeur manquante, on remplace la valeur e manquante par la valeur majoritaire prise par lattribut correspondant pour les exemples de lchantillon appartenant ` la mme classe. e a e On pose les 3 mmes questions que prcdemment : e e e Question 6 : quelle valeur associe-t-on aux attributs manquant sur les 10 donnes ? e Question 7 : Question 8 : vu en cours. peut-on trouver un arbre de dcision parfait ? e appliquer lalgorithme de construction darbre de dcision e

` Exercice 5 A la section 3.2.1, on a construit un arbre de dcision avec le jeu e de donnes jouer au tennis ? en laissant de ct lattribut Jour sans e oe autre forme de proc`s. e Question 1 : Calculer la gain de lensemble dexemples pour cet attribut. Question 2 : quen pensez-vous ? Construire larbre de dcision complet en e prenant en compte cet attribut. ` A la section 3.4.2, on a indiqu que C4.5 utilise un autre crit`re que le e e gain dinformation pour dterminer lattribut ` placer ` la racine de larbre de e a a dcision. e Question 3 : calculer le rapport de gain pour les 5 attributs sur le jeu dexemples jouer au tennis ? Question 4 : quel attribut C4.5 place-t-il ` la racine de larbre de dcision ? a e Question 5 : continuer la construction queectue C4.5

Exercice 6 On dispose dun jeu de N donnes dcrites chacune par P attributs e e (on ne parle pas de classe ici). La valeur de certains attributs de certaines donnes est manquante. e Question 1 : Imaginez un moyen pour prdire la valeur des attributs mane quants ?

46

CHAPITRE 3. CLASSIFICATION PAR ARBRES DE DECISION

Exercice 7 Supposons que lon ajoute la possibilit davoir des tests du genre e a [b, B] o` a est un attribut quantitatif. Comment calculeriez-vous le gain u dinformation apport par cet attribut ? e

Exercice 8 Exercice pour informaticien Rcuprer le source de C4.5, y implanter direntes stratgies de construce e e e tion darbre de dcision et eectuer une tude exprimentale. e e e On implantera : la randomization dcrite dans Dietterich [1999] e lutilisation de lindice de Gini ` la place de lentropie. Cet indice se dnit a e par : 1 yY (proportion dexemples de classe y)2 on utilisera les jeux de donnes fournis avec C4.5 e

Exercice 9 Exercice pour informaticien : construction incrmentale dun e arbre de dcision e On suppose que les exemples sont disponibles non plus tous ` la fois mais a obtenus un par un (par exemple, un toutes les heures). On veut construire un arbre de dcision en utilisant les exemples disponibles ` un moment donn qui e a e sera complt lorsquun nouvel exemple sera obtenu. Imaginer un algorithme ee pour cela. Naturellement, lalgorithme commencera par construire un arbre d`s lobe tention du premier exemple. Cet arbre initial sera ensuite modi sil le faut ` e a la rception du deuxi`me exemple, ... e e

Chapitre 4

Classeur baysien e
Contenu
4.1 La r`gle de Bayes . . . . . . . . . . . . . . . . . . . e 4.1.1 4.1.2 4.2 4.3 4.4 Le thor`me de Bayes . . . . . . . . . . . . . . . . . e e Application a la classication . . . . . . . . . . . . . ` 48 48 48 50 52 54 54 54 55 57 58 58 60 60 60

Exemple . . . . . . . . . . . . . . . . . . . . . . . . . Attributs numriques . . . . . . . . . . . . . . . . . e Valeur dattribut manquante 4.4.1 4.4.2 4.4.3 . . . . . . . . . . . . Absence de la valeur dun attribut dans une donne e dont on veut prdire la classe . . . . . . . . . . . . . e Absence de la valeur dun attribut dans le jeu dapprentissage . . . . . . . . . . . . . . . . . . . . . . . Application au jeu de donnes e iris . . . . . . . .

4.5

Exemple : classication de textes . . . . . . . . . . 4.5.1 4.5.2 Reprsentation dun texte . . . . . . . . . . . . . . . e Application de la r`gle de Bayes . . . . . . . . . . . e

4.6 4.7 4.8

Critique . . . . . . . . . . . . . . . . . . . . . . . . . Logiciels libres . . . . . . . . . . . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . .

Dans ce chapitre, on prsente une mthode de classication reposant sur une e e approche probabiliste base sur la r`gle de Bayes, donc lapproche bayesienne e e des probabilits. Un intrt de cette approche est quelle permet naturellement e ee dintgrer des connaissances a priori , ce que ne permettent pas aussi facilement e les arbres de dcision ou la plupart des mthodes que nous verrons par la suite. e e Sans nous attarder longuement sur ce point, il est important de noter que lapproche baysienne des probabilits di`re fondamentalement de lape e e proche classique, dite frquentiste. Dans lapproche classique, on estime P r[x], e la probabilit doccurence de lvnement x ; dans lapproche baysienne, on e e e e 47

48

CHAPITRE 4. CLASSEUR BAYESIEN

estime P r[x|w], cest-`-dire, la probabilit doccurence de lvnement x si a e e e lvnement w est vri : w joue le rle dune hypoth`se prliminaire que e e e e o e e lon suppose vrie pour estimer la probabilit doccurence de lvnement qui e e e e e nous intresse, not x ici. w peut tre un vnement du genre je poss`de e e e e e e telle connaissance . Dans le cas frquentiste, on fait comme si loccurence de e lvnement x tait un fait absolu et sa valeur absolue ; dans le cas baysien, on e e e e a une attitude pragmatique qui peut sinterprter comme : dans le monde o` je e u vis, sachant que je suis dans telle situation et/ou que je connais telles informations (ou en supposant que jai ces informations) not w, jestime la probabilit e e doccurence de lvnement x. e e Disons-le encore autrement : il est important de ne pas confondre les notions de probabilit conditionnelle P r[x|w] et de probabilit jointe P r[x w] : la e e probabilit conditionnelle estime la probabilit doccurence dun vnement en e e e e supposant quun autre vnement est vri ; la probabilit jointe estime la e e e e e probabilit doccurence de deux vnements en mme temps. Dans la probabilit e e e e e conditionnelle, on ne sintresse pas au fait de savoir si w a rellement lieu ; on e e suppose quil a lieu et on estime la probabilit de x dans cette situation. e

4.1
4.1.1

La r`gle de Bayes e
Le thor`me de Bayes e e

Soient A, B et C trois vnements. Le thor`me (ou r`gle) de Bayes dmontre e e e e e e que : P r[A|B, C] = o` : u P r[B|A, C] est la vraisemblance de lvnement B si A et C sont vris ; e e e e P r[A|C] est la probabilit a priori de lvnement A sachant C ; e e e P r[B|C] est la probabilit marginale de lvnement B sachant C ; e e e P r[A|B, C] est la probabilit a posteriori de A si B et C. e Dans cette formulation de la r`gle de Bayes, C joue le rle de la connaissance e o que lon a. P r[B|A, C]P r[A|C] P r[B|C] (4.1)

4.1.2

Application ` la classication a
jobserve la classe y ; jobserve la donne x . e

Supposons que : y dnote lvnement : e e e x dnote lvnement : e e e

` 4.1. LA REGLE DE BAYES

49

P r[y|x, X ] est donc la probabilit dobserver la classe y si on observe la e donne x sachant que lon dispose de lensemble dexemples X . Autrement dit, e cest lestimation de la probabilit que la donne x soit de classe y tant donn e e e e que je dispose des exemples X . En appliquant la r`gle de Bayes, on obtient : e P r[y|x, X ] = P r[x|y, X ]P r[y|X ] P r[x|X ]

Les probabilits de lexpression de droite doivent tre estimes pour calculer e e e la quantit qui nous intresse, P r[y|x, X ] : e e P r[y|X ] est la probabilit dobserver la classe y tant donn lensemble e e e dexemples X . Cette probabilit est estime par la proportion dexemples e e de X qui sont de classe y. Bien entendu, si pour une raison ou une autre, on dispose de cette information, on peut utiliser la proportion dans lensemble des donnes de la classe y ; e P r[x|y, X ], la vraisemblance de lvnement observer la donne x si e e e elle est de classe y, disposant des exemples X . Ce terme est plus dicile ` estimer que le prcdent. En absence dautre information, on utilise a e e lhypoth`se de Bayes na e ve (HBN) : la donne x est une conjonction e de valeur dattributs ; lHBN consiste ` supposer que les attributs sont des a variables alatoires indpendantes, cest-`-dire que les valeurs de ses ate e a tributs ne sont pas corrles entre-elles. Clairement, cette hypoth`se nest ee e a ` peu pr`s jamais vrie ; cependant, elle permet de faire des calculs sime e e plement et, nalement, les rsultats obtenus ne sont pas sans intrt dun e ee point de vue pratique. Notons que si lon a des informations concernant ces corrlations entre valeurs dattributs, on pourra les utiliser. e Si on applique lHBN, en supposant que la donne x est dcrite par P e e attributs nots aj dont les valeurs sont notes vj , on crit : e e e P r[x|y, X ] P r[a1 = v1 |y, X ] ... P r[aP = vP |y, X ] = i=P P r[ai = vi |y, X ] i=1

estimation de la probabilit a priori e estimation de la vraisemblance hypoth`se na de Bayes e ve

(4.2)

Chaque terme P r[aj = vj |y, X ] est estim ` laide de lensemble dexemea ples ; lestimation de ce terme dpend de la nature, qualitative ou quantie tative, de lattribut. Les exemples donns plus bas illustrent ce point ; e P r[x|X ] est la probabilit dobserver la donne x, ayant lensemble dexe e emples X : a priori , on ne voit pas comment calculer cette quantit. Aussi, e on utilise une astuce tr`s simple : si la classe est binaire (on gnralise sans e e e dicult aux autres cas), on constate que la somme de la probabilit dobe e server une donne x si elle est positive et de la probabilit dobserver cette e e mme donne x si elle est ngative vaut 1. On peut donc crire : e e e e P r[yi |x, X ] = 1

estimation de la probabilit marginale e

yi Y

50

CHAPITRE 4. CLASSEUR BAYESIEN

On peut toujours diviser un nombre par 1 sans changer sa valeur. Donc,


P r[y|x,X ] 1 P r[y|x,X ] y Y P r[yi |x,X ]
P r[x|y,X ]P r[y|X ] P r[x,X ] P r[x|yi ,X ]P r[yi |X ] yi Y P r[x|X ] i

P r[y|x, X ]

= = =

soit nalement : P r[y|x, X ] = P r[x|y, X ]P r[y|X ] yi Y P r[x|yi , X ]P r[yi |X ] (4.3)

classe MAP

Dans cette quation, en appliquant ce que lon a dit prcdemment pour e e e estimer la vraisemblance et la probabilit a priori , on peut calculer le e terme de droite. Une fois que lon a calcul la probabilit dappartenance ` chacune des classes e e a de la donne x (P r[y|x, X ], y Y), on peut prdire sa classe comme tant e e e celle qui maximise la probabilit a posteriori : cest la classe MAP (Maximal A e Posteriori ), soit : yMAP = arg maxyY P r[y|x, X ] qui peut scrire aussi en appliquant lq. (4.3) : e e yMAP = arg maxyY P r[x|y, X ]P r[y|X ] (4.5) (4.4)

classe ML

Si lon ne tient pas compte de P r[y|X ] et que lon ne tient compte que de la vraisemblance P r[x|y], on obtient la classe ML (Maximal Likelihood ), soit : yML = arg maxyY P r[x|y, X ] (4.6)

Clairement, si les exemples sont uniformment rpartis entre toutes les e e 1 e classes, soit P r[y|X ] = |Y| , la classe ML et la classe MAP sont les mmes.

4.2

Exemple

On applique ce que lon vient dexposer sur le jeu de donnes e jouer au tennis ? . Lensemble des exemples X est dans la table 3.1 au chapitre 3. On souhaite prdire la classe de la donne x = (Ciel = Ensoleill, e e e e Temprature = Fraiche, Humidit = Eleve, Vent = Fort). e e Pour cela, on utilise la r`gle de Bayes : e P r[jouer = oui|x, X ] = P r[x|jouer = oui, X ]P r[jouer = oui|X ] P r[x|X ]

4.2. EXEMPLE

51

Table 4.1 Sur le jeu de donnes jouer au tennis ? , pour chaque valeur de e la classe, nombre dexemples pour chacune des valeurs possibles des attributs. attribut valeur jouer = oui jouer = non Ciel Ensoleill e 2 3 Couvert 4 0 Pluie 3 2 Temprature e Chaude 2 2 Ti`de e 4 2 Fraiche 3 1 e Humidit e Eleve 3 4 Normale 6 1 Vent Fort 3 3 Faible 6 2 Jouer 9 5

Comme on la indiqu plus haut, sans autre information, on peut estimer le e numrateur mais pas le dnominateur. Aussi, on utilise la formulation suivante e e de la r`gle de Bayes : e P r[jouer = oui|x, X ] = P r[x|jouer = oui, X ]P r[jouer = oui|X ] y{oui, non} P r[x|jouer = y, X ]P r[jouer = y|X ]

Pour cela, nous avons calcul les proportions dexemples correspondant ` e a chacune des valeurs de chacun des attributs (cf. la table 4.1). De l`, on tire : a
9 P r[jouer = oui|X ] est estime par 14 ; e 5 P r[jouer = non|X ] est estime par 14 ; e P r[x|jouer = oui, X ] est estime en appliquant lhypoth`se de Bayes na e e ve, soit :

Reste ` valuer les quatre termes : P r[x|jouer = oui, X ], P r[jouer = oui|X ], ae P r[x|jouer = non, X ] et P r[jouer = non, X ] ` partir du jeu dexemples. a

P r[x|jouer = oui, X ] = P r[(Ciel=Ensoleill, Temprature=Fraiche, Humidit=Eleve, e e e e Vent=Fort)|jouer = oui, X ]


HBN

P r[Ciel=Ensoleill|jouer = oui, X ] e P r[Temprature=Fraiche|jouer = oui, X ] e P r[Humidit=Eleve|jouer = oui, X ] e e P r[Vent=Fort|jouer = oui, X ] 2 3 3 3 9 9 9 9


2 243

52
HBN

CHAPITRE 4. CLASSEUR BAYESIEN

o` le symbole = signie que le membre droit de lquation est gal au u e e membre gauche sous lhypoth`se de Bayes na et le symbole indique e ve que le membre gauche est estim par celui de droite ; e de mme, on estime P r[x|jouer = non, X ] : e P r[x|jouer = non, X ] = P r[(Ciel=Ensoleill, Temprature=Fraiche, Humidit=Eleve, e e e e Vent=Fort)|jouer=non, X ]
HBN

= Donc :

P r[Ciel=Ensoleill|jouer=non, X ] e P r[Temprature=Fraiche|jouer=non, X ] e P r[Humidit=Eleve|jouer=non, X ] e e P r[Vent=Fort|jouer=non, X ] 3 1 4 3 5 5 5 5


36 625

P r[jouer=oui|x, X ]

P r[jouer=non|x, X ]

2 9 243 14 2 9 36 5 243 14 + 625 14 36 5 625 14 2 9 36 5 243 14 + 625 14

0, 205 0, 795

Le symbole indique que la valeur de la fraction (elle-mme une estimation e de la probabilit) situe ` sa gauche prend pour valeur dcimale approche celle e e a e e qui est indique ` sa droite. e a

4.3

Attributs numriques e

Si un attribut est numrique, la dtermination de la probabilit dobservation e e e dune valeur particuli`re ne peut pas se faire comme on vient de le prsenter. e e Dans ce cas, en absence dautre information, on suppose que la distribution de la valeur de lattribut est normale. Pour cela, on calcule la moyenne et lcarte type de chaque attribut numrique et pour chaque valeur de lattribut cible (cf. e table 4.2). Rappelons que la fonction de densit de probabilit dune distribution nore e male est : P r[X = x|X N (x, 2 )] = Remarque
Dans cette quation, on peut en premi`re approche ne pas comprendre ce dx... Le lecteur e e curieux pourra essayer de calculer, pour une variable normale centre dcart-type 0, 1, la e e

1 2 2

(xx)2 2 2

dx

4.3. ATTRIBUTS NUMERIQUES

53

Table 4.2 Statistiques des attributs Temprature et Humidit e e Temprature e Humidit e oui non oui non 26, 5 27, 5 86 85 20 25 96 90 19 17, 5 80 70 17 21 65 95 19, 5 20, 5 70 91 22, 5 80 22, 5 70 21 90 25, 5 75 moyenne 21, 5 22, 3 79, 1 86, 2 cart-type 2, 91 3, 53 10, 2 9, 7 e

probabilit que celle-ci prenne la valeur 0. Quen pense alors le lecteur curieux ? Sil nen e pense rien, quil se rappelle quune probabilit est forcment positive et infrieure ` 1. e e e a

On peut alors calculer par exemple : P r[Temprature = 18|jouer=oui, X ] e 1 2 2, 912 1 2 3, 532 e

(1821,5)2 2 2,912

0, 0665

P r[Temprature = 18|jouer=non, X ] e et P r[Humidit = 90|jouer=oui, X ] e

(1822,3)2 2 3,532

0, 0538

1 2 10, 22 1 2 9, 72

(9079,1)2 2 10,22

0, 0221

P r[Humidit = 90|jouer=non, X ] e

(9086,2)2 2 9,72

0, 0381

D`s lors, pour la journe J =( Ciel=Ensoleill, Temprature=18, Hue e e e midit=90, Vent=Fort ), on obtient : e P r[jouer=oui|J, X ]
2 9

0, 0665 0, 0221 P r[J|X ]

3 9

9 14

2, 1 104 P r[J|X ] 2, 635 104 P r[J|X ]

P r[jouer=non|J, X ] do` : u

3 5

0, 0538 0, 0381 P r[J|X ]

3 5

5 14

54

CHAPITRE 4. CLASSEUR BAYESIEN

P r[jouer=oui|J, X ] et P r[jouer=non|J, X ]

2, 1 104 0, 44 2, 1 104 + 2, 635 104 2, 635 104 0, 56 2, 1 104 + 2, 635 104

4.4
4.4.1

Valeur dattribut manquante


Absence de la valeur dun attribut dans une donne e dont on veut prdire la classe e

Dans ce cas, cest tr`s simple, on ne prend pas cet attribut en compte dans e lestimation de la probabilit. e Par exemple, si on veut prdire la classe de la donne x = (Ciel = Ene e ee), on crira P r[x|y, X ] P r[Ciel=Ensoleill|y, X ] soleill, Humidit = Elev e e e e P r[Humidit=Eleve|y, X ]. e e

4.4.2
probabilit nulle ... e

Absence de la valeur dun attribut dans le jeu dapprentissage

et estimateur de Laplace

La mthode de Bayes nest pas applicable telle quelle vient dtre expose e e e si une certaine valeur dattribut nappara pas dans le jeu dentra t nement en conjonction avec chaque valeur de lattribut cible. En eet, dans ce cas apparaissent des probabilits estimes ` 0 et comme les probabilits sont multiplies e e a e e les unes par les autres, on obtient 0 ` la n du compte. a Ainsi, il nexiste pas dexemple ngatif pour lequel Ciel = Couvert ; lestie mation de P r[Ciel = Couvert|jouer=non] 0. Dun point de vue conceptuel, cela na pas de sens destimer que cette probabilit soit nulle. Dun point de vue e pratique, ce 0 pose probl`me. Il est du au manque dexemples correspondants. Il e est naturel de se dire que ce 0 cache en ralit une valeur petite. Aussi, lide est e e e de remplacer ce 0 par une petite valeur ; ce faisant, il faut continuer ` garantir a que les r`gles sur les probabilits demeurent vrier, i.e. quapr`s cet ajustee e e e ment, P r[jouer=oui|Ciel=Couvert, X ] + P r[jouer=non|Ciel=Couvert, X ] = 1, P r[Ciel=Couvert|oui, X ]+P r[Ciel=Ensoleill|oui, X ]+P r[Ciel=Pluie|oui, X ] = e 1, ... La solution consiste ` sarranger pour que cette estimation ne soit pas nulle. a Pour cela, on utilise la technique dite de l estimateur de Laplace . Pour cela, on ajoute une valeur (par exemple 1) ` chaque dcompte de la table 4.1. a e Par exemple, pour lattribut Ciel, au lieu davoir les probabilits estimes 2/9, e e 4/9 et 3/9, on aurait 3/12, 5/12 et 4/12 en ajoutant 1 ` chaque numrateur et a e en ajoutant 3 (car lattribut Ciel prend 3 valeurs distinctes) au dnominateur. e

4.4. VALEUR DATTRIBUT MANQUANTE

55

Plus gnralement, on peut ajouter une valeur ` chaque dnominateur pour e e a e un attribut donn et ajouter /arit de lattribut considr au numrateur. e e ee e Cette quantit, /arit de lattribut considr, peut tre vue comme une e e ee e probabilit a priori de lobservation de chacune des valeurs de lattribut ; on e nest donc pas oblig davoir une mme probabilit a priori pour chacune des e e e valeurs de lattribut, mais des valeurs p1 , p2 , ... pn pour les n valeurs possibles de lattribut considr, du moment que les pi[1,n] sont positifs et que leur somme ee vaut 1. De cette mani`re, on voit comment intgrer une connaissance a priori dans e e la mthode de classication, ici la connaissance de la distribution des classes sur e lensemble des donnes. e On peut maintenant estimer P r[jouer = oui|Ciel = Couvert] :

Pr

Pr

Pr

[jouer = oui|Ciel = Couvert] P r[Ciel = Couvert|jouer = oui]P r[jouer = oui] = P r[Ciel = Couvert] 4/99/14 P r[Ciel = Couvert] [jouer = non|Ciel = Couvert] P r[Ciel = Couvert|jouer = non]P r[jouer = non] = P r[Ciel = Couvert] 1/85/14 P r[Ciel = Couvert] [jouer = oui|Ciel = Couvert] 4/99/14 4/99/14+1/85/14

en prenant par exemple ici = 3.

4.4.3

Application au jeu de donnes e

iris

On applique lapproche baysienne qui vient dtre dcrite au jeu de donnes e e e e iris que lon a prsent plus haut (cf. chap. 3, sec. 3.10). e e On nutilise que les deux attributs longueur et largeur des ptales. e On suppose que la distribution des donnes est normale pour chacune des 3 e classes. Les param`tres de ces 3 distributions sont les suivants : e classe setosa versicolor virginica longueur des ptales L e moyenne L cart-type L e 1, 46 0, 17 4, 26 0, 47 5, 55 0, 55 largeur des ptales l e moyenne l cart-type l e 0, 24 0, 11 1, 33 0, 20 2, 03 0, 27

La vraisemblance dappartenance dune donne ` une classe est estime de e a e quatre mani`res direntes : e e

56

CHAPITRE 4. CLASSEUR BAYESIEN

(a) On nutilise que lattribut longueur des ptales. e

(b) On nutilise que lattribut largeur des ptales. e

(c) On utilise les deux attributs longueur et largeur des ptales come bins de mani`re na e e ve.

(d) On utilise les deux attributs longueur et largeur des ptales et une e distribution de probabilit bivarie. e e

Figure 4.1 Partitionnement de lespace des donnes par la r`gle de Bayes e e en considrant dirents attributs ou combinaison dattributs. Sur chacun des 4 e e graphiques, la longueur des ptales est en abcisses, leur largeur en ordonnes ; les e e couleurs indiquent la classe MAP pour chaque donne : rouge pour setosa, vert e pour versicolor et bleu pour virginica ; enn, on a reprsent les 150 exemples e e dans des couleurs direntes selon leur classe : rose pour les setosa, jaune pour e les versicolor et bleu clair pour les virginica.

4.5. EXEMPLE : CLASSIFICATION DE TEXTES

57

1. en caractrisant une donne par la longueur L de ses ptales uniquement, e e e donc en utilisant la distribution normale de la longueur des ptales que e lon suppose N (L, L ) : P r[L|LN (L, L ), X ] = 1 2L e 2

(LL)2 2 2 L

2. en caractrisant une donne par la largeur l de ses ptales uniquement, e e e donc en utilisant la distribution normale de la largeur des ptales que lon e suppose N (l, l ) : P r[l|lN (l, l ), X ] =
(ll) 1 2 e 2l 2 2l 2

3. en caractrisant une donne par la longueur et la largeur de ses ptales et e e e en utilisant lhypoth`se na de Bayes : e ve (l), P r[(L, l)|LN (L, L ), l l ), X ] =
(LL) 1 2 e 2L 2L l 2

(ll)2 2 2 l

4. en caractrisant une donne par la longueur et la largeur de ses ptales et e e e en utilisant une distribution de probabilit bivarie : e e 1 2x y 1 2
x 2 +y 2 2 2xy

P r[(x, y)|xN (0, x ), y N (0, y ), X ] =

x y (12 )

dans laquelle est le coecient de corrlation linaire entre L et l et, pour e e simplier les notations, on a pris x = L L et y = l l. Pour les 3 classes, ce coecient de corrlation linaire est : e e classe setosa versicolor virginica 0, 31 0, 79 0, 32

La g. 4.1 montre le partitionnement de lespace des donnes rsultant de e e chacune de ces 4 mani`res destimer la vraisemblance. e

4.5

Exemple : classication de textes

En guise dapplication de cette mthode de classication, intressons-nous ` e e a la classication de textes. Disposant dun ensemble de textes et dun ensemble de classes, le but est de dterminer la classe la plus probable pour un texte. e Les textes peuvent tre des emails et la classe peut-tre spam ou non-spam. Noe e tons dailleurs que des ltres demails tr`s performants fonctionnent exactement e comme cela (cf. spam assassin ou bogolter). Dautres applications possibles, et couramment rencontres, sont : e

58

CHAPITRE 4. CLASSEUR BAYESIEN

des messages de newsgroups ` classer dans leurs groupes respectifs ; a des textes de dpches dagence de presse, chaque classe tant alors un e e e sujet ; des pages web en fonction du fait quelles traitent de tel ou tel sujet ; des pages web en fonction de leur intrt, ce qui, coupl ` un moteur de ee ea recherche, peut permettre de trier les pages trouves selon leur intrt e ee pour un utilisateur donn. e

4.5.1

Reprsentation dun texte e

A priori , un texte est stock dans un chier ; cest donc une suite de care act`res, lettres, chires, ponctuation, espaces, ... Ce texte doit tre mis sous e e une forme telle quil puisse tre trait par un classicateur de Bayes. Pour cela, e e chaque donne (un texte) doit tre dcrite par un certain nombre dattributs. e e e Plusieurs possibilits sont envisageables : e 1. on dnit un attribut par position dans le texte : 1er mot du texte, 2e e mot du texte, ... Chaque attribut prend donc sa valeur dans un ensemble de mots possibles. Le probl`me ici est que si les textes ne sont pas tous e strictement de la mme longueur, le nombre dattributs va tre dirent e e e pour chaque texte ; 2. on dnit un attribut par mot du vocabulaire et on lui aecte le nombre e doccurences de ce mot dans le texte (sac de mots). Encore plus simplement, les attributs ont une valeur boolenne et indiquent simplement la e prsence dun mot particulier dans le texte. Dans ces deux cas, on ne se e pr-occupe pas de lordre des mots dans le texte, ni mme de lorganisation e e des mots dans le texte. Dans le deuxi`me cas, on ne se pr-occupe mme e e e pas de savoir si un mot appara souvent ou pas dans le texte ; t 3. en suivant lide prcdente, on peut ne pas inclure dans le vocabulaire les e e e mots tels que les articles, pronoms, ... Cela rduit la taille de lensemble e des mots considrs, ces mots najoutent rien au sens du texte ; ee 4. dautres possibilits seront vues plus loin (cf. chapitre 5, sec. 5.4). e Remarquons que dans ces direntes mani`res de reprsenter un texte, nous e e e faisons totalement abstraction de lordre des mots, de la syntaxe et de la smantique des textes. e

4.5.2

Application de la r`gle de Bayes e

Cette section reprend directement le travail de [Joachims, 1996]. On choisit de reprsenter un texte par, pour chaque mot dun certain vocabe ulaire, le nombre doccurence dans ce texte. Soit : V lensemble de mots considr (un vocabulaire) ; ee

4.5. EXEMPLE : CLASSIFICATION DE TEXTES

59

Y lensemble des classes de textes ; un texte t est reprsent par |V| attributs ` valeur naturelle ; e e a n(m, y) est le nombre doccurences du mot m V parmi tous les textes de classe y Y ; n(y) est le nombre doccurences de mots apparaissant dans lensemble des textes de classe y Y, soit n(y) =
mV

n(m, y)

Lutilisation de la r`gle de Bayes va nous amener ` calculer la probabilit e a e dobserver une certaine classe de textes si on observe un certain texte : P r[y|t] ; on a immdiatement : e P r[y|t, X ] = P r[t|y, X ]P r[y|X ] P r[t|X ]

dont il reste ` estimer les dirents termes, soit les P r[t|y, X ] et P r[y|X ]. a e P r[y|X ] est estime par la proportion de textes de classe y dans lensemble e des textes dapprentissage X . Pour P r[t|y, X ], on va utiliser lhypoth`se de Bayes na : le texte cone ve sidr tant compos dun certain ensemble de mots m V, on simplie cette eee e probabilit avec mV P r[m|y, X ]. e Reste ` estimer P r[m|y, X ] avec le jeu dapprentissage. On pourrait utiliser a simplement lquation : e P r[m|y, X ] n(m, y) n(y)

cest-`-dire, le nombre doccurences du mot m dans les textes de classe y a divis par le nombre doccurences de tous les mots apparaissant dans les textes e de classe y. Cependant, n(m, y) peut tre nul (tous les mots napparaissent pas forcment e e dans les textes de toutes les classes). Aussi, on utilise un estimateur de Laplace : P r[m|y, X ] n(m, y) + 1 n(y) + |V|

Cela nous permet de calculer le numrateur de P r[y|t, X ] pour toutes les e valeurs de classe possibles y Y. Comme dhabitude, on na pas besoin dvaluer e le dnominateur qui est constant pour toutes les classes possibles. On aecte t e a ` la classe : y(t) = arg maxyY P r[y|t, X ] Appliquant cette mthode de classication, [Joachims, 1996] consid`re 20000 e e textes appartenant ` 20 classes direntes. Il utilise les 2/3 des textes pour a e

60

CHAPITRE 4. CLASSEUR BAYESIEN

estimer les probabilits ncessaires ` lapplication de la r`gle de Bayes et teste e e a e sa mthode avec le tiers de textes restant. De lensemble des mots, il a retir les e e 100 mots les plus frquents et il reste ensuite 38500 mots dirents ; un texte e e est donc reprsent par 38500 attributs et sa classe. Sur le jeu de test, le taux e e derreur est de 11 %.

4.6

Critique

Lutilisation de la r`gle de Bayes fonctionne bien, comme elle vient dtre e e dcrite, si : e quand on utilise lhypoth`se na de Bayes, lhypoth`se dindpendance e ve e e des attributs est vrie. Celle-ci peut tre contrle en calculant la mae e e oe trice de corrlation entre les attributs (cf. ACP) et ses valeurs propres. e Ainsi, on vrie quil nexiste pas de corrlation linaire entre les attributs ; e e e lhypoth`se de distribution normale des valeurs des attributs numriques e e est vrie. Cela est plus dicile ` vrier car le fait que les valeurs obe e a e serves parmi les exemples dapprentissage soit ou non normalement dise tribues nimplique pas que la valeur de lattribut le soit vraiment. e De plus, + approche incrmentale : ` chaque nouvel exemple ajout, on peut raner e a e les probabilits ; e + possibilit dinsrer des connaissances a priori , ce qui est impossible dans e e les arbres de dcision (du moins, ce nest pas prvu de mani`re standard e e e dans la mthode) ; e - ncessit de conna e e tre de nombreuses probabilits ; sinon, elles peuvent e tre estimes avec le jeu dexemples. e e

4.7

Logiciels libres

weka contient une implantation dun classicateur de Bayes (na ou non) f http://www.cs.waikato.ac.nz/~ml bayes de Ch. Borgelt : http://fuzzy.cs.uni-magdeburg.de/~borgelt/ software.html#bayes

4.8

Exercices

Exercice 10 Sur le jeu de donnes jouer au tennis ? : e Question 1 : quelle est la classe prdite en utilisant la r`gle de Bayes dune e e journe ensoleill avec vent faible ? e e Question 2 : quelle est la classe dune journe ensoleill, temprature de e e e 23 C, humidit de 70 % et vent faible ? e

4.8. EXERCICES

61

Question 3 : quelle est la probabilit de jouer un jour o` la temprature e u e est de 23 C ? Question 4 : quelle est la probabilit de jouer un jour o` lhumidit est e u e comprise entre 60 et 75 % ?

Exercice 11 La population P est un ensemble de champignons. Il y a deux classes : vnneux et comestible. On sintresse ` lattribut binaire volve. On e e e a dispose des informations suivantes : classe k P(k) P(volve/k) 1 : vnneux e e 0.05 0.9 2 :comestible 0.95 0.2

Je ramasse les champignons si la r`gle de Bayes dtermine leur classe MAP e e comme tant comestible. e Question 1 : Est-ce que je ramasse les champignons ayant une volve ? Appliqueriez-vous cette r`gle si vous alliez ramasser des champignons ? e On dnit un cot pour tout couple de classes (k,i) not cout(k,i). On dnit e u e e alors le cot moyen de laectation ` la classe k dune description d de D par : u a

coutMoyen(k|d) =
i{1,...,c}

cout(k, i) P r[i|d].

La r`gle de dcision du cot minimum est : choisir Ccoutmin qui ` toute e e u a description d associe la classe k qui minimise coutMoyen(k|d). On dnit sur notre exemple les cots suivants : cout(1, 1) = cout(2, 2) = 0, e u cout(1, 2) = 2, cout(2, 1) = . Jutilise la r`gle du cot minimum. e u Question 2 : Est-ce que je ramasse les champignons ayant une volve ?

Exercice 12 On dispose dune population P constitue dun ensemble de pi`ces e e qui sont quitables, biaises avec une probabilit 1/3 pour Face, ou encore bie e e aises avec une probabilit de 1/4 pour Face. Une exprience consiste ` jeter une e e e a pi`ce 20 fois de suite. Au vu du rsultat dune telle exprience, on souhaite clase e e sier la pi`ce. On consid`re donc les trois classes 1,2,3 qui correspondent ` une e e a probabilit de Face gale ` respectivement 1/2, 1/3 et 1/4. On fera lhypoth`se a e e a e priori que les classes sont quiprobables. Une description est un mot de lenseme 20 ble {P, F } , o` P correspond ` Pile et F ` Face. Une procdure de classication u a a e doit associer ` un mot de cet ensemble une classe. Soit la description : a d = PPFPPFFPFPPFPPFPPPFP.

62

CHAPITRE 4. CLASSEUR BAYESIEN

Question 1 : Trouver les formules de calcul des trois quantits P r[1|d], e P r[2|d] et P r[3|d]. Question 2 : Comment d serait-elle classe si on utilise la r`gle de dcision e e e de Bayes ? On dcide de prolonger cette exprience, on relance cette mme pi`ce 20 fois. e e e e Question 3 : Indiquer un choix ` faire sur les probabilits a priori qui a e serait plus intressant que lhypoth`se initiale dquiprobabilit. e e e e

Exercice 13 Les anglais et les amricains orthographient le mot rigueur ree spectivement rigour et rigor . Un homme ayant pris une chambre dans un htel o a crit ce mot sur un bout de papier. Une lettre est prise au hasard dans ce e mot ; cest une voyelle. Question 1 : sans autre information, quelle est, ` votre avis, la probabilit a e que cet homme soit anglais ? Question 2 : on sait que lhtel hberge 60 % damricains, les autres o e e clients tant anglais. Que devient la probabilit que cet homme soit anglais ? e e

Exercice 14 La nuit, vous tes tmoin dun accident impliquant un taxi qui a e e pris la fuite. Dans la pnombre, vous pensez que le taxi est bleu. Tous les taxis e de la ville sont bleux ou verts. Des savants ont calcul que distinguer, de nuit, e la couleur bleue de la couleur verte est able ` 75 %. a Question 1 : peut-on trouver la couleur la plus probable du taxi ? Question 2 : mme question si on sait que neuf taxis sur 10 sont verts ? e

Exercice 15 Alice et Bob jouent au jeu suivant : 1. dun jeu de carte, ils extraient les as et les deux de pique et de cur quils mettent en paquet ; 2. Alice prend deux cartes dans ce paquet ; 3. si elle a pris (au moins) un as, elle le dit ` Bob. a Question 1 : quelle est, dapr`s Bob, la probabilit quAlice ait pris deux e e as ? Question 2 : si, au lieu de dire jai un as , Alice dit jai las de pique (en supposant quelle la vraiment), quelle est, selon Bob, la probabilit e quelle ait les deux as ? Question 3 : en quoi conna la couleur de las renseigne-t-il plus que tre juste savoir quon poss`de un as ? e voir le poly [Denis and Gilleron, 2000].

4.8. EXERCICES

63

Exercice 16 Exercice pour informaticien Ecrire un programme qui prdit la classe de donnes en utilisant la r`gle de e e e Bayes qui ait la mme interface que C4.5 (mme format de chier de donnes, e e e mme type dinterrogation, ...). e

64

CHAPITRE 4. CLASSEUR BAYESIEN

Chapitre 5

Classication ` base a dexemples reprsentatifs e


Contenu
5.1 Mesure de la dissimilarit entre deux donnes . . e e 5.1.1 5.1.2 5.1.3 5.2 Attribut numrique e . . . . . . . . . . . . . . . . . . 66 67 67 67 67 68 69 70 71 71 77 77

Attribut nominal et attribut ordinal . . . . . . . . . Valeur dattribut manquante . . . . . . . . . . . . .

Lalgorithme des plus proches voisins . . . . . . . 5.2.1 5.2.2 5.2.3 Les k plus proches voisins . . . . . . . . . . . . . . . Application a ` jouer au tennis ? . . . . . . . . .

Critique . . . . . . . . . . . . . . . . . . . . . . . . . iris

5.3 5.4 5.5 5.6

Plus proches voisins sur le jeu de donnes e

Plus proches voisins et classication de textes . . Logiciel libre . . . . . . . . . . . . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . .

Pour commencer, on donne le principe intuitif de lalgorithmes des plus proches voisins (k nearest neighbors) : 1. on stocke les exemples tels quels dans une table ; 2. pour prdire la classe dune donne, on dtermine les exemples qui en sont e e e le plus proche ; 3. de ces exemples, on dduit la classe ou on estime lattribut manquant de e la donne considre. e ee On note ` ltape 2 lutilisation dune notion de proximit entre exemples. a e e Il nous faut claircir cette notion. e 65

Les k plus proches voisins

` 66CHAPITRE 5. CLASSIFICATION A BASE DEXEMPLES REPRESENTATIFS

5.1

Mesure de la dissimilarit entre deux e donnes e

distance

La notion de proximit induit celle de dissimilarit, distance, ou resseme e blance entre deux donnes. Mathmatiquement parlant, une distance d est une e e application dnie par : e

d : D D R+ (x, y) d(x, y) non dgnre : d(x, y) = 0 x = y, e e ee symtrique : d(x, y) = d(y, x), e ingalit triangulaire : d(x, z) d(x, y) + d(y, z). e e qui respecte les 3 proprits suivantes (x, y, z) D3 : ee

Un espace de points muni dune distance est un espace mtrique. Les dise tances les plus classiques sont issues des normes de Minkowski. Elles concernent des donnes dont les attributs sont quantitatifs. Les plus classiques sont : e
2 distance euclidienne : (xi , xj ) = k=1 (xi,k xj,k ) , on ne peut plus classique. Son dfaut est quelle est sensible aux valeurs loignes de la e e e moyenne. Ses qualits sont lies au fait quelle est drivable, de drive e e e e e continue ; k=P distance de Manhattan : (xi , xj ) = k=1 |xi,k xj,k | : cette distance est beaucoup moins sensible aux valeurs loignes de la moyenne que la e e distance euclidienne ; son dfaut est quelle nest pas drivable en 0 ; e e la distance maximale : (xi , xj ) = maxk{1,...,P } |xi,k xj,k | : cette mesure est simplement le plus grand cart entre xi et xj . e k=P

Lutilisation de lune ou lautre de ces fonctions dpend de ce que lon veut e mesurer. La distance euclidienne est tr`s courante : cest simplement la distance e euclidienne ; la mise au carr a pour consquence de diminuer linuence des e e petites dirences par rapport aux grandes qui sont magnies. Elle est tr`s e e e utilise, trop mme : elle tend ` tre systmatiquement utilise, par habitude, e e ae e e mme dans des situations o` sont utilisation nest pas justie. e u e Utiliser une distance nest pas si simple que cela ; dans la pratique, imposer le respect de lingalit triangulaire est souvent problmatique. On se contente e e e alors dune dissimilarit. Une dissimilarit est galement une application qui e e e associe un rel positif ` un couple de donnes et qui vrie les deux proprits e a e e ee de non dgnrescence et symtrie. Ces deux proprits sont assez faciles ` e e e e ee a respecter, mme pour des attributs non quantitatifs. e On distingue et discute ci-dessous le cas dattributs numriques dattributs e nominaux.

dissimilarit e

5.2. LALGORITHME DES PLUS PROCHES VOISINS

67

5.1.1

Attribut numrique e
ordre de grandeur des attributs mise ` lchelle a e

Pour un attribut numrique, la dissimilarit introduite plus haut sapplique e e immdiatement. e Cependant, un probl`me se pose si lordre de grandeur des attributs ` come a biner nest pas le mme pour tous ; naturellement, les attributs dordre de e grandeur les plus grands vont dominer les autres. Pour viter ce probl`me, il faut mettre ` lchelle les attributs en normalisant e e a e leur valeur. Si lattribut ai prend sa valeur dans lintervalle [min (ai ), max (ai )], on utilise lattribut normalis : e ai = ai min (ai ) max (ai ) min (ai )

dont la valeur est comprise dans lintervalle [0, 1]. Dautre part, certains attributs peuvent tre plus importants que dautres. e On peut donc pondrer les attributs en fonction de leur importance. e

importance des attributs

5.1.2

Attribut nominal et attribut ordinal

La dissimilarit entre deux valeurs nominales doit tre dnie. On prend e e e gnralement : e e une dissimilarit nulle si la valeur de lattribut est la mme dans les deux e e donnes ; e dissimilarit = 1 sinon. e Ainsi, on na pas ` normaliser la valeur des attributs nominaux. a Cependant, cette dnition peut tre un peu trop simple et nest pas adapte e e e pour les attributs ordinaux. Ainsi, considrons un attribut couleur dont les e valeurs possibles sont { rouge, jaune, rose, vert, bleu, turquoise }. On peut se dire que la dissimilarit entre bleu et rouge est plus grande quentre rouge et e jaune. On peut alors essayer de se dnir une mesure de dissimilarit qui en e e tienne compte. attribut ordinal

5.1.3

Valeur dattribut manquante

Si une valeur dattribut est manquante dans une donne, on consid`re e e gnralement que la dissimilarit pour cet attribut est maximale. e e e

5.2

Lalgorithme des plus proches voisins

Tout cela ayant t prcis, on peut dtailler le principe de lalgorithme ee e e e donn plus haut. e

` 68CHAPITRE 5. CLASSIFICATION A BASE DEXEMPLES REPRESENTATIFS

5.2.1

Les k plus proches voisins

Dtermination des k plus proches voisins e Lalgorithme de dtermination des k plus proches voisins est donn en 3. e e Dans cet algorithme, la fonction de mesure de dissimilarit est ` dnir en e a e suivant les recommendations fournies dans la section prcdente. e e Algorithme 3 Prdiction de la classe dune donne par la mthode des k plus e e e proches voisins Ncessite: 3 param`tres : un ensemble dexemples X et une donne x D ; e e e k {1, ..., N } pour chaque exemple xi X faire calculer la dissimilarit entre xi et x : (xi , x) e n pour pour {1, ..., k} faire kppv [] arg mini{1,...,N } (xi , x) (xi , x) + n pour dterminer la classe de x ` partir de la classe des exemples dont le numro e a e est stock dans le tableau kppv e

Prdire la classe dune donne e e Ayant dtermin les k plus proches voisins, il reste ` prdire la classe de e e a e la donne x. Plusieurs stratgies sont envisageables. On suppose ci-dessous que e e lon est dans un probl`me de classication binaire et on dnit classe (x) = +1 e e pour une donne x positive, classe (x) = 1 si elle est ngative. On a alors par e e exemple : la classe majoritaire parmi les k plus proches voisins, soit : =k classe (x) sgn =1 classe (kppv[]) le terme apparaissant dans la somme est soit +1, soit 1 ; donc la somme elle-mme est de signe positif sil y a plus de positifs parmi les k plus e proches voisins que de ngatifs, et rciproquement. La fonction signe note e e e sgn est ici dnie comme suit : e sgn (x) = +1 si x 0 1 si x < 0

la classe majoritaire parmi les k plus proches en pondrant la contribution e de chacun par linverse de sa dissimilarit ` x, soit : ea =k classe (x) sgn f ((xkppv[] , x)) classe (kppv[]). =1 f peut tre choisie de direntes mani`res : e e e

5.2. LALGORITHME DES PLUS PROCHES VOISINS


2

69

normale : f () = e ; inverse : f () = 1/ ; ... Comme toujours en fouille de donnes, toute autre solution est envisageable, e a ` partir du moment o` elle est cohrente avec les donnes et la dnition de u e e e leurs attributs. Choisir k Comment choisir k ? Il ny a pas de mthode particuli`re sinon quil faut e e choisir le k qui va bien pour les donnes que lon a ! e Dune mani`re gnrale, on peut aussi prendre k = N dans le cas o` line e e u uence de chaque exemple est pondre par sa dissimilarit avec la donne ` ee e e a classer. Prendre k petit (1, 2 ou 3 par exemple) est aussi une bonne stratgie e dans la pratique, beaucoup moins coteuse en temps de calcul quand le nombre u de donnes est grand. e Mesurer la similarit e Plutt que mesurer la dissimilarit entre deux donnes, on peut naturelleo e e ment mesurer leur similarit et inverser le raisonnement par rapport ` ce que e a lon vient de dire (en particulier, dans lalgorithme 3, il sut de remplacer larg min par un arg max). Notons une fonction de similarit en gnral, celle-ci doit respecter : e e e x) est maximal, voire inni ; (x, (x, y) = (y, x), (x, y). Une fonction populaire respectant ces deux proprits est la fonction noree male :

(x, y) = e

(x,y) 2 2

o` (x, y) est une certaine distance ou dissimilarit entre x D et y D. u e On en rappelle le graphe ` la gure 5.1. Le param`tre permet de rgler le a e e rayon dinuence de chaque donne : plus est grand, plus ce rayon est grand. e Cette fonction porte aussi le nom de fonction ` base radiale 1 . a

5.2.2

Application ` a

jouer au tennis ?

On reprend lapplication jouer au tennis ? avec le jeu de donnes come prenant des attributs numriques et dautres nominaux (cf. table 3.2) sur lequel e on applique lalgorithme des k plus proches voisins.
1. radial basis function en anglais, soit RBF en abrg. e e

` 70CHAPITRE 5. CLASSIFICATION A BASE DEXEMPLES REPRESENTATIFS


1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -10 sigma = 1 sigma = 0.5 sigma = 2

-5

10

Figure 5.1 Le graphe de la fonction e 22 , avec {0, 5, 1, 2}. Plus ` est grand, plus large est le rayon dinuence. A lextrme, si est nul, le rayon e dinuence est nul : la fonction est nulle en tout point, sauf en 0 o` elle est u innie. Dissimilarit entre deux donnes e e On peut dnir la dissimilarit entre deux donnes par : e e e
2 2 2 2 2 (xi , xj ) = Ciel (xi , xj ) + Temprature (xi , xj ) + Humidit(xi , xj ) + Vent (xi , xj ) e e 2 2 Temprature (xi , xj ) et Humidit(xi , xj ) sont aisment dnies puisque ce sont e e e e des attributs numriques. On utilisera gnralement la distance euclidienne, e e e soit : 2 Temprature (xi , xj ) = (xi,Temprature xj,Temprature )2 e e e

d(x,y)

pour la temprature. e 2 Pour Ciel (xi , xj ), on peut la dnir comme suit (par exemple) : e
2 Ciel (xi , xj ) =

1 si la valeur de lattribut Ciel di`re pour xi et xj e 0 sinon Vent .

De mme, on peut dnir la dissimilarit concernant lattribut e e e

Il reste ` rgler le probl`me des ordres de grandeur. Tels que nous venons de a e e dnir les dissimilarits, elle vaut au plus 1 pour Ciel et Vent, peut valoir plus e e de 20 pour la temprature et lhumidit. Il peut tre judicieux de multiplier les e e e premiers par 20, ou diviser les seconds par 20.

5.2.3

Critique

relativement lourd en terme de temps de calcul et dutilisation despace mmoire si le nombre dexemples est important ; ncessit dutiliser des e e e structures de donnes plus sophistiques : Kd-tree ou autres ; e e dicult de la dnition de la bonne distance/dissimilarit ; e e e

5.3. PLUS PROCHES VOISINS SUR LE JEU DE DONNEES

IRIS

71

probl`me sil y a du bruit dans les donnes ; e e probl`me si la pertinence des attributs nest pas uniforme pour tous. e Remarque : lalgorithme des k plus proches voisins est un algorithme dit fainant parce quil ne ralise un traitement quau moment o` on lui fournit e e u une donne ` classer : il travaille ` la demande. e a a

5.3

Plus proches voisins sur le jeu de donnes e iris

On applique lalgorithme des plus proches voisins sur le jeu de donnes e iris que lon a dj` rencontr plus haut (cf. chap. 3, sec. 3.10 et chap. ea e 4, sec. 4.4.3). Pour prdire la classe dune donne, on utilise k exemples, k variant entre 1 e e et tous les exemples. On dtermine la similarit entre une donne x et chaque e e e exemple xi par la fonction noyau gaussien :
||xxi ||2 2 2

Pour chaque classe, on fait la moyenne de cette mesure de similarit ; la e classe prdite est celle pour laquelle cette moyenne est la plus leve, soit : e e e
||xxi ||2 2 2

y(x) arg maxy{setosa,versicolor,virginiva}

{xi ,y(xi )=y}

|Xclasse=y |

La gure 5.2 montre le partitionnement de lespace des donnes quand on e fait varier le nombre de voisins considrs. ee La gure 5.3 montre le partitionnement de lespace des donnes quand le e param`tre varie. e On pourra comparer ces rsultats au partitionnement eectu par un classeur e e baysien (cf. g. 4.1 page 56) et ` celui eectu par C4.5 (cf. g. 3.8 page 41). e a e

5.4

Plus proches voisins et classication de textes

Lalgorithme des plus proches voisins a t utilis pour faire de la classiee e cation de textes. Etant donne sa simplicit, un fait exprimental des moins e e e attendus sont ses excellentes performances sur certains jeux de donnes, ce qui e en fait un algorithme gnrique plus performant que tous les autres, mmes tr`s e e e e sophistiqus, sur certains jeux de donnes (cf. voir Yang [1999]). e e

` 72CHAPITRE 5. CLASSIFICATION A BASE DEXEMPLES REPRESENTATIFS

(a) k = 1

(b) k = 2

(c) k = 5

(d) k = 10

(e) k = 25

(f) k = 50

(g) k = 100

Figure 5.2 Partitionnement de lespace des donnes par les plus proches e voisins en considrant direntes valeurs du param`tre k, i.e., le nombre de e e e voisins. Sur chacun des graphiques, la longueur des ptales est en abcisses, e leur largeur en ordonnes ; les couleurs indiquent la classe prdite pour chaque e e donne : rouge pour setosa, vert pour versicolor et bleu pour virginica ; enn, e on a reprsent les 150 exemples dans des couleurs direntes selon leur classe : e e e rose pour les setosa, jaune pour les versicolor et bleu clair pour les virginica.

5.4. PLUS PROCHES VOISINS ET CLASSIFICATION DE TEXTES

73

(a) = 0, 001

(b) = 0, 01

(c) = 0, 02

(d) = 0, 03

(e) = 0, 05

(f) = 0, 075

(g) = 0, 1

(h) = 0, 2

(i) = 0, 5

(j) = 1, 0

(k) = 2, 0

(l) = 5, 0

Figure 5.3 Partitionnement de lespace des donnes par les plus proches e voisins en considrant direntes valeurs du param`tre de la fonction noyau e e e gaussien, en utilisant tous les exemples. Sur chacun des graphiques, la longueur des ptales est en abcisses, leur largeur en ordonnes ; les couleurs indiquent la e e classe prdite pour chaque donne : rouge pour setosa, vert pour versicolor et e e bleu pour virginica ; enn, on a reprsent les 150 exemples dans des couleurs e e direntes selon leur classe : rose pour les setosa, jaune pour les versicolor et bleu e clair pour les virginica. Pour les plus petites valeurs de , les zones blanches sont des zones o` la prcision des calculs est trop limite pour dterminer la classe u e e e des points sy trouvant (prcision : 10300 ). Pour bien faire, il faudrait adapter e notre programme pour quil puisse traiter des quantits plus petites que cela. e

` 74CHAPITRE 5. CLASSIFICATION A BASE DEXEMPLES REPRESENTATIFS On reprend ce que nous avons vu au chapitre 4 ` propos de la classication a de textes, ainsi que les notations qui y ont t introduites. ee Un texte est reprsent par un ensemble dattributs, chaque attribut tant e e e associ ` un mot du vocabulaire V et ayant pour valeur le nombre doccurences ea de ce mot dans le texte. On note n(m, t) le nombre doccurences du mot m dans le texte t. Notons quun mot qui appara 2 fois dans un texte nest pas forcment 2 fois t e plus important quun mot qui nappara quune seule fois. Aussi, pour mieux t tenir compte de cet eet non linaire de limportance des mots dans un texte e en fonction de leur nombre doccurences, on peut utiliser la quantit : e 1 + log (n(m, t)) si n(m, t) = 0 0 sinon

(5.1)

qui se nomme la frquence du terme. e Une reprsentation frquemment utilise est dite e e e TF.IDF (Term frequency.Inverse Document Frequency) ; dans cette reprsentation, lattribut ase soci au mot m prend la valeur suivante : e 0, si n(m, t) = 0 (1 + log (n(m, t))) log

N n(m)

sinon

(5.2)

o` : u n(m) est le nombre de textes dans lesquels le mot m appara ; t N est le nombre de donnes, soit ici, le nombre de textes. e N Le terme log n(m) est dnomme lIDF : Inverse Document Frequency. e e IDF (m) est faible si m appara dans beaucoup de textes, lev sil nappara t e e t que dans un seul. Dans le premier cas, la prsence de m ne donne aucune infore mation puisquil est prsent dans tous les textes ; dans le second, il indique des e textes particuliers, donc, ventuellement, une classe particuli`re. e e Un texte complet peut alors tre reprsent par un vecteur dont chaque e e e composante correspond ` un mot prsent au moins une fois dans lensemble a e des textes dapprentissage, cette composante prenant pour valeur le nombre doccurences de ce mot dans ce texte particulier ou son IDF. On peut ensuite normaliser ce vecteur pour quil soit de longueur unit. Donc, la ie composante du e e vecteur document, qui correspond au i terme du vocabulaire, est : IDF (i) 2
j

IDF (j)

Par exemple, le texte suivant (extrait du man ls de Linux) : La commande ls ache tout dabord lensemble de ses arguments chiers autres que des rpertoires. Puis ls ache lensemble des e chiers contenus dans chaque rpertoire indiqu. dir et vdir sont e e des versions de ls achant par dfaut leurs rsultats avec dautres e e formats.

5.4. PLUS PROCHES VOISINS ET CLASSIFICATION DE TEXTES

75

Table 5.1 Vecteur reprsentatif du texte donn en exemple. Il y a autant e e de lignes que de racines de mot. La colonne i donne le numro de la racine du e mot, la deuxi`me donne sa racine, la troisi`me le nombre doccurences du mot e e dans lensemble des textes, la quatri`me donne son IDF (voir la dnition dans le e e texte) et la derni`re est la composante correspondante dans le vecteur-document e du texte considr. ee i mot DF IDF d (i) 1 ach 3 1, 09 0, 56 2 argument 1 0, 0 0, 0 1 0, 0 0, 0 3 commande 4 contenu 1 0, 0 0, 0 5 dir 1 0, 0 0, 0 6 ensemble 2 0, 69 0, 35 2 0, 69 0, 35 7 chier 8 format 1 0, 0 0, 0 9 indiqu e 1 0, 0 0, 0 10 ls 3 1, 09 0, 56 11 rpertoire e 2 0, 69 0, 35 1 0, 0 0, 0 12 rsultat e 13 vdir 1 0, 0 0, 0 14 version 1 0, 0 0, 0

fournit le corpus compos des racines 2 de mots : commande, ach, ensemble, e argument, dir, chier, ls, vdir, rpertoire, contenu, indiqu, version, rsultat, e e e format. Le vecteur de ce document est indiqu ` la table 5.1. ea En utilisant la reprsentation TF.IDF, un texte est reprsent par un ene e e semble dattributs (P ) et de sa classe. Ces P attributs ont chacun une valeur positive : cest un vecteur dans un espace ` P dimensions. Ce vecteur peut a aisment tre norm. D`s lors, un texte est reprsent par un vecteur situ dans e e e e e e e le premier quadrant et tous les textes ont la mme norme (ainsi, ils ont tous la e mme importance). e Dans cette reprsentation, les composantes correspondent aux proportions e de mots dans les textes, une composante par mot. Des vecteurs ayant ` peu pr`s a e les mmes coordonnes sont donc des textes ` peu pr`s composs des mmes e e a e e e mots, dans les mmes proportions (cf. g. 5.4). Dans ce cas, on peut penser quils e appartiennent ` la mme classe. Donc, il est important de pouvoir dterminer a e e cette proximit entre deux vecteurs, ce qui peut se faire par la dtermination e e
2. les racines de mots permettent de considrer quivalentes toutes les formes accordes ou e e e conjugues dun mme mot. Pour chaque langue, il existe une mthode pour obtenir la racine e e e de nimporte quel mot.

interprtation e gomtrique e e

` 76CHAPITRE 5. CLASSIFICATION A BASE DEXEMPLES REPRESENTATIFS

t3

t2

t1

Figure 5.4 Reprsentation tr`s schmatique de lespace des textes. Chaque e e e axe de coordonnes correspond ` un mot du vocabulaire. Dans un cas rel, ce e a e schma est de dimension P e 2. Un texte est reprsent par un vecteur de e e norme 1 situ dans le 1er quadrant. Deux textes proches (composs des mmes e e e mots en proportions similaires) forment un angle aigu (textes t2 et t3 ) alors que deux textes composs de termes dirents forment un angle obtu (texte t1 par e e rapport ` t2 et t3 ). a

5.5. LOGICIEL LIBRE

77

de langle entre les deux vecteurs. On peut en fait facilement obtenir le cosinus de cet angle : plus cette valeur est proche de 1, plus les textes associs ont une e composition similaire. Rappelons que le cosinus de deux vecteurs est li ` leur ea produit scalaire par : < V , W >= V W cos ( V , W )

Si les vecteurs sont de norme unit, cette quation se simplie en : e e < V , W >= cos ( V , W ) (5.3)

et la bonne nouvelle est que le produit scalaire de deux vecteurs est une opration des plus simples ` eectuer : e a < V , W >=
i=P

Vi Wi
i=1

Donc, pour dterminer la similarit entre deux textes xi et xj , il sut de e e k=P calculer leur produit scalaire k=1 ai,k aj,k . Ensuite, en appliquant lalgorithme des plus proches voisins, on peut estimer la classe dun texte ` partir dun a ensemble dexemples. Par cette mthode tr`s simple, Yang [1999] a obtenu dexcellents rsultats e e e pour la classication de textes.

5.5

Logiciel libre

weka poss`de plusieurs implantations dalgorithmes de type plus proches e voisins http://www.cs.waikato.ac.nz/~ml rainbow est un logiciel permettant de reprsenter des textes et de faire e de la classication de textes avec dirents algorithmes : http://www.cs. e cmu.edu/~mccallum/bow. Outre les k plus proches voisins, Rainbow inclut un classeur de Bayes na les MVS (cf. chap. 8) et dautres algorithmes. f,

5.6

Exercices

` 78CHAPITRE 5. CLASSIFICATION A BASE DEXEMPLES REPRESENTATIFS

Chapitre 6

Classeur ` base de r`gles a e


Contenu
6.1 6.2 6.3 6.4 6.5 Mthode e c4.5rules . . . . . . . . . . . . . . . . . . . . . . . . . 80 82 84 85 85 Approche par couverture : lalgorithme Prism . . Approche par r`gles dassociation e Synth`se . . . . . . . . . . . . . . . . . . . . . . . . . e Logiciels libres . . . . . . . . . . . . . . . . . . . . .

Dans ce chapitre, on sintresse a lobtention dun classeur compos de r`gles e ` e e de classication : pour prdire la classe dune donne, on applique ces r`gles. e e e Les r`gles sont construites ` partir du jeu dexemples X . e a Une r`gle de classication poss`de la forme gnrale : e e e e si condition(x) alors classe(x) = ... o` : u x est une donne ; e condition(x) est une condition exprime sur les attributs de la donne x e e de la forme attribut = valeur ; ... est une valeur possible pour la classe : vrai ou faux si on est dans un probl`me de classication binaire par exemple. e Lutilisation dune r`gle de classication est tout ` fait intuitive : si la cone a dition est vrie sur une certaine donne, alors on en prdit sa classe. e e e e Exemple : soit un ensemble de donnes, chaque donne tant caractrise e e e e e par trois attributs a1 {1 , 2 , 3 }, a2 {1 , 2 } et a3 {1 , 2 } et de classe vrai ou faux . Une r`gle de classication pourrait tre : e e si a1 = 1 et a3 = 2 alors classe gets faux Pour dterminer la classe dune donne, on utilise un ensemble de r`gles de e e e classication. Ces r`gles sont ordonnes (numrotes) ; pour classer une donne, e e e e e 79

80

` ` CHAPITRE 6. CLASSEUR A BASE DE REGLES

on regarde si la donne vrie la condition de la premi`re r`gle ; si elle est vrie, e e e e e e on applique la conclusion de la r`gle ; sinon, on regarde si la donne vrie la e e e condition de la deuxi`me r`gle ; si elle est vrie, on applique sa conclusion ; e e e e etc. Le probl`me est donc le suivant : disposant dun jeu de donnes, induire un e e ensemble de r`gles de classication. e Direntes approches ont t proposes : e ee e on construit un arbre de dcision que lon transforme ensuite en r`gles ; e e cest ce que fait C4.5rules par exemple, algorithme accompagnant C4.5 (cf. chap. 3) ; on gn`re directement des r`gles : exemples : Prism Cendrowska [1987], e e e Ripper [Cohen, 1995], slipper [Cohen and Singer, 1999], ... on passe par des r`gles dassociation. e Nous examinons successivement 3 approches dans la suite : C4.5rules, Prism et lobtention dun jeu de r`gles en passant au pralable par des r`gles e e e dassociation. Ce chapitre est prsent sous forme dexercice. e e

6.1

Mthode e

c4.5rules

La premi`re mthode que nous examinons est celle utilise par c4.5rules. Elle e e e consiste ` construire un arbre de dcision correspondant au jeu de donnes et a e e den dduire un ensemble de r`gles de classication. e e Par exemple, de larbre de dcision reprsent ci-dessous : e e e

a 1 1 2 faux 2 faux 1 faux 3 a 2 2 vrai

1 vrai

a 3

on peut dduire le jeu de r`gles de classication suivant : e e 1. si a1 = 1 et a3 = 1 alors classe = vrai 2. si a1 = 1 et a3 = 2 alors classe = faux 3. si a1 = 2 alors classe = faux 4. si a1 = 3 et a2 = 1 alors classe = faux

6.1. METHODE

C4.5RULES

81

5. si a1 = 3 et a2 = 2 alors classe = vrai Pour obtenir ces r`gles, on a simplement pris chaque chemin entre la racine e et une feuille ; on combine les tests prsents dans les nuds rencontrs sur le e e chemin par des et : cela fournit la condition de la r`gle ; la conclusion est e ltiquette de la feuille. On a produit les r`gles en eectuant ce traitement en e e parcourant larbre de dcision de gauche vers la droite. e On illustre la suite sur le jeu de donnes jouer au tennis ? (cf. chap. 3, e table 3.1). On rappelle que lon a dduit larbre de dcision suivant de ce jeu de e e donnes : e
Ciel Ensoleill e Humidit e e Eleve non Normale oui Couvert oui Fort non Pluie Vent Faible oui

Question 1 : Donner lensemble de r`gles que lon obtient ` partir de cet e a arbre de dcision en suivant la mthode indique ci-dessus. e e e Une fois ce jeu de r`gles obtenu, c4.5rules le simplie. Pour cela, il limine e e certaines r`gles ou en simplie la condition. Nous expliquons maintenant come ment se droule cette simplication. e Soit une condition de la forme : c1 et c2 et ... cn o` les ci sont des conditions sur les attributs (comme dans lexemple ciu dessus). Le principe est le suivant : 1. on estime la probabilit derreur ec1 ,c2 ,...cn de la r`gle avec toutes ses cone e ditions (c1 et c2 et ... cn ) ; 2. on estime la probabilit derreur ec1 ,c2 ,...cn1 de la r`gle dont la condition e e est prive de sa derni`re partie (ici cn ), soit la r`gle de condition c1 et c2 e e e et ... cn1 ; 3. si ec1 ,c2 ,...cn1 ec1 ,c2 ,...cn , on simplie la condition puisque la r`gle sime plie commet moins derreur que la r`gle non simplie. Donc, la condie e e tion devient c1 et c2 et ... cn1 . Et on recommence : on voit si lon peut encore simplier en retirant cn1 en estimant, ` nouveau, la probabilit a e derreur de cette nouvelle r`gle, ... On continue tant que cette estimation e diminue ;

82

` ` CHAPITRE 6. CLASSEUR A BASE DE REGLES

4. au contraire, si ec1 ,c2 ,...cn1 > ec1 ,c2 ,...cn , on laisse la r`gle inchange. Cest e e termin. e Comment estime-t-on la probabilit derreur dune r`gle ? Comme on la vu e e au chap. 3, sec. 3.7.5 pour estimer lerreur eectue par un arbre de dcision. e e On compte le nombre dexemples n vriant la condition de la r`gle et on e e compte, parmi ceux-ci, le nombre dexemples s dont la classe est bien prdite e par la r`gle. Donc, le nombre dexemples vriant la condition de la r`gle et e e e ` mal classs est f = n s. A partir du rapport f /n, en se donnant un taux de e conance c (c = 75% par exemple), on dtermine un intervalle de conance pour e la probabilit de mal classer une donne et on consid`re sa borne suprieure : e e e e cette borne suprieure est prise comme estimation de la probabilit recherche. e e e ` lissue de la simplication de chacune des r`gles, on peut avoir plusieurs A e r`gles identiques (mme condition, mme conclusion) ; on nen garde bien ene e e tendu quune seule. Question 2 : Appliquer cette mthode de simplication au jeu de r`gles e e obtenu ` la question prcdente. On prendra c = 75%. a e e Question 3 : Quelle est lerreur dapprentissage de ce jeu de r`gles ? e Question 4 : Quelle est lerreur estime du jeu de r`gles obtenu (on prendra e e encore un taux de conance de 75 %) ?

6.2

Approche par couverture : lalgorithme Prism

Une deuxi`me mthode pour gnrer un jeu de r`gles de classication est la e e e e e suivante. On cherche une r`gle de la forme : e si ? alors classe = vrai o` ? est une condition sur la valeur dun attribut. Sur lexemple donn plus u e haut, ? pourrait tre : e a1 = 1 a1 = 2 a1 = 3 a2 = 1 a2 = 2 a3 = 1 a3 = 2 Pour chacune de ces possibilits, on dtermine le rapport : e e nombre dexemples couverts correctement classs e nombre dexemples couverts par la r`gle e o` : u

6.2. APPROCHE PAR COUVERTURE : LALGORITHME PRISM

83

le nombre dexemples couverts par la r`gle est le nombre dexemples qui e vrient la condition de la r`gle ; e e le nombre dexemples couverts correctement classs est le nombre dexeme ples qui vrient la condition de la r`gle et dont la classe est celle prsente e e e en conclusion de la r`gle (vrai dans cet exemple). e Enn, on choisit la condition pour laquelle ce rapport est maximal. Si plusieurs conditions ont mme valeur pour ce rapport, on prend celle dont le e numrateur est maximal. Si, ` nouveau, plusieurs conditions sont ` galit, on e a ae e en prend une au hasard. Cette premi`re tape fournit une r`gle de la forme : e e e si c1 alors classe = vrai Ensuite, on essaie de trouver une deuxi`me condition pour obtenir une r`gle e e de la forme : si c1 ET c2 alors classe = vrai c2 est lune des conditions restantes (une fois que lon a choisi c1 ). On fait le choix de c2 comme pour c1 . Et on continue comme cela jusqu` ce que le rapport : a nombre dexemples couverts correctement classs e nombre dexemples couverts par la r`gle e soit gal ` 1. e a ` A ce moment-l`, on arrte : on a obtenu notre premi`re r`gle R1 . a e e e On retire du jeu dapprentissage tous les exemples couverts par cette r`gle e (ils sont ncessairement bien classs). Et on recommence tout ; cela va fournir e e une nouvelle r`gle R2 , puis R3 ... jusqu` ce quil ny ait plus dexemples positifs e a dans le jeu de donnes. e Ensuite, on refait exactement la mme chose pour les exemples ngatifs ce e e qui fournit un nouvel ensemble de r`gles. e Le jeu de r`gles de classication recherch est lunion de ces deux ensembles e e de r`gles (celles qui concluent sur classe = vrai et celles qui concluent sur classe e = faux). Cet algorithme fournit un ensemble de r`gles de classication. e Question 5 : Appliquer cet algorithme sur le jeu de donnes jouer au e tennis ? Question 6 : Quelle est lerreur dapprentissage de ce jeu de r`gles ? e Question 7 : Quelle est lerreur estime du jeu de r`gles obtenu (on prendra e e encore un taux de conance de 75 %) ? Question 8 : Que se passe-t-il sil existe des donnes ayant la mme descripe e tion (mme valeur pour tous leurs attributs) et de classe dirente ? Proposer e e une solution pour y remdier. e

84

` ` CHAPITRE 6. CLASSEUR A BASE DE REGLES

6.3

Approche par r`gles dassociation e

Remarque : pour pouvoir lire et comprendre cette section, la lecture pralable e du chap. 13 est indispensable. Cette mthode consiste ` construire des r`gles dassociation. Pour cela, e a e ltape pralable consiste ` constuire des ensembles ditems frquents de plus en e e a e plus grands. Pour cela, on commence par des singletons, puis des couples, puis des ensembles de 3 items, ... Un item est de la forme attribut = valeur. Ici, on consid`re que la classe est un attribut comme un autre ; un item peut donc tre e e ` chaque item, on associe son support, cest-`-dire le nombre de classe = vrai. A a fois o` il appara dans le jeu dexemples. u t Question 9 : Donner la liste des ensembles d1 item apparaissant dans le jeu de donnes joue-je au tennis aujourdhui ? et, pour chacun, son support. e Quand on dispose des ensembles de n items dont le support est S, un ensemble de n + 1 items doit ncessairement avoir chacun de ses sous-ensembles e de n items qui sont des ensembles de n items de support S. Autrement dit, notons H, I, J, K et L cinq items ; supposons que {H, I, J}, {H, I, K}, {H, J, K}, {H, J, L} et {I, J, K} soient de support S ; alors, {H, I, J, K} est peut-tre e un ensemble de 4 items de support S parce que ses sous-ensembles de 3 items ({H, I, J}, {H, J, K} et {I, J, K}) sont galement de support S. e Cela tant dit, il faut ensuite vrier que le support de lensemble ditems e e est bien S pour quil soit frquent. e Question 10 : Donner la liste des ensembles de 2 items frquents de support e 3. Dans la suite, on ne sintressera quaux ensemble ditems de support 3. e

Question 11 : Idem pour les ensembles de 3, 4, 5 items frquents de support e 3.

Il reste ` passer des ensembles ditems frquents ` des r`gles de classication. a e a e De lensemble ditems frquents {H, I, J} on peut tirer un ensemble de r`gles e e dassociation : si H et I alors J si H et J alors I si I et J alors H si H alors I et J si I alors H et J si J alors H et I si alors H, I et J ` A chaque r`gle, on peut associer sa prcision : e e nombre dexemples couverts pour lesquels la conclusion de la r`gle est correcte e nombre dexemples couverts par la r`gle e

` 6.4. SYNTHESE

85

Pour des r`gles de classication, on ne sintresse quaux r`gles dassociation e e e dont la conclusion est de la forme classe = vrai ou classe = faux. ` Question 12 : A partir des ensembles ditems frquents calculs e e prcdemment, donner la liste des r`gles de classication dont la prcision est e e e e 1. Question 13 : Quelle est lerreur dapprentissage de ce jeu de r`gles ? e Question 14 : Quelle est lerreur estime du jeu de r`gles obtenu (on e e prendra encore un taux de conance de 75 %) ?

6.4

Synth`se e

Question 15 : Parmi les 3 mthodes que nous venons dtudier, laquelle e e semble la plus performante, cest-`-dire, laquelle poss`de la plus faible proba e abilit derreur de classication telle quelle a t estime dans les direntes e ee e e parties du probl`me ? e

6.5

Logiciels libres

C4.5rules accompagne C4.5 ; il est disponible sur le site de quinlan : http://www.cse.unsw.edu/~quinlan ; dirents algorithmes sont disponibles dans weka, dont Prism et Ripper ; e http://www.cs.waikato.ac.nz/~ml slipper peut tre obtenu aupr`s de son auteur pour des usages non come e merciaux.

86

` ` CHAPITRE 6. CLASSEUR A BASE DE REGLES

Chapitre 7

Classication par rseaux e de neurones


Contenu
7.1 Le neurone formel . . . . . . . . . . . . . . . . . . . 7.1.1 7.1.2 7.1.3 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.3 7.4 7.5 7.6 7.3.1 Description dun neurone formel . . . . . . . . . . . Apprentissage des poids dun perceptron . . . . . . . Illustration sur les iris . . . . . . . . . . . . . . . . . 88 88 90 95 98

Perceptron multi-couches . . . . . . . . . . . . . . .

Topologie dun perceptron multi-couches . . . . . . . 100 Apprentissage des poids dun PMC . . . . . . . . . . 102 Quelques complments sur lalgorithme dapprentise sage des poids . . . . . . . . . . . . . . . . . . . . . . 103 Dautres rsultats rassurants . . . . . . . . . . . . . 108 e jouer au tennis ? . . . . . . . . . 109 109 109 110 Numrisation des attributs et de la classe . . . . . . 109 e

Application ` a

Critique . . . . . . . . . . . . . . . . . . . . . . . . . Les logiciels libres . . . . . . . . . . . . . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . . . .

Il existe plusieurs types de rseaux de neurones. Nous dcrivons ici lutilisae e tion de lun dentre-eux, le perceptron multi-couches. Un autre type de rseau e de neurones, le rseau de Kohonen, est prsent au chap. 12 dans le cadre de e e e lapprentissage non supervis. e Malgr leur nom, les rseaux de neurones nont quun tr`s lointain rapport e e e avec celui que nous avons dans notre tte, nous humains, ou mme les vers e e de terre. Aussi, il ne faut pas sattendre ` des proprits extraordinaires et a ee miraculeuses que la dicult dapprhension du fonctionnement dun rseau de e e e neurones pourrait entra ner dans des esprits non prvenus. e 87

88

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

Nous commenons par dcrire lunit de base dun rseau de neurones, le c e e e neurone formel.

7.1

Le neurone formel

En terme de vocabulaire, on parlera indiremment de neurone formel, due nit et de perceptron. Dans ce qui suit, on consid`re que ces trois termes on la e e mme signication. e

7.1.1

Description dun neurone formel

Nous considrons ici un type particulier de neurone formel, le perceptron. e Un perceptron est une unit de traitement qui a les caractristiques suivantes : e e il poss`de P + 1 entres que lon notera ei{0,...P } . Lentre e0 est pare e e ticuli`re : on la nomme le e biais ou seuil et elle vaut toujours 11; il poss`de une sortie note s ; e e chacune des entres est pondre par un poids not wi{0,...P } R ; e ee e une fonction dactivation, note (.), dtermine la valeur de s en fonction e e i=P des valeurs prsentes en entre pondres par leur poids : i=0 wi ei , soit : e e ee
i=P

s = (
i=0

w i ei )
i=P

(7.1)

on nommera potentiel la valeur v = i=0 wi ei ). Donc, la sortie s est obtenue par lapplication de la fonction dactivation ` ce potentiel. a Le fonctionnement dun perceptron est tr`s simple : il fonctionne de mani`re e e itrative et, ` chaque itration, calcule sa sortie en fonction de ses entres. Dans e a e e une tche de classication, cette sortie (numrique forcment) indique la classe a e e prdite pour la donne qui avait t place en entre sur les ei{1,...P } . e e ee e e Notons que la sortie du perceptron ne dpend que des poids wi{0,...P } (une e fois lentre xe bien entendu). Aussi, lapprentissage consiste ici ` trouver la e e a valeur des poids qui fait en sorte que lorsquune donne est place sur lentre du e e e perceptron, la sortie prdit correctement sa classe. Donc, pour un perceptron, e apprendre signie xer la valeur de ces P + 1 param`tres rels. e e Pour une tche de classication, il est dusage dutiliser un perceptron dont a la sortie s {0, 1} ou un perceptron dont la sortie s {1, 1}. Dun point de vue thorique, utiliser lun ou lautre ne change rien ; dun point de vue pratique, e cest moins simple.
1. si on veut entrer dans les subtilits de vocabulaire qui nont aucune consquence sur le e e reste, on prcisera que si cest un biais, e0 vaut 1 et que si cest un seuil, e0 vaut -1. Cela na e aucune importance.

7.1. LE NEURONE FORMEL

89

La fonction dactivation peut tre la fonction de Heaviside : e (v) = si s {0, 1}, ou (v) = 1 si v 0 1 si v < 0 logistique (7.3) 1 si v 0 0 si v < 0 (7.2)

si s {1, 1}. Ce peut tre aussi une fonction sigmo 2 dite e de 1 1 + eav

(cf. g. 7.1(a)) :

(v) =

avec a R si s [0, 1], ou tangente hyperbolique (cf. g. 7.1(b)) : (v) = tanh(v) si s [1, 1]. Ces deux derni`res fonctions dactivation ont limmense avantage dtre cone e tinues et drivables autant de fois que lon veut sur R (cf. g. 7.1). De plus, leurs e drives sexpriment facilement en fonction delles-mmes ce qui nous sera utile e e e un peu plus loin. Enn, ce peut tre simplement la fonction linaire (v) = v. Dans ce cas, la e e sortie du neurone est la somme pondre des entres. On parle alors de neurone ee e linaire . La sortie prend alors une valeur dans R. e Pour prdire la classe dune donne place en entre, on regarde la sortie du e e e e perceptron (classication binaire). Si on a utilis une fonction dactivation de e type seuil, chacune des deux valeurs possibles en sortie correspond ` une classe. a Si on a utilis une fonction dactivation logistique (resp. tanh), on peut dire que e la classe est donne par la valeur extrme la plus proche, 0 (resp. -1) ou 1 (resp. e e 1). Avec un neurone linaire, on peut classer lentre en fonction du signe de la e e sortie. Notons tout de suite que lquation s = e wi ei dnit un hyperplan dans e un espace ` P + 1 dimensions, chacune correspondant ` un attribut. Comme on a a la dit plus haut, notre objectif ici est de dterminer les wi pour prdire correctee e ment la classe des donnes places en entre du perceptron. Une fois correctee e e i=P ment appris, ces poids dterminent donc un hyperplan i=0 wi ei qui spare les e e exemples positifs des exemples ngatifs : idalement, ils sont de part et dautre e e de lhyperplan. Cependant, il arrive, et cest le cas gnral, que cet hyperplan e e
2. sigmo = en forme de S aplati de
i=P i=0

prdiction e

interprtation e gomtrique e e

90

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

1 1

0.8

0.5

0.6 0 0.4

0.2

-0.5

0 -1 -10 -5 0 5 10 -10 -5 0 5 10

(a) fonction logistique

(b) fonction tanh

1 Figure 7.1 Aspect de la fonction logistique 1+ev et de la fonction tanh(v). Bien noter laxe des ordonnes : ` gauche, la fonction varie entre 0 et 1 ; ` e a a droite, elle varie de -1 ` 1. Notons que dans les deux cas, la pente ` lorigine est a a ajustable et rendre le S plus ou moins aplati ; ` lextrme, la pente tend vers a e une verticale et donc, la fonction de Heaviside nest quun cas limite de fonction sigmo de.

nexiste pas : dans ce cas, on dit que les exemples ne sont pas linairement e sparables . Dans ce cas, on doit utiliser plusieurs perceptrons, autrement dit, e un rseau de perceptrons . On commence par prsenter lapprentissage des e e poids par un perceptron avant de passer aux rseaux de neurones. e

7.1.2

Apprentissage des poids dun perceptron

Cas sparable e On peut trouver les wi par inversion de matrice, mais chacun sait que dans la pratique, linversion dune matrice est quelque chose ` viter ` tout prix. a e a Un autre algorithme simple pour trouver ces wi est la r`gle dapprentissage du e perceptron (cf. algorithme 4). Le passage de lensemble des exemples (la boucle pour de la r`gle dapprene tissage du perceptron) se nomme un pisode . e Notons bien que les exemples sont mlangs avant la boucle pour, ce e e qui signie que cette boucle ne les passe pas toujours dans le mme ordre. Ce e point est tr`s important pour que lalgorithme fonctionne. e Notons aussi que ce faisant, nous introduisons du hasard dans cet algorithme : dans ce cours, cest la premi`re fois que nous tudions un algorithme e e dont le fonctionnement repose sur du hasard. Une autre source de hasard ici est linitialisation des poids. Ce type dalgorithme dont le fonctionnement repose au moins en partie sur le hasard est quali de non dterministe , ou encore e e stochastique . Tous les algorithmes concernant les rseaux de neurones sont e

7.1. LE NEURONE FORMEL

91

Algorithme 4 R`gle dapprentissage du perceptron e Ncessite: les N exemples dapprentissage X . Chaque exemple xi poss`de P e e attributs dont les valeurs sont notes xi,j . Pour chaque donne, xi,0 est un e e attribut virtuel, toujours gal ` 1. La classe de lexemple xi est yi . e a Ncessite: taux dapprentissage ]0, 1] e Ncessite: un seuil e initialiser les wi alatoirement e rpter e e // E mesure lerreur courante E0 mlanger les exemples e pour tous les exemples du jeu dapprentissage X faire j=P Ei yi ( j=0 wj xi,j ) E E + |Ei | pour tous les poids wk , k {0, 1, ...P } faire wk wk + Ei xi,k n pour n pour jusque E <

non dterministes. Une consquence de cela est que deux excutions successives e e e de lalgorithme sur le mme jeu de donnes donne gnralement des rsultats e e e e e dirents. e Un rsultat rassurant : e Proprit 1 dite Thor`me de convergence du perceptron : la r`gle dape e e e e prentissage du perceptron converge pour les probl`mes linairement sparables e e e en un nombre ni ditrations. e Par converge , on veut dire quau bout dun certain nombre ditrations, e les corrections apportes aux poids sont nulles : les poids ne varient plus ; la e suite de valeurs prises par les poids a converg. e Deux remarques : un apprentissage peut ne pas tre robuste et tre remis en cause par un e e nouvel exemple dicult de trouver un ensemble dexemples qui pere mette lapprentissage au mieux ; des exemples peuvent tre mal classs ` cause de bruit, derreurs. Dans ce e e a cas, lalgorithme dapprentissage ne converge pas. Ainsi, mme dans le cas o` un jeu de donnes pourrait tre linairement e u e e e sparable, celui-ci peut tre non sparable linairement ` cause du bruit dans e e e e a les donnes. Aussi, on passe maintenant au cas rellement intressant, celui du e e e cas non linairement sparable. e e

92

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

Remarque
Il existe un algorithme numrique, lalgorithme de Ho et Kashyap, qui permet de dterminer si e e un jeu dexemples est linairement sparable. Dans ce cas, cet algorithme fournit un hyperplan. e e Pourquoi nutilise-t-on pas cet algorithme pour trouver les poids du perceptron ? Parce quil est numriquement lourd. e

Exemples non linairement sparables e e Dans le cas o` les exemples ne sont pas linairement sparables, on cherche u e e a ` minimiser les erreurs de classication. Dans ce cas, on utilise un neurone dont la sortie est continue, par exemple s [1, 1], indiquant ainsi que lexemple est plus ou moins dans lune des deux classes. On consid`re ici un neurone linaire e e j=P dont la sortie prend la valeur s = j=0 wj xi,j pour la donne xi . e Il faut maintenant dnir cette notion derreur, par exemple en essayant de e minimiser le nombre dexemples mal classs. e lensemble des P + 1 poids w0 , ..., wP du neurone mis sous On peut noter w forme vectorielle : w0 = w1 w ... wP mesure de lerreur On peut alors se donner : 1 E() = w 2
i=N

i=1

(yi (xi ))2

(7.4)

qui reprsente lerreur dapprentissage due aux poids . Si la fonction dace w tivation est linaire, cette erreur E scrit : e e 1 E() = w 2 correction des poids
i=N j=P

i=1

(yi

wj xi,j )2
j=0

(7.5)

On voit donc que lerreur E est un parabolo dans lespace des poids. de Donc, E poss`de un seul minimum et il sag de trouver la valeur des poids e t correspondant ` ce minimum. Pour cela, la technique classique consiste ` utiliser a a un algorithme de descente de gradient (cf. g. 7.2). Pour cela, on part dun point (dans lespace des poids, espace de dimension P +1) 0 ; ensuite, itrativement, w e on corrige ce point pour se rapprocher du minimum de E. Pour cela, on corrige chaque poids dune quantit proportionnelle au gradient de E en ce point, cela e dans chaque direction, donc par rapport ` chacun des poids. Ce gradient est donc a la drive (partielle) de E par rapport ` chacun des poids. Reste ` dterminer le e e a a e coecient ` appliquer ` cette correction. En principe, une bonne valeur dpend a a e

7.1. LE NEURONE FORMEL

93

x 0

x 1

x*

Figure 7.2 Principe de la mthode de descente de gradient pour trouver le e minimum dune fonction. Partant dun xi=0 initial, on passe itrativement de xi e a ` xi+1 en corrigeant xi dune quantit proportionnelle ` la pente de la fonction e a en xi (ce qui est indiqu par le segment de droite), autrement dit, la drive de e e e la fonction en xi . Ainsi, la mthode converge vers le minimum not x sur la e e gure. Naturellement, lalgorithme converge vers un minimum local et lon na aucune garantie quil converge vers un optimum global. Cependant, lintrt de ee cette mthode est quelle permet datteindre un minimum de nimporte quelle e fonction, pas seulement pour les fonctions dont on a une expression analytique, du moment que lon peut calculer sa drive. e e de la drive seconde (dans ce cas, on a une mthode de Newton qui est donc e e e un cas plus labore de mthode de gradient). Pour faire plus simple, on peut e e e utiliser un coecient arbitraire [0, 1]. Nous devons donc calculer le gradient de E par rapport ` (not E()), a w e w E cest-`-dire, la drive partielle de E par rapport ` chacun des P + 1 poids : wj a e e a pour j {0, 1, ...P } : E E() = (... w ...)T wj Quand on disposera de ce terme, on eectuera la correction de par : w E() w w w () w
E wj

(7.6)

Il nous reste ` calculer ce terme gnral a e e

1 E = [ wj wj 2

i=N

i=1

(yi (xi ))2 ]

94

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES


i=N

E 1 = [ (yi (xi ))2 ] wj 2 wj i=1 1 E = wj 2 E 1 = wj 2 E = wj


i=N i=N

i=1

[(yi (xi ))2 ] wj [(yi (xi ))] wj


k=P

i=1

2(yi (xi ))

i=N

i=1

(yi (xi )) E = wj

[(yi wj

wk xi,k ]
k=0

i=N

i=1

(yi (xi ))(xi,j )

do` : u
i=N

wj =
i=1

(yi (xi ))xi,j

(7.7)

Maintenant que lon sait quelle correction apporter aux poids, on en tire lalgorithme dapprentissage des poids dun perceptron dans le cas dexemples non sparables. On en prsente en fait deux : e e la rgle de gradient standard (cf. algo. 5) qui ralise un traitement par e e lot (batch) : dans ce cas, on prsente tous les exemples, on cumule lerreur e sur lensemble des exemples et on corrige les poids ` partir de cette erreur a cumule ; e la rgle de gradient stochastique, ou r`gle , ou r`gle Adaline, ou r`gle e e e e de Widrow-Ho, ou r`gle des moindres carrs (Least-Mean-Square : LMS) e e (cf. algo. 6). Dans ce cas, on corrige les poids apr`s prsentation de chacun e e des exemples en entre. e Notons bien que le calcul ralis prcdemment pour la correction des poids e e e e sappuie sur une valuation de lerreur sur lensemble des exemples, donc la e version standard de lalgorithme. Cependant, on constate exprimentalement e que la r`gle donne de bons rsultats. Lintrt de la r`gle est quelle ne e e ee e ncessite pas de disposer de lensemble des exemples une fois pour toute ; elle e permet un apprentissage incrmental, lorsque les exemples sont disponibles ; e de plus, des poids ayant t appris avec un jeu dexemples, ils peuvent tre ee e amliors par la suite si de nouveaux exemples sont acquis. Dans le cas de la e e r`gle de gradient standard, tout lapprentissage doit tre recommenc lorsque e e e le jeu dexemples change. Enn, dans le cas o` lon dispose de lensemble du u jeu dexemples, on dispose de mthodes bien plus performantes pour apprendre e les poids que la r`gle standard. En rsum, la r`gle standard na un intrt e e e e ee que du point de vue thorique car cest le cas que lon est capable danalyser e formellement ; dans la pratique, on ne lutilise pas. Par contre, la r`gle , elle, e

7.1. LE NEURONE FORMEL

95

est tr`s utilise. e e Remarque


Les mthodes alternatives ` la r`gle de gradient standard voques ci-dessus sont des mthodes e a e e e e venant de lalg`bre linaire. En eet, quand on cherche un jeu de poids permettant dape e w proximer au mieux un jeu dexemples, on peut disposer les exemples dans une matrice X dans lequel chaque ligne est occupe par un exemple et chaque colonne par un attribut (ce sont les e xi{1,...,N },j{1,...P } ) ; on peut disposer les valeurs attendues en sortie pour chaque exemple dans un vecteur S dans lequel si = yi et lon doit trouver qui minimise la dirence entre w e X et S, soit ||S X ||. Cest un probl`me classique dalg`bre linaire qui est tr`s bien w w e e e e rsolu par lalgorithme du gradient conjugu (cf. Shewchuk [1994]). e e Le probl`me avec lapproche prsente plus haut est que la correction apporte ` chaque e e e e a poids dpend uniquement du gradient de lerreur. Aussi, la correction apporte ` un poids ne e e a dpend pas des corrections apportes aux autres poids. Hors, pour que la descente de gradient e e fonctionne bien, il faut que la correction apporte ` un poids soit lie a la correction apporte e a e ` e aux autres poids. En eet, il faut que globalement, les poids aient des corrections qui soient ` peu pr`s du mme ordre de grandeur. Outre le gradient conjugu mentionn plus haut, a e e e e dautres algorithmes ont t conus dans cet esprit, en particulier le QuickProp et le RProp e e c qui ont de bonnes performances exprimentales. On pourra consulter Gibb [1996]. e

Notons que ces deux algorithmes (gradient standard et r`gle ) sont tr`s e e proches de la r`gle dapprentissage du perceptron. La seule dirence tient dans e e le fait que la sortie du perceptron est ici continue et non discr`te. e Il faut que le taux dapprentissage diminue au cours de lapprentissage. Par exemple, = 1/t o` t est le numro de litration courante du rpter/jusque. u e e e e On peut prendre aussi = 1/ t. Proprit 2 La r`gle converge asymptotiquement, que les donnes soient e e e e sparables ou non. e Notons que la convergence est ralise vers un optimum local. e e Notons aussi que la r`gle peut ne pas converger vers un sparateur sparant e e e correctement les positifs des ngatifs (mme si les exemples sont linairement e e e sparables). e Linitialisation des poids tant alatoire et celle-ci inuenant le point de e e c convergence, il est bon de recommencer plusieurs fois lexcution de lalgorithme e avec des initialisations direntes ` chaque fois. e a

taux dapprentissage

7.1.3

Illustration sur les iris

On illustre sur un exemple lapprentissage ralis par la r`gle . On utilise e e e pour cela un jeu de donnes dnomm e e e iris que lon a dj` rencontr ea e prcdemment. e e Rappelons que ce jeu de donnes contient 150 exemples ; chaque exemple e est une eur (un iris) dune des trois varits suivantes : setosa, versicolor et ee

96

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

Algorithme 5 R`gle de gradient standard e Ncessite: les N instances dapprentissage X e Ncessite: taux dapprentissage ]0, 1] e Ncessite: un seuil e initialiser les wj,j{0,...,P } alatoirement e rpter e e // E mesure lerreur courante E0 pour tous les poids wj,j{0,...,P } faire (wj ) 0 n pour mlanger les exemples e pour tous les exemples du jeu dapprentissage xi,i{1,N } faire E E + (yi (xi ))2 pour tous les poids wj,j{0,P } faire (wj ) (wj ) + (yi (xi ))xi,j n pour n pour pour tous les poids wj,j{0,P } faire wj wj + (wj ) n pour jusque E <

Algorithme 6 R`gle e Ncessite: les N instances dapprentissage X e Ncessite: taux dapprentissage ]0, 1] e Ncessite: un seuil e initialiser les wj,j{0,...P } alatoirement e rpter e e // E mesure lerreur courante E0 mlanger les exemples e pour tous les exemples du jeu dapprentissage xi,i{1,...,N } faire E E + (yi (xi ))2 pour tous les poids wj,j{0,...,P } faire wj wj + (yi (xi ))xi,j n pour n pour jusque E <

7.1. LE NEURONE FORMEL

97

Iris 3.5 iris setosa iris versicolor iris virginica

2.5

2 largeur petale

1.5

0.5

-0.5

4 longueur petale

Figure 7.3 Chaque exemple (= une eur) est reprsent ici en fonction de e e la longueur (abscisses) et de la largeur (ordonnes) de ses ptales. On voit que e e les deux premi`res varits (setosa et versicolor ) sont bien distinguables en e ee fonction de ces deux attributs ; on voit aussi que les deux derni`res (versicolor e et virginica) ne le sont pas tout ` fait. a

virginica. La varit reprsente la classe de la donne. Chaque eur est dcrite ee e e e par 4 attributs (longueur et largeur des spales et des ptales). e e En fait, pour ces 3 varits, la longueur et la largeur des ptales susent ee e pour dterminer la varit dans la grande majorit des cas. Aussi, on a simpli e ee e e le jeu de donnes en ne conservant que ces 2 attributs. e On utilise un perceptron possdant trois entres : une par valeur numrique e e e (longueur et largeur des ptales) et le biais. On doit donc apprendre 3 poids. Le e i=2 perceptron a sa sortie s = tanh i=0 wi xi ( [1, 1]). On peut reprsenter chaque donne dans le plan de ses deux attributs (voir e e la gure 7.3). Ayant les trois poids du perceptron, ceux-ci fournissent lquation e de la droite sparant les instances positives des instances ngatives par : y = e e w0 +w1 x . w2 ` A la gure 7.4, on ne prend en compte que deux varits, les setosa et ee les versicolor . On reprsente alors la droite sparatrice des deux classes au fur e e et ` mesure des itrations de la r`gle . Litration 0 correspond ` la valeur a e e e a initiale des 3 poids (w0 = 0, 3, w1 = 1, w2 = 0, 5, soit la droite dquation e e e e y = x+0,3 ). D`s litration suivante, la droite spare les deux classes. Lerreur 0,5 diminue ensuite au cours des itrations successives. On a arrt lalgorithme e ee

98

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

Iris 3.5 iris setosa iris versicolor iteration 0 iteration 1 iteration 2 iteration 10 iteration 52

2.5

2 largeur petale

1.5

0.5

-0.5

4 longueur petale

Figure 7.4 Evolution de la sparatrice au cours des itrations de la r`gle e e e en ne prenant en compte que les deux varits setosa et versicolor . ee

lorsque lerreur est infrieure ` 0, 5. e a ` A la gure 7.5, on ne prend que les deux varits setosa et versicolor et on ee reprsente la droite sparatrice des deux classes obtenues avec direntes valeurs e e e initiales de poids. Lexcution 1 correspond ` la gure prcdente : w0 = 0, 3, e a e e w1 = 1, w2 = 0, 5. Lexcution 2 correspond aux poids initiaux : w0 = 1, e w1 = 2, w2 = 3, 14, lexcution 3 : w0 = 10, w1 = 12, w2 = 56, 14. e

7.2

Perceptron multi-couches

Comme on vient de le voir, un perceptron est capable de prdire correctement e la classe de donnes linairement sparables (cf. g. 7.6(a)) et uniquement dans e e e ce cas-l`. De nombreux autres cas sont envisageables. Par exemple, les donnes a e peuvent tre spares de mani`re non linaire (cf. g. 7.6(b)) ou par paquets e e e e e (cf. g. 7.6(c)). On commence par donner lintuition de ce que lutilisation de plusieurs perceptrons judicieusement interconnects peut apporter. e Intressons-nous au cas o` les donnes dune classe sont regroupes par pae u e e quets. Suppsons que lon dispose dun perceptron dont la sortie est +1 si son entre e est ` une distance infrieure ` un certain seuil dun certain point, 0 sinon. Dans a e a le cas de la g. 7.6(c), on pourra utiliser 3 perceptrons de ce type, chaque per-

7.2. PERCEPTRON MULTI-COUCHES

99

Iris 3.5 iris setosa iris versicolor execution 1 execution 2 execution 3

2.5

2 largeur petale

1.5

0.5

-0.5

4 longueur petale

Figure 7.5 Direntes sparatrices obtenues ` lissue de plusieurs excutions e e a e de la r`gle avec des initialisations direntes des poids pour chacune. On ne e e prend en compte que les deux varits setosa et versicolor . ee

(a) Sparation linaire e e

(b) Sparation non linaire e e

(c) Sparation non linaire par e e paquets

Figure 7.6 Dirents cas de sparation des donnes de deux classes (les rouges e e e et les verts).

100

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

1 1 0 ... ... 1 1 ...

...

Figure 7.7 Voir le texte.

ceptron tant associ ` lune des trois zones contenant des points verts. La sortie e ea de ces 3 perceptrons peut tre connecte ` lentre dun quatri`me perceptron e e a e e dont la sortie sera +1 si lune de ses entres vaut +1, vaudra 0 sinon (cf. g. e 7.7). Cette sortie indiquera nalement par +1 que la donne se situe dans une e zone verte, par 0 quelle se situe dans la zone rouge ; donc elle indiquera bien la classe de la donne. e Un perceptron de ce type est obtenu en utilisant une fonction dactivation particuli`re, dite RBF (radial basis function). Elle sexprime par : e
||xc||2 2 2

(x) = e

o` x est une donne place en entre du perceptron, c le centre de la zone dans u e e e laquelle la sortie du perceptron doit tre signicative, ltalement (cart-type) e e e de cette zone. Cette fonction a la forme en cloche dune distribution normale. Avec cette fonction dactivation, on na pas un perceptron qui sort +1 ou 0, mais on peut facilement transformer ce perceptron en un perceptron de ce type en mettant un perceptron ` seuil sur sa sortie ; par ailleurs, le fait davoir une a sortie continue comprise dans lintervalle ]0, 1] est en fait gnralement considr e e ee comme plus intressant. De plus, la fonction dactivation est alors continue et e drivable ce qui en permet des manipulations mathmatiques aises. e e e Dans le cas o` la sparatrice est une fonction non linaire non ferme, cestu e e e a `-dire de type polynomiale, lintuition est plus dicile ` faire passer. Cependant, a la combinaison de plusieurs perceptrons permet galement de rsoudre ce cas. e e Ce type de rseau se dnomme le perceptron multi-couches : il est constitu e e e de plusieurs couches de neurones. Nous le dcrivons maintenant. e

7.2.1

Topologie dun perceptron multi-couches

Un perceptron multi-couches (PMC) est constitu des lments suivants (cf. e ee g. 7.8) :

7.2. PERCEPTRON MULTI-COUCHES


couche C entres 0 couche C couche C couche C

101

w w 0,1,1

0,0,1 w 1,1,1 w 1,1,2 w 1,2,1 w

... 1 w

0,0,2 2

1,0,1 s 1

2,1

...

2,1,1

2,0,1 1

1,2,2 w ...

Sortie

0,0,3 s 1,3 3

1,0,2 w 2 2,2,1

w w 0,5,1

0,0,4 4 w 1,4,2

Figure 7.8 Schma de principe de la topologie dun perceptron multi-couches. e On na pas reprsent toutes les connexions pour lui garder sa lisibilit. On a e e e indiqu la notation utilise pour les poids w et les sorties s de certains neurones. e e

une couche dentres : P entres si les donnes sont dcrites par P attributs e e e e (il faut que les attributs soient numriques). Par convention, nous noterons e cette couche C0 ; une couche de sortie qui peut en principe contenir plusieurs neurones. Ici, pour une tche de classication, on suppose que la couche de sortie a ne contient quun seul neurone dont la sortie fournira la prdiction de e la classe de la donne qui aura t mise en entre. Par convention, nous e ee e noterons cette couche Cq ; une ou plusieurs couches intermdiaires situes entre la couche dentre e e e et la couche de sortie. Chaque couche est nomme Ci o` i varie entre 1 e u et q 1 ; chacune est compose dun certain nombre de perceptrons (le e nombre de perceptrons de la couche Ci sera not |Ci |) ; chaque perceptron e de la couche Ci,i{1,...,q} poss`de |Ci1 |+1 entres : chacune de ces entres e e e correspondant ` la sortie dune unit de la couche prcdente Ci1 et une a e e e entre auxiliaire (biais) vaut toujours 1. Ces couches intermdiaires sont e e dites caches ; e chaque connexion entre deux units est caractrise par un poids rel. e e e e Notons que dans un PMC, les connexions sont toutes orientes de la couche e dentre vers la couche de sortie. Pour une unit u de la couche l, il ny a aucune e e connexion vers : une autre unit de la mme couche l, e e une unit dune autre couche que la couche l + 1. e

102

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

7.2.2

Apprentissage des poids dun PMC

Ayant imagin un perceptron multi-couches, il faut maintenant un algoe rithme pour apprendre les poids de ce PMC. On peut utiliser pour cela lalgorithme de rtro-propagation du gradient de lerreur qui est une gnralisation e e e de la r`gle propose par Le Cun en 1986 ; comme dans le cas du perceptron, e e on calcule le gradient de lerreur en fonction de chaque poids pour les corriger ; ainsi, on fait ` nouveau une descente de gradient. Les neurones ont leurs entres a e et leur sortie relles et la fonction dactivation est sigmo e de. Remarque
Le calcul de la drive de lerreur par rapport ` chacun des poids dun PMC se fait e e a itrativement, par rtro-propagation depuis la couche de sortie vers la couche dentre. Ainsi, e e e on peut calculer directement cette drive pour un neurone de sortie. Nous allons faire ce e e calcul pour un PMC ayant une seule sortie ; il ny a aucune dicult ` passer a plusieurs e a ` sorties. On rappelle les notations en insistant sur un point important : vb = a sa wab le potentiel du neurone b qui est la somme pondre de ses entres, e e e cest-`-dire, les sorties des neurones (a) de la couche prcdente, par les poids sur ces a e e connexions que lon note ici wab pour quil soit bien clair quil sag de la connextion t entre la sortie du neurone a et une entre du neurone b ; e sb = (vb ), la sortie du neurone b, tant la fonction dactivation du neurone b. e Faire ce calcul permet de bien comprendre comment adapter lalgorithme si lon change la fonction dactivation des neurones. E On veut donc calculer w pour tout poids wab . ab On suppose que lerreur est : E= Pour tout neurone b, on a : E wab E vb vb wab E sa vb 1 (sortie attendue sb )2 2

= =

E Reste a calculer ce terme v . On distingue le cas o` b est un neurone de sortie du cas o` ` u u b b est dans une couche cache. e Pour le neurone de sortie :

E sb E = vb sb vb
E sb

: peut se r-crire : ee E sb 1 (sortie attendue sb )2 sb 2 (sortie attendue sb )

= =

s vb : cest simplement la drive de la fonction dactivation. (cf. exercice 17.) e e b Ainsi, on peut calculer directement ce terme pour un neurone de sortie. Pour un neurone dune couche cache : pour calculer ce terme pour les neurones de la e couche c, on suppose que lon sait le calculer pour la couche c + 1. Ainsi, on va commencer

7.2. PERCEPTRON MULTI-COUCHES

103

par calculer ce terme pour la couche juste avant la couche de sortie, puis remonter ainsi vers la premi`re couche cache. Soit donc un neurone b dune couche cache : e e e E vb E vk vk vb

=
k

: les neurones de la couche suivant celle du neurone E vk sb vk sb vb k

considr e e

dans laquelle : s vb : on a dj` rencontr ce terme : cest la drive de la fonction dactivation du ea e e e b neurone b ; vk : s
b

vk = neurones
b

wb de la couche prcdent celle du neurone e e


k

k sb

Il faut bien noter que le neurone b est lun des neurones de la couche prcdent celle o` e e u se trouve le neurone k. Donc : vk = wbk sb + autres neurones
b

wb de la couche prcdent celle du neurone e e


k

k sb

Dans cette expression sb (la variable par rapport ` laquelle on drive) appara une a e t seule fois, dans le terme qui a t extrait de la somme. Donc, e e vk = wbk sb
E : cest la drive de E par rapport au potentiel du neurone k qui se situe dans e e vk la couche suivante, donc plus proche de la sortie. Cest donc le mme terme que nous e sommes en train de calculer pour un neurone plus proche de la sortie ; puisque nous faisons un calcul itratif couche par couche, en commenant par la couche de sortie et e c en remontant vers la couche dentre, ce terme a dj` t calcul prcdemment. e eae e e e e

En rsum, nous sommes capables de calculer la drive de lerreur par rapport a nimporte e e e e ` quel poids dun PMC. Quand on dispose de cette drive, on lutilise pour corriger le poids, e e comme dans le cas du perceptron, en le pondrant par un taux dapprentissage. e

Lalgorithme de rtro-prapagation du gradient de lerreur est donn par lale e gorithme 7.

7.2.3

Quelques complments sur lalgorithme dapprentise sage des poids

On donne ici quelques trucs pour obtenir un apprentissage qui ne soit pas trop long. On ne dira jamais assez combien lutilisation dun rseau de e neurones demande beaucoup de soin dans les plus ns dtails de lalgorithme e dapprentissage. Le crit`re darrt e e Le crit`re darrt de lalgorithme de retro-propagation du gradient de lerreur e e peut tre : e

104

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

Algorithme 7 Algorithme de rtro-propagation du gradient de lerreur (version e stochastique) pour un perceptron multi-couches ayant P +1 entres (P attributs e + le biais), q +1 couches numrotes de 0 (C0 : couche dentre) ` q (Cq : couche e e e a de sortie) et une seule sortie ; notation : s(xi ) est la sortie du PMC pour la donne xi , sl,k est la sortie de la k e unit (entre ou neurone) de la couche l, e e e wl,k,m est le poids de la connexion entre lunit k de la couche l et le neurone e m de la couche l + 1 (k = 0 correspond au biais), |Cl | est le nombre dunits e composant la couche Cl . Lalgorithme donn ici correspond ` des neurones ` e a a 1 fonction dactivation logistique 1+ex . Ncessite: les N instances dapprentissage X e Ncessite: taux dapprentissage ]0, 1] e initialiser les wi tant-que crit`re darrt non rempli faire e e mettre ` jour a mlanger les exemples e pour tout exemple xi faire s(xi ) sortie du rseau pour lexemple xi e q,1 s(xi )(1 s(xi ))(yi s(xi )) pour toutes les couches caches : l dcroissant de q 1 ` 1 faire e e a pour tous les neurones k de la couche Cl faire l,k sl,k (1 sl,k ) m{0,...,|Cl+1 |} wl,k,m l+1,m n pour n pour // mise ` jour des poids a pour toutes les couches l croissant de 0 ` q 1 faire a pour toutes les units k de la couche l, k variant de 1 ` |Cl | faire e a pour tous les neurones m connects sur la sortie du neurone k de la e couche l, m variant de 1 ` |Cl+1 | faire a wl,k,m wl,k,m + l+1,m sl,k n pour n pour n pour n pour n tant-que

7.2. PERCEPTRON MULTI-COUCHES

105

la somme des corrections (les ... ) est infrieure ` un seuil x lors dune e a e itration de la boucle pour la plus externe (somme des corrections sur e lensemble des exemples dapprentissage) ; le nombre ditrations eectues qui a t x a priori ; e e ee e lerreur sur un jeu de validation est infrieure ` un seuil x. Pour cela, e a e dans lalgorithme 7, il faut ajouter, ` la suite du passage de tous les exema ples du jeu dapprentissage, lvaluation de lerreur sur le jeu de validation ; e stabilisation de lerreur dune itration du tant-que ` la suivante. e a Linitialisation des poids Linitialisation des poids nest pas un simple dtail (en fait, dans lutilisae tion des PMC, rien nest un dtail...). Le Cun et al. [1998] conseille dinitialiser e chaque poids avec une valeur tire alatoirement dans une distribution gaussie e enne centre (de moyenne nulle) et dcart-type gal ` la racine carre du nombre e e e a e dentres de lunit ` lentre de laquelle se trouve ce poids. e ea e Par exemple, les poids des neurones de la couche C1 de la gure 7.8 seront initialiss en tirant des nombres pseudo-alatoires dune distribution normale de e e moyenne nulle et de variance gale a 6. e ` Lobjectif est que le potentiel des neurones soit proche du point dinexion de la sigmo (en 0 pour tanh). de Le taux dapprentissage Le taux dapprentissage doit diminuer ` chaque pisode, par exemple comme a e 1 = o` c R+ . u numro de lpisodec e e Ajouter de linertie aux corrections de poids Pour viter que la variation de valeur des poids ne soit trop brutale, on peut e utiliser un moment not : la mise ` jour des poids devient alors : e a w (t + 1) w y + w (t) o` w (t) est la correction du poids w ` litration t. u a e On prend w (t = 0) = 0. Fonction dactivation A priori , la fonction dactivation doit tre la fonction tangente hyperbolique : e (v) = a tanh (bv) o` a et b sont deux constantes. Sinon, il faut prendre une u fonction qui soit symtrique par rapport ` lorigine, donc fuir la trop cl`bre e a ee fonction logistique.

106

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

Pr-traitement des sorties e Utilisant une fonction dactivation tanh, on pense naturellement ` coder la a classe des donnes par +1 et 1. Cependant, 1 sont des valeurs asymptotiques e pour la fonction tanh. Aussi, elles ne sont jamais atteintes et donc lapprentissage nest pas possible... Au lieu dutiliser ces valeurs, on utilise gnralement e e des valeurs un peu plus petite que 1 en valeur absolue ; on pourra utiliser 0, 6 par exemple. Pr-traitement des entres e e Il est recommand que les entres du rseau : e e e ne soient pas corrles, cest-`-dire que leur matrice de covariance soit la ee a matrice identit. Pour d-corrler les entres, on peut faire une ACP (cf. e e e e chap. 12.1 ; on appelle cela du sphering en anglais) ; aient une moyenne nulle ; aient une variance unit. e Attributs nominaux Si un attribut est nominal et peut prendre valeurs non ordinales, on utilisera entres pour coder sa valeur. Pour une valeur donne de lattribut, lune e e de ces entres sera ` 1, toutes les autres valant 0. e a Si un attribut est binaire, une seule entre est susante. e Si on a des informations selon lesquelles un meilleur codage peut tre imae gin, il faut utiliser celui-ci. e Attributs manquant Dans le jeu dapprentissage, si la valeur de certains attributs est manquante (de mani`re non systmatique), plusieurs approches peuvent tre envisages : e e e e remplacement par une valeur moyenne, remplacement par une valeur particuli`re, remplacement par la valeur la plus prsente, ... On peut aussi dupliquer e e lexemple en remplaant la valeur manquante par une valeur dirente dans c e chacun de ces nouveaux exemples. Notons que si le nombre dattributs manquants est faible dans le jeu dapprentissage, cela ne doit pas perturber lapprentissage puisque les perceptrons multi-couches sont naturellement peu sensibles au bruit. Pour prdire la classe dune donne dont la valeur de certains attributs e e manque, on pourra ` nouveau remplacer cette valeur manquante par une cera taine valeur (moyenne, la plus prsente, ...). On pourra aussi prdire la classe de e e donne ayant direntes valeurs pour cet attribut et dterminer ainsi la classe e e e la plus probable.

7.2. PERCEPTRON MULTI-COUCHES

107

Il est important de noter que le traitement adquat des attributs manquants e et limpact de ces manques sur les rsultats sont des questions qui ne sont pas e assez tudies. Sur un cas concret, lorsque le nombre dattributs manquants e e est signicatif, il faut garder ` lesprit que les rsultats de la fouille peuvent a e dpendre de la mani`re dont ils ont t traites. On consultera avec intrt e e ee e ee Sarle [1998] et Information Technology Service [2004]. Plus de deux classes Si le nombre de classes est suprieur ` 2, on utilise |Y| sorties. Chaque sortie e a correspond ` une classe. Une donne tant place en entre, la sortie la plus a e e e e active indique la classe prdite. e Si lon veut, on utilise une unit dite winner-takes-all qui prend en entre les e e |Y| sorties du rseau et fournit en sortie le numro de son entre la plus active : e e e cest le numro de la classe prdite. e e Quelques probl`mes survenant lors de lutilisation de lalgorithme de e rtro-propagation du gradient de lerreur e Lalgorithme de rtro-propagation du gradient de lerreur trouve un optimum e local. Plusieurs excutions en initialisant les poids diremment ou en prsenter e e e les exemples dans des ordres dirents peuvent entra e ner des convergences vers des poids dirents (rappelons que les exemples sont mlangs ` chaque pisode). e e e a e Si lon ny prend pas garde, on va rencontrer des probl`mes de sure apprentissage. Deux approches sont utilises : e arrt prcoce : (early stopping en anglais) cest une approche exprimentale : e e e on utilise un jeu de validation compos dexemples, disjoint du jeu dape prentissage. Durant lapprentissage, on mesure lerreur sur le jeu de validation. Quand cette erreur stagne, on arrte lapprentissage. Remarquons e que si lon mesure lerreur sur le jeu dapprentissage, au moment o` lerreur u sur le jeu de validation stagne, lerreur sur le jeu dapprentissage continue a ` diminuer. Cest exactement cela le sur-apprentissage (cf. chap. 3, sec. 3.8) ; rgularisateur : cest une approche qui sappuie sur des rsultats thoriques e e e qui consiste ` minimiser une fonction combinant la mesure de lerreur a sur le jeu dapprentissage avec la valeur des poids : on cherche une erreur 2 minimale et des poids les plus petits possibles, soit E = Eapp + i wi o` u est une constante qui permet dquilibrer limportance des deux termes e et les wi reprsentent tous les poids du rseau. Typiquement, on teste e e plusieurs valeurs de . Cette technique se nomme weight decay en anglais. Dautres techniques de rgularisation sont envisageables. e

108

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

Le probl`me de lapprentissage des poids On pourra galement consulter e e Sarle [1997a], Peterson et al. [1993], Le Cun et al. [1998] pour avoir des points de vue pratiques sur la mise en uvre des rseaux de neurones ; tr`s souvent, e e les exposs des rseaux de neurones sont tr`s acadmiques et ne permettent pas e e e e de les appliquer directement ; leur utilisation ncessite beaucoup de savoir-faire. e

7.2.4

Dautres rsultats rassurants e

Proprit 3 Toute fonction boolenne peut tre apprise sans erreur par un e e e e perceptron multi-couches ayant 1 seule couche cache. e Cependant, ce rsultat est essentiellement thorique. En eet, on dmontre e e e aussi quune fonction ` P entres peut ncessiter une couche cache possdant a e e e e P O(2 ) neurones. Cela signie que le calcul de cette fonction peut tre non polye nomial, autrement dit, prendre beaucoup trop de temps (cf. annexe C). Dans la pratique, pour viter des temps dapprentissage dmeusurment e e e longs, on utilise une deuxi`me couche cache, voire plus. e e Remarque
Pour commencer ` comprendre la porte du rsultat prcdent, il nest pas inutile de rappeler a e e e e que toute fonction calculable (i.e., dont on peut calculer la valeur a laide dun ordinateur ` ou, pour tre tout ` fait prcis, une machine de Turing, cf. annexe C) peut tre mise sous e a e e forme dune fonction boolenne (cest exactement ce que fait un ordinateur dailleurs). Donc, e ce rsultat implique que toute fonction calculable par un ordinateur peut tre calcule par un e e e perceptron.

Par ailleurs, Hornik [1991] a montr quun perceptron multi-couches avec 1 e seule couche cache de perceptrons sigmo e des et un neurone linaire en sortie e peut calculer nimporte quelle fonction relle et borne, autrement dit, nimporte e e quelle sparatrice. e Donc, cela signie que tout probl`me de classication peut tre rsolu par un e e e perceptron constitu dune couche cache dunits dont la fonction dactivation e e e est une sigmo et dune unit linaire en sortie. de e e De mme, Hartman et al. [1990], Girosi and Poggio [1989] ont montr que e e toute fonction relle peut tre approxime avec autant de prcision que lon veut e e e e par un perceptron ayant une couche cache dunits RBF et une unit de sortie e e e linaire. e Donc, on a des thor`mes montrant que lapprentissage de toute sparatrice e e e avec dirents types de perceptrons ayant une couche cache dunit dont la e e e fonction dactivation est non linaire et une sortie linaire est possible. Cepene e dant, ces thor`mes nindiquent pas le nombre dunits ` mettre dans la couche e e e a cache. e

` 7.3. APPLICATION A

JOUER AU TENNIS ?

109

7.3
7.3.1

Application ` a

jouer au tennis ?

Numrisation des attributs et de la classe e

Les entres e On applique ce que lon a dit ` la section 7.2.3. a Lattribut Ciel peut prendre 3 valeurs direntes. Aussi, on utilisera 3 e entres binaires, une par valeur possible, soit une entre pour Ciel = Ensoleill, e e e une entre pour Ciel = Couvert et une 3e pour Ciel = Pluie. e Cest exactement la mme chose pour lattribut Temprature . e e Lattribut Humidit est binaire. Aussi, une entre prenant la valeur 0 e e ou 1 est-elle susante pour cette attribut. Cest la mme situation pour lattribut Vent . e En rsum, on aura 8 entres binaires. e e e La classe La classe est binaire. Aussi, associer 0.6 aux deux classes est naturelle. On peut aussi avoir deux sorties, une par classe.

7.4

Critique

- dicile ` utiliser dans la pratique : ncessite beaucoup de savoir-faire et a e dexprience ; e o quand a marche, a marche mais ce nest pas parce que vous nobtenez c c pas de bons rsultats que les rseaux de neurones sont nuls ! e e o ` nappliquer que sur des probl`mes diciles pour lesquels les autres a e mthodes ne fonctionnent pas ; e + bonne capacit de gnralisation ; e e e + tr`s utilis pour des tches diciles : analyse signal (caract`res crits, e e a e e analyse signal, ...) ; + fonctionne bien mme en prsence de donnes bruites ; e e e e calibrage du rseau pas forcment vident (nombre de couches, type de e e e rseau, nombre de neurones par couche, ...) ; e - trouve un optimum local et non global ; - tr`s dicile dextraire un mod`le de lapprentissage eectu par le rseau. e e e e

7.5

Les logiciels libres

Les logiciels libres proposant des implantations de rseaux de neurones sont e nombreuses. Il y en a une dans weka que nous dconseillons : on atteint l` les e a

110

CHAPITRE 7. CLASSIFICATION PAR RESEAUX DE NEURONES

limites de ce logiciel en terme de temps de calcul. Au contraire, on pourra utiliser JavaNNS qui est un logiciel tr`s puissant. e Cependant, son utilisation nest pas tr`s simple. http://www-ra.informatik. e uni-tuebingen.de/SNNS

7.6

Exercices

voir le poly [Denis and Gilleron, 2000].


s Exercice 17 Calculer le terme vb qui appara dans la drivation de la r`gle t e e b de rtro-propagation du gradient de lerreur pour les direntes fonctions dace e tivation prsentes ici : logistique, tanh et linaire. e e e

f e Exercice 18 Calculer w quand la fonction minimise combine lerreur sur le jeu de donnes et lamplitude des poids ; cela permet davoir des poids dont la e valeur absolue demeure petite. Dans ce cas, la fonction f peut scrire : e

f = erreur +

|||| w

o` reprsente lensemble des poids du rseau. u w e e

Chapitre 8

Classication par machines ` vecteurs supports a


Contenu
8.1 Machine ` vecteurs supports linaire . . . . . . . . a e 8.1.1 8.1.2 8.2 112 Cas sparable . . . . . . . . . . . . . . . . . . . . . . 112 e Cas non sparable . . . . . . . . . . . . . . . . . . . 115 e 117

Machine ` vecteurs supports non linaire . . . . . a e 8.2.1 8.2.2

Construction dune MVS non linaire . . . . . . . . 117 e Fonctions noyaux . . . . . . . . . . . . . . . . . . . . 118 119 119 120 120

8.3 8.4 8.5 8.6

Application . . . . . . . . . . . . . . . . . . . . . . . Les logiciels libres pour MVS . . . . . . . . . . . . Conclusion Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

La pr-occupation est ici la mme que dans le cas de lutilisation de rseau e e e de neurones pour la classication (cf. chap. 7) : trouver un hyperplan qui spare e les exemples positifs des exemples ngatifs. Cependant, alors quun rseau de e e neurones trouve un optimum local, une machine ` vecteurs supports (MVS) a trouve un optimum global. Notons aussi que les machines ` vecteurs supports a ne se cantonnent pas, elles non plus, aux hyperplans, mais peuvent construire des sparateurs non linaires de diverses formes. e e La simple lecture de ce qui prc`de pourrait laisser penser que les rseaux e e e de neurones doivent tre remiss aux oubliettes. Cependant, diverses raisons e e pratiques font que les deux techniques (rseau de neurones dune part, machine e a ` vecteurs supports dautre part) ont chacune des qualits et des dfauts et que e e les deux techniques doivent tre connues et que les deux ont de bonnes raisons e dtre utilises. e e 111

112

CHAPITRE 8. CLASSIFICATION PAR MVS

Enn, une petite note concernant ce nom barbare de machine ` vecteurs a supports . Machine signie ici simplement algorithme (cf. le terme machine learning pour algorithme dapprentissage). Pour ce qui est des vecteurs supports , on va bientt expliquer ce que cela signie. o Comme dans les autres chapitres, on note xi{1,...,N } le ie exemple et xi,j sa j e composante. Les attributs sont numriques, quantitatifs (cf. ce qui a t e ee dit concernant les attributs nominaux et les attributs manquants dans le cas du perceptron multi-couches, chap. 7, sections 7.2.3 et 7.2.3). On note yi la classe de lindividu i. La classe de chacun des individus est 1.

8.1

Machine ` vecteurs supports linaire a e

On commence par prsenter les notions essentielles des machines ` vecteurs e a supports dans le cas le plus simple, celui o` lon cherche un hyperplan sparateur. u e On commence alors par le cas o` les donnes sont linairement sparables avant u e e e de regarder le cas non linairement sparable. e e

8.1.1

Cas sparable e

Principe de la mthode e Considrons chaque individu xi comme un point dans un espace ` P die a . Dans la suite, on i mensions ; on peut le voir galement comme un vecteur x e alternera les deux points de vue en fonction du contexte : point ou vecteur. Si le probl`me est linairement sparable, les individus positifs sont e e e sparables des individus ngatifs par un hyperplan H. Notons H+ lhyperplan e e parall`le ` H qui contient lindividu positif le plus proche de H, resp. H pour e a lindividu ngatif (cf. g. 8.1). e Une MVS linaire recherche lhyperplan qui spare les donnes de mani`re ` e e e e a ce que la distance entre H+ et H soit la plus grande possible. Cet cart entre e les deux hyperplans H+ et H est dnomm la marge . e e (Remarque du 26 mai 2011 : ce qui suit est confus. Je suis en train de le corriger... : il y a un mlange de y tiquette avec y coordonnes, qui sont deux e e e choses distinctes.) Un hyperplan a pour quation y =< , > + b, o` < , > dnote le e w x u w x e produit scalaire entre les vecteurs et . Pour une donne de classe y, on w x e x cherche tel que : w < , > + b 1 si y = +1 w x , > + b 1 si y = 1 < w x Donc, on a : y(< , > + b) 1 0. w x

marge

` 8.1. MACHINE A VECTEURS SUPPORTS LINEAIRE


w B

113

Figure 8.1 Schma illustratif : les individus positifs sont reprsents par un e e e +, les ngatifs par un . On a reprsent un hyperplan H qui spare les positifs e e e e des ngatifs (sur le schma, ce nest pas lhyperplan qui spare au mieux les e e e deux ensembles). On a reprsent H+ et H , tous deux parall`les ` H. B est e e e a un point de H+ et A est le point le plus proche de B qui appartient ` H . a On veut maximiser la largeur de la marge. On montre que cette marge est minimale quand la norme de est maximale, tout en classant bien tous les x exemples. Minimiser || revient ` peu pr`s ` la mme chose que minimiser || 2 . Une w|| a e a e w|| dirence nanmoins est que quand || 2 est petit (proche de 0), son carr est e e w|| e encore plus petit ; donc, ce terme est ngligeable pour une plus grande amplitude e En outre, || 2 est drivable partout, alors que || nest pas de valeur de ||w||. w|| e w|| drivable en || 0||. e De plus, on veut que les exemples soient bien classs, donc que les contraintes e i i = yi (< , > + b) 1 0, i {1, ..., N }. w x

Cela est donc un probl`me doptimisation convexe (minimiser || 2 ) avec e w|| contraintes (les i ) que lon peut rsoudre par la mthode de Lagrange [Fourer, e e 2004] (cf. annexe D). Cette mthode transforme un probl`me doptimisation e e de fonction avec contraintes en un probl`me doptimisation de fonction sans e contrainte. Ces deux probl`mes poss`dent les mmes solutions. e e e Pour cela, on exprime le lagrangien LP comme somme de la fonction ` mina imiser (fonction objectif) et de loppos de chaque contrainte i multiplie par e e + une constante i R . Les i constituent les multiplicateurs de Lagrange . On a donc : LP = 1 2 || w|| 2
i=N i=N

i i yi (< , > + b) + w x
i=1 i=1

LP doit tre minimis par rapport ` et b et il faut que les drives par e e a w e e rapport aux i soient nulles.

A H H H+

probl`me doptimisation e non linaire e

expression du lagrangien

multiplicateur grange

de

La-

(8.1)

114

CHAPITRE 8. CLASSIFICATION PAR MVS Le gradient de LP devant tre nul par rapport ` et b, on crit : e a w e
LP w LP b

=0 =0

do` lon tire aisment (en calculant ces drives et en les annulant) : u e e e = w lagrangien dual i i yi x i yi = 0
i=N i=1

i=N i=1

De la formulation de LP et de ces deux quations, on tire la formulation e : duale du lagrangien en liminant w e


i=N

LD =
i=1

1 2

i=N j=N

i i j yi yj < , > x xj
i=1 j=1

(8.2)

qui doit tre maximis. Le maximum de LD et le minimum de LP sont e e obtenus pour les mmes valeurs de , b et i . e w Pour que , b et les i existent, le probl`me doit vrier les conditions de w e e Karush-Kuhn-Tucker (KKT) : = w i=1 i yi xi, = 0, = 1, 2, ...P i=N = i=1 i yi = 0 i yi (< , > + b) 1 0, i = 1, 2, ...N w x i 0, i = 1, ...N i i (yi (< , > + b) 1) = 0, i = 1, ...N w x
LP w LP b i=N

(8.3)

vecteur support

Ces cinq conditions rsument ici ce qui a t dit prcdemment. Les condie ee e e tions KKT sont donc vries et le probl`me que lon cherche ` rsoudre poss`de e e e a e e bien une solution. i Les deux derni`res lignes indiquent simplement que pour tout exemple , e x i soit i = 0, soit yi (< , > + b) 1 = 0. w x On dnit alors : e Dnition 9 un vecteur support est un vecteur ( i.e., une donne) dont le mule e tiplicateur de Lagrange associ est non nul. e Quelques remarques : 1. les multiplicateurs de Lagrange tant positifs dans le probl`me pos ici, un e e e vecteur support a donc un multiplicateur de Lagrange de valeur strictement positive ; i 2. puisque lon a i (yi (< , > + b) 1) = 0 pour tous les points et w x i que i = 0 pour les vecteurs supports, cela entra que yi (< , > ne w x + b) 1 = 0 pour les vecteurs supports ; cela entra que les vecteurs ne supports sont situs exactement sur les hyperplans H+ et H ; e

` 8.1. MACHINE A VECTEURS SUPPORTS LINEAIRE

115

3. en fait, seuls les exemples correspondant aux vecteurs supports sont rellement utiles dans lapprentissage. Si on les connaissait a priori , on e pourrait eectuer lapprentissage sans tenir compte des autres exemples ; 4. les vecteurs supports synthtisent en quelque sorte les aspects importants e du jeu dexemples. On peut donc compresser lensemble des exemples en ne retenant que les vecteurs supports. Classication dune nouvelle donne e On la vu plus haut, la classe dune donne est 1 et elle est fournie e x , > + b. En eet, si cette quantit est 1, cela signie par le signe de < w x e que x est au-dessus de H+ . Sinon, < , > 1, ce qui signie que w x x est en-dessous de H . En utilisant la fonction signe sgn(.), on note , > + b) cette quantit. sgn(< w x e
i=N i Puisque = i=1 i yi (cf. plus haut) et que seuls les vecteurs supports w x ont un multiplicateur de Lagrange non nul, on a :

i=N

sgn(< , > + b) = sgn ( w x


i=1

i i yi (< , > + b)) = sgn ( x x

j=Ns

j y(sj )(< , > + b)) sj x

j=1

(8.4) est linstance ` classer, les sont les exemples dapprentissage, les i o` x u a x sj sont les vecteurs supports, Ns est le nombre de vecteurs supports.

8.1.2

Cas non sparable e

i Un exemple est bien class si i = 0. Si i = 0, cest-`-dire si xi est mal x e a class, alors i 1 (cf. g. 8.2). Ainsi, i indique ` quel point lexemple xi est e a du mauvais ct : si xi est du mauvais ct de la sparatrice, plus xi est loin oe oe e i=N de la sparatrice, plus i est grand. Donc, i=1 i est une borne suprieure du e e nombre derreurs de classication. Le probl`me devient celui de la recherche de lhyperplan impliquant la marge e la plus grande et le nombre derreurs le plus petit. Donc, la fonction objectif devient (par exemple) : minimiser :

On suppose maintenant que les exemples ne sont pas linairement sparables. e e On cherche alors un hyperplan qui minimise les erreurs de classication sur le jeu dexemples. On introduit un jeu de variables mesurant lerreur (notes i et appeles en e e anglais slack variables) telles que : i < , > + b 1 i si yi = +1 w x , > + b 1 + i si yi = 1 i < w x i 0, i = 1, ...N

116

CHAPITRE 8. CLASSIFICATION PAR MVS

Figure 8.2 Schma illustratif : les exemples ne sont plus linairement e e sparables : deux positifs sont du ct des ngatifs et trois ngatifs du ct e oe e e oe des positifs. La sparatrice est indique en trait plein et les deux droites en e e pointills sont H+ et H . Il y a 4 vecteurs supports, 2 positifs et 2 ngatifs. Les e e sont tous nuls sauf pour les 5 donnes du mauvais ct. e oe

i=N

|| 2 + C w||

i
i=1

(8.5)

o` C est une constante (dnomme capacit de la MVS) qui permet de u e e e donner plus ou moins dimportance aux erreurs de classication. Donc, en rsum, on rsoud maintenant le probl`me : e e e e minimiser || 2 + C i=1 i w|| en respectant les i i 0, i
i=N

(8.6)

On applique la mthode de Lagrange comme prcdemment, ce qui fournit e e e les multiplicateurs et les i . On a i [0, C]. Si i [0, C[, alors i = 0. Si i = C, alors i = 0 : xi est un vecteur support. Pour classer une donne, cest exactement comme dans le cas sparable (cf. e e sec. 8.1.1). Dans le cas non sparable linairement, nous avons trois sortes de donnes : e e e les donnes mal classes ; e e les donnes correspondant aux vecteurs supports (bien classes) ; e e les donnes bien classes, qui ne sont pas des vecteurs supports. e e Remarque : dans une MVS, lhyperplan trouv est un optimum global ; dans e un perceptron multi-couches, cest un optimum local. Les algorithmes mis en jeu dans chacune de ces approches entra nent leurs consquences : formulation e lagrangienne pour les MVS et descente de gradient de lerreur de classication pour le perceptron ; tant plus sophistique, lapproche lagrangienne est e e

` 8.2. MACHINE A VECTEURS SUPPORTS NON LINEAIRE

117

Figure 8.3 Schma illustratif : un ensemble dexemples positifs et ngatifs e e non linairement sparable. e e

Figure 8.4 Schma illustratif : les exemples sont les mmes qu` la g. 8.3. e e a 2 En eectuant une transformation non linaire des points (x x ), on constate e que les exemples deviennent linairement sparables. Cest l` tout le principe e e a des machines ` vecteurs supports non linaires : transformer lespace de donnes a e e de mani`re ` ce que les exemples soient linairement sparables dans le nouvel e a e e espace.

galement plus coteuse en temps dexcution et elle ne peut pas tre applique e u e e e a ` de tr`s gros volumes de donnes. e e

8.2

Machine ` vecteurs supports non linaire a e

On suppose maintenant que les donnes ne sont pas linairement sparables. e e e Lide est alors de trouver une transformation de lespace des donnes dans un e e autre espace dans lequel les donnes sont ` nouveau linairement sparables (cf. e a e e g. 8.3 et 8.4). Gnralement, ce nouvel espace a une dimension plus grande e e que lespace des donnes initial ; il peut mme tre de dimension innie. Cela e e e sappuie sur le thor`me de Cover [1965] qui indique quun ensemble dexemples e e transform de mani`re non linaire dans un espace de plus grande dimension a e e e plus de chance dtre linairement sparable que dans son espace dorigine. e e e

8.2.1

Construction dune MVS non linaire e

Remarque fondamentale pour ce qui suit : dans la rsolution du probl`me e e quadratique (donc lors de lapprentissage) et lors de la classication dune nouvelle donne, les donnes apparaissent toujours sous la forme de produits e e scalaires (cf. les sections prcdentes sur les MVS linaires). e e e On note : : RP F

118

CHAPITRE 8. CLASSIFICATION PAR MVS

fonction noyau

une transformation de lespace des donnes (ici, D = RP ) en un espace des e caractristiques F (feature space). Chacun des axes de coordonnes de F est e e une combinaison non linaire des axes de coordonnes de D. e e Supposons que lon dispose dune fonction K dite de K(xi , xj ) =< (xi ), (xj ) > fonction noyau :

kernel trick On peut d`s lors eectuer tous les calculs dans le cadre des MVS en utilisant e K, sans devoir explicitement transformer les donnes par la fonction , donc, e sans ncessairement conna cette fonction : e tre lors de loptimisation du probl`me quadratique, on remplace les produits e , > par K(xi , xj ), soit : i scalaires < x xj
i=N

LD =
i=1

1 2

i=N j=N

i j yi yj K(xi , xj )
i=1 j=1

a ` comparer ` lq. (8.2) ; a e lors de la classication dune nouvelle donne , on calcule sgn (< e x , > + b) = i=Ns i y(si )K(si , x) + b. w x i=1 Donc, il ny a rien de bien dirent dans le cas des MVS non linaires par e e rapport aux MVS linaires concernant le principe de la mthode et des calculs. e e

8.2.2
condition de Mercer

Fonctions noyaux

Peut-on utiliser nimporte quelle fonction comme fonction noyau ? Les fonctions noyaux acceptables doivent respecter la condition de Mercer. Une fonction K(x, y) respecte cette condition si pour toute fonction g(x) telle que g(x)2 dx est nie, on a K(x, y)g(x)g(y)dxdy 0. Le respect de la condition de Mercer garantit que le probl`me quadratique e poss`de une solution. e

On conna un certain nombre de fonctions noyaux, parmi lesquelles : t noyau polynomial : K(x, y) = (< , > +c)m , m N et c > 0 ; x y ||2 || x y noyau gaussien : K(x, y) = e 22 ; noyau neuronal/sigmo : K(x, y) = tanh ( < , > ) o` > 0 et de x y u > 0 (stricto senso, cette fonction ne respecte pas la condition de Mercer pour toutes les valeurs de et ). En outre, un thor`me indique que la combinaison linaire de fonctions noye e e aux acceptables est une fonction noyau acceptable. Question : face ` un probl`me donn, quelle fonction noyau utiliser ? a e e Rponse : on ne sait pas. e

8.3. APPLICATION

119

(a) MVS linaire e

(b) MVS non linaire ` base de RBF e a

Figure 8.5 Sur le jeu de donnes iris , dcoupage de lespace des donnes e e e par deux MVS, lune linaire, lautre non linaire. On a reprsent galement e e e ee les exemples : les setosa en rose, les versicolor en jaune et les virginica en bleu clair.

8.3

Application

On applique ici les MVS au jeu de donnes iris . On ne consid`re que e e les deux attributs longueur et largeur des ptales. Vue la rpartition par classes e e des donnes, on compare MVS linaire et MVS ` un noyau gaussien. e e a Pour la MVS linaire, 6 exemples sont mal classs ; pour la MVS RBF, 4 e e sont mal classs. La gure 8.5 montre le dcoupage de lespace des donnes en e e e 3 classes pour les 2 MVS.

8.4

Les logiciels libres pour MVS

Il y a un certain nombre de logiciels libres plus ou moins faciles ` utiliser. a SVMTorch : assez facile ` utiliser : http://www.idiap.ch/learning/ a SVMTorch.html. rainbow : cest un logiciel pour la classication de textes ; il comprend notamment un module MVS. Il est disponible ` lurl http://www.cs. a cmu.edu/~mccallum/bow ; libsvm : www.csie.ntu.edu.tw/~cjlin/libsvm : biblioth`que de fonce tions ; ncessite de programmer ; e mySVM : http://www-ai.cs.uni-dortmund.de/SOFTWARE/MYSVM/index. html biblioth`que de fonctions ; ncessite de programmer ; e e light SVM : http://svmlight.joachims.org biblioth`que de fonctions ; e ncessite de programmer. e

120

CHAPITRE 8. CLASSIFICATION PAR MVS

8.5

Conclusion

ne permet pas lextraction dun mod`le comprhensible ; e e inadapt ` la fouille de tr`s grands volumes de donnes. Les meilleurs e a e e logiciels ne traitent quenviron 10000 exemples : les calculs sont lourds ; choix du noyau : pas de solution ` lheure actuelle si ce nest par esa sai/erreur ; fournit un optimum global, mais quest ce que cela signie vraiment pour un jeu de donnes rel ? e e apprentissage incrmental possible ; e pour faire de la fouille de donnes, il faut comprendre lalgorithme que lon e utilise. Clairement, une bonne comprhension des MVS nest pas aise. e e

8.6

Exercices

Exercice 19 Soit le probl`me suivant : e minimiser x2 3x2 1 avec la condition 3x1 x2 + 4 0 Le rsoudre par la mthode de Lagrange. e e

Exercice 20 Donner le lagrangien et son dual pour une machine ` vecteurs a supports linaire dans le cas non sparable (cf. eq. (8.6)). e e

Exercice 21 Que pensez-vous de la g. 8.5(b) ?

Exercice 22 Questions de rexion : e 1. est-ce-que les MVS constituent LA mthode ` toujours utiliser puisque e a lon a dmontr quelle fournit un optimum global ? e e 2. dans la pratique, on constate que certains algorithmes ont de meilleures performances que les MVS. Comment expliquez-vous ce fait ?

Chapitre 9

Classication par slection e dattributs


La slection dattributs constitue une ide tr`s simple, mais qui peut nous e e e emmener loin et se rvler tr`s puissante. On consid`re dans ce chapitre que e e e e tous les attributs sont quantitatifs ; on consid`re le probl`me de classication e e binaire. Dans la suite, on utilise la notation a(x) pour indiquer lattribut a de la donne x ; on consid`re ici a comme une fonction a : D R qui donne simplee e ment la valeur dun attribut dune donne ; cette fonction est une projection. e Comme il y a plusieurs attributs, on indicera la fonction avec le numro de e e lattribut considr : aj pour la fonction renvoyant le j attribut. ee On cherche un classeur dni par une fonction y de la forme y (x) e e e aA wa a(x). Le signe de y (x) indique la classe prdite pour la donne x. Cette fonction y est donc une combinaison linaire des attributs. Les attributs e tant xs, il reste ` trouver la valeur des P rels wa . e e a e

121

122

CHAPITRE 9. CLASSIFICATION PAR SELECTION DATTRIBUTS

Chapitre 10

Pour en nir avec la classication


Contenu
10.1 Combinaison de classeurs . . . . . . . . . . . . . . . 123 10.1.1 Bagging . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.1.2 Boosting . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.2 Apprendre avec des donnes non tiquetes . . . e e e 10.3 Synth`se des mthodes de classication . . . . . . e e 10.4 Logiciels libres . . . . . . . . . . . . . . . . . . . . . 10.5 Conclusion 10.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 126 128 128 129

Pour terminer la discussion du probl`me de classication, on aborde ici deux e problmatiques : e la combinaison de classeurs ; en plus des exemples (donnes tiquetes), si lon dispose de donnes (non e e e e tiquetes) supplmentaires, ces donnes peuvent-elles tre utilises pour e e e e e e obtenir un classeur de meilleure qualit ? e Chacune de ces deux problmatiques est discute dans les deux sections qui e e suivent. Enn, on termine ce chapitre par une synth`se sur les mthodes de e e classication.

10.1

Combinaison de classeurs

Plusieurs techniques de construction et combinaison de classeurs ont t ee proposes dont le bagging et le boosting sont les plus connues. On prsente e e bri`vement ces 2 approches. e 123

124

CHAPITRE 10. POUR EN FINIR AVEC LA CLASSIFICATION

Notons que dautres concepts sont connexes ` ces notions : dune mani`re a e gnrale, on parle de mthodes densemble, ou de leveraging. e e e

10.1.1

Bagging

Lide est de construire T classeurs ` partir du jeu dapprentissage, T tant e a e x a priori . Quand ces classeurs sont construits, la prdiction de la classe e e dune nouvelle donne sobtient par un vote majoritaire : cf. algorithmes 8 pour e la construction des T classeurs et 9 pour la prdiction. On suppose ici que la e classe y est code par 1. e Algorithme 8 Algorithme de bagging : construction de T classeurs. Ncessite: Xapp : ensemble dexemples dapprentissage e pour t : 1 T faire chantillonner avec remise N exemples de Xapp e Ct classeur construit avec ces N exemples n pour

Algorithme 9 Algorithme de bagging : prdiction ` partir des T classeurs. e a Ncessite: x : donne dont il faut prdire la classe, T classeurs construits par e e e lalgorithme 8 pour t : 1 T faire ct classe prdite par la classeur Ct e n pour t=T retourner la classe majoritaire parmi les {ct } = sgn t=1 Ct (x) Lalgorithme des forts alatoires sappuie sur le principe du bagging (cf. e e Breiman [2001]).

10.1.2

Boosting

Cette technique repose sur un rsultat thorique fort que lon peut noncer e e e intuitivement comme suit : ` partir dun ensemble de classeurs qui ont une a probabilit suprieure au hasard de prdire correctement la classe dune donne, e e e e on peut construire par combinaison de ces classeurs de base un nouveau classeur dont la probabilit de succ`s peut tre rendue arbitrairement proche de 1 (cf. e e e Schapire [1989]). Plusieurs algorithmes ont t proposs. Pratiquement, cest AdaBoost qui est ee e utilis. Son principe est dassocier un poids ` chaque exemple ; ce poids indique e a la dicult de prdire la classe de cet exemple. D`s lors, AdaBoost va concentrer e e e ses eorts sur les exemples dont il est dicile de prdire la classe : un premier e classeur est construit sur lensemble des exemples ; ceux dont la classe est mal

10.1. COMBINAISON DE CLASSEURS

125

prdite ont leur poids qui augmente, les autres ont leur poids qui diminue. Ce e poids indique la probabilit que chaque exemple a dtre tir lors dun tirage e e e au sort. Et on recommence avec la construction dun second classeur sur les exemples ainsi (re-)pondrs, et ainsi de suite jusqu` obtenir un nombre T x ee a e de classeurs (cf. algorithme 10). Algorithme 10 Algorithme AdaBoost : construction de T classeurs. Ncessite: Xapp : ensemble dexemples dapprentissage e pour chaque exemple xi Xapp faire wi 1/N n pour pour t {1, ..., T } faire Ct classeur construit avec ces N exemples pondrs par les wi ee et erreur de Ct mesure sur ce jeu dexemples avec cette pondration e e 1et 1 t 2 log ( et ) pour chaque exemple xi Xapp faire wi wi et yi Ct (xi ) n pour normaliser les poids (pour que leur somme fasse 1) n pour Pour prdire la classe dune donne, chaque classeur vote pour sa prdiction e e e avec un poids t pour le classeur Ct . La classe prdite est la classe de poids e maximal (cf. lalgorithme 11 dans le cas binaire), en supposant que la classe est code par 1. e Algorithme 11 Algorithme AdaBoost : prdiction ` partir des T classeurs. e a Ncessite: x : donne dont il faut prdire la classe, T classeurs construits par e e e lalgorithme 10 et leurs coecients t t=T retourner sgn t=1 t Ct (x) Le boosting peut tre appliqu ` tout type de classeur. En particulier, il a e ea t appliqu aux rseaux de neurones et aux arbres de dcision. Dans ce dernier ee e e e cas, pour des probl`mes de classication binaire, plutt que de construire des e o arbres de dcision complets comme le fait C4.5, on peut ne construire que des e arbres rduits ` une simple racine (arbre nayant quun seul nud : decision e a stump). Ainsi, on engendre autant de stumps quil y a dattributs ; chacun teste un seul attribut et eectue ainsi une prdiction de la classe de la donne qui lui e e est prsente. e e On peut aussi construire des arbres de dcision dans lesquels les nuds cone tiennent des tests obtenus selon dautres mthodes que dans le cas de C4.5 (cf. e Dietterich [1999], Breiman [2001]). Ho [1998] propose de tester des combinaisons

126

CHAPITRE 10. POUR EN FINIR AVEC LA CLASSIFICATION

positifs negatifs

positifs negatifs separateur MVS optimal

` ` Figure 10.1 A gauche : un ensemble dexemples linairement sparables. A e e droite, le sparateur trouv par une MVS linaire. e e e

non linaires dattributs. e

10.2

Apprendre tiquetes e e

avec

des

donnes e

non

Problmatique : on dispose rarement dun grand nombre dexemples car e ltiquetage, gnralement manuel, est une opration coteuse. Par contre, e e e e u on dispose souvent en complment des exemples tiquets dun certain nome e e bre, ventuellement important, de donnes non tiquetes. Peut-on utiliser ces e e e e donnes pour construire un classeur plus performant ? e La rponse peut-tre e e oui : les gures 10.1 et 10.2 en illustrent lide. e On y reviendra au chapitre 11 lorsque certains outils auront t introduits ee (lalgorithme EM).

10.3

Synth`se des mthodes de classication e e

Au-del` de lapparente diversit des approches que nous avons rencontres, a e e il est important de bien noter les relles dissimilarits et les similarits entre e e e chacune. Lexplicitation du type de fonction de prdiction permet dy voir plus e clair que den rester aux niveaux descriptifs, tels que des arbres de dcision, des e rseaux de neurones, les k plus proches voisins, les machines ` vecteurs supports e a ou les mthodes densemble (cf. table 10.2). La table 10.1 rsume galement ce e e e qui est appris, autrement dit, en quoi consiste le mod`le construit par chacune e des mthodes. e La table 10.2 permet de constater une grande similarit entre plusieurs des e techniques, malgr leur apparente varits. Ainsi, k plus proches voisins, pere ee ceptron multi-couches, machines ` vecteurs supports, combinaisons de classeurs a utilisent-ils des fonctions de prdiction tr`s ressemblantes. e e

` 10.3. SYNTHESE DES METHODES DE CLASSIFICATION

127

autres points positifs negatifs

Figure 10.2 Schma illustrant comment des donnes non tiquetes peuvent e e e e tre utiles : on a le mme jeu dexemples qu` la gure 10.1 auquel on a ade e a joint un ensemble de donnes non tiquetes (en rouge). On e e e voit que le sparateur linaire des positifs et des ngatifs est probablement une droite ` e e e a peu pr`s verticale plutt que le sparateur indiqu sur la gure 10.1. e o e e

Table 10.1 Cette table rsume en quoi consiste lapprentissage dans les e direntes techniques rencontres. e e mthode e ce qui est appris ID3, C4.5, C5, CART un arbre de dcision e C4.5rules un jeu de r`gles de classication e k plus proches voisins rien approche baysienne e rien perceptron multi-couches les poids sur les connexions entre neurones rseau RBF e les poids sur les connexions entre neurones machines ` vecteurs sup- les a multiplicateurs de Lagrange (et ports ventuellement dautres param`tres) e e bagging des classeurs boosting des classeurs et un poids pour chacun

128

CHAPITRE 10. POUR EN FINIR AVEC LA CLASSIFICATION

Table 10.2 Cette table rsume comment est eectue la prdiction de la classe e e e dune donne quelconque pour les direntes techniques rencontres. K est une e e e fonction noyau (fonction ` base radiale par exemple, note G dans la table). S a e est une fonction sigmo (tanh par exemple). de mthode e fonction de prdiction de la classe dune e donne x e ID3, C4.5, C5, CART descente dans larbre de dcision e C4.5rules application des r`gles de classication e k plus proches voisins K(v, x) v{kplus proches voisins} v perceptron multi-couches rseau RBF e machines ` vecteurs supa ports bagging boosting sgn( sgn( sgn( sgn( sgn( wi S( j wj xj )) 2 i wi G(||xj cj || ))
i v{vecteurs t=T t=1 t=T t=1

supports} v K(v, x))

Ct (x)) t Ct (x))

10.4

Logiciels libres

voir aussi les random forests de L. Breiman : http://www.stat. berkeley.edu/users/breiman/RandomForests le logiciel non libre C5 contient une option boosting qui nest pas documente. La version de dmonstration permet dexprimenter cette teche e e nique. Voir http://www.rulequest.com weka permet galement dexprimenter le boosting : http://www.cs. e e waikato.ac.nz/~ml ADTree poss`de une option de boosting de stumps : http://www.grappa. e univ-lille3.fr ;

10.5

Conclusion

On pourrait continuer encore ` parler longuement du probl`me de classicaa e tion. Par exemple, on na pas parl du tout des probl`mes multi-tiquettes o` e e e u chaque donne peut appartenir ` plusieurs classes. On va cependant sarrter e a e l`. a On a pass beaucoup de temps sur la classication : cest normal : cest tr`s e e utilis, cest ce que lon ma e trise le mieux et on a prsent des choses qui sont e e utilisables en dehors du seul probl`me de classication. e De plus, au-del` des algorithmes et mthodes gnriques que nous avons a e e e dcrites, chacun peut imaginer de nouvelles mthodes de classication qui seront e e adaptes ` son probl`me particulier. Quand on se lance dans la conception de e a e

10.6. EXERCICES

129

nouvelles mthodes, il est cependant indispensable de conna e tre ce qui existe dj`. ea

10.6

Exercices

Exercice 23 Vous voulez devenir riche ? Concevez un syst`me qui prdise si e e une certaine chanson va tre un tube. e Question 1 : Que pensez-vous de la faisabilit de lentreprise ? e Question 2 : Comment vous y prenez-vous dun point de vue technique ?

130

CHAPITRE 10. POUR EN FINIR AVEC LA CLASSIFICATION

Chapitre 11

Segmentation
Contenu
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 132 133 11.2 Segmentation non hirarchique . . . . . . . . . . . e

11.2.1 Lalgorithme des centres mobiles . . . . . . . . . . . 134 11.2.2 Quelques remarques sur les centres mobiles . . . . . 135 11.2.3 Illustration des centres mobiles . . . . . . . . . . . . 136 11.2.4 Lalgorithme EM . . . . . . . . . . . . . . . . . . . . 138 11.2.5 Autres algorithmes de segmentation non hirarchique 143 e 11.3 Segmentation hirarchique . . . . . . . . . . . . . . e 148

11.3.1 Mthode ascendante . . . . . . . . . . . . . . . . . . 148 e 11.4 Application au jeu de donnes e 11.4.1 Les centres mobiles sur les 11.4.2 EM sur les iris iris iris . . . . . . 151

. . . . . . . . . . 151

. . . . . . . . . . . . . . . . . . . 153 iris . . . . . . . 154 154

11.4.3 Segmentation hirarchique des e

11.5 Comparaison de deux segmentations . . . . . . . .

11.5.1 Analyse de tableau de contingence . . . . . . . . . . 154 11.5.2 Autre approche . . . . . . . . . . . . . . . . . . . . . 155 11.6 Critique . . . . . . . . . . . . . . . . . . . . . . . . . 11.7 Logiciels libres . . . . . . . . . . . . . . . . . . . . . 11.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . 156 156 156

Avec ce chapitre, on aborde la problmatique de la segmentation de donnes. e e Cette tche est tr`s importante et plusieurs synonymes existent : partitiona e nement, catgorisation, classication non supervise (anglicisme : clustering). e e En statistique, ce que nous dnommons ici un probl`me de segmentation est e e appel un probl`me de classication . e e 131

132

CHAPITRE 11. SEGMENTATION

11.1

Introduction

Lobjectif de la segmentation est le suivant : on dispose de donnes non e tiquetes. On souhaite les regrouper par donnes ressemblantes. e e e Cette mani`re de dnir intuitivement lobjectif de la segmentation cache la e e dicult de formaliser la notion de ressemblance entre deux donnes. Au-del` e e a des algorithmes existant dont nous prsentons quelques exemples dans la suite, e une bonne partie de lart ` acqurir consiste ici ` imaginer cette formalisation. a e a Ainsi, soit un ensemble X de N donnes dcrites chacune par leurs P ate e tributs. La segmentation consiste ` crer une partition ou une dcomposition de a e e cet ensemble en groupes telle que : crit`re 1. les donnes appartenant au mme groupe se ressemblent ; e e e crit`re 2. les donnes appartenant ` deux groupes dirents soient peu resseme e a e blantes. Clairement, la notion de ressemblance doit tre formalise. Cela est fait e e en dnissant une distance entre tout couple de points du domaine D. Toute la e dicult est l` : dnir correctement cette distance. De l` dpend le rsultat e a e a e e de la segmentation. On a dj` abord ce point (cf. le chap. 5, section 5.1). Si ea e lutilisation dune distance euclidienne est a priori une bonne ide, ce nest pas e la seule possibilit, loin sen faut. En particulier, on a rarement dinformations e concernant la pertinence des attributs : seuls les attributs pertinents doivent intervenir dans la dnition de la distance. De plus, dans la segmentation que lon e aimerait obtenir, la pertinence des attributs peut dpendre du groupe auquel la e donne appartient. e Ne connaissant pas les crit`res de partitionnement a priori , on doit utiliser e ici des algorithmes dapprentissage non superviss : ils organisent les donnes e e sans quils ne disposent dinformation sur ce quils devraient faire. Il existe deux grandes classes de mthodes : e non hirarchique : on dcompose lensemble dindividus en k groupes ; e e hirarchique : on dcompose lensemble dindividus en une arborescence e e de groupes. On peut souhaiter construire une dcomposition : e telle que chaque donne appartienne ` un et un seul groupe : on obtient e a une partition au sens mathmatique du terme ; e dans laquelle une donne peut appartenir ` plusieurs groupes ; e a dans laquelle chaque donne est associe ` chaque groupe avec une certaine e e a probabilit. e Avant de poursuivre, notons que le probl`me de segmentation optimale en k e groupes est N P-complet (cf. annexe C). Il faut donc chercher des algorithmes calculant une bonne partition, sans esprer tre sr de trouver la meilleure pour e e u les crit`res que lon se sera donns. e e

Mesurer la ressemblance entre deux donnes e

Dirents types de sege mentation

11.2. SEGMENTATION NON HIERARCHIQUE

133

Idalement, dans un processus de fouille de donnes, la segmentation doit e e tre une tche interactive : une segmentation est calcule et propose ` lue a e e a tilisateur qui doit pouvoir la critiquer et obtenir, en fonction de ces critiques, une nouvelle segmentation, soit en utilisant un autre algorithme, soit en faisant varier les param`tres de lalgorithme, ... e

11.2

Segmentation non hirarchique e

Dans une approche hirarchique, on souhaite obtenir une dcomposition de e e lensemble de donnes X en K groupes non hirarchiss que lon notera G1 , G2 , e e e i=K ... GK . On a : X = i=1 Gi . Apr`s un ensemble de dnitions, on verra deux approches : dans la premi`re, e e e on obtient une partition au sens mathmatique (chaque donne est associe ` e e e a un et un seul groupe) ; dans la seconde, chaque donne est associe ` chaque e e a groupe avec une certaine probabilit. e Dnition 10 Soit X un ensemble de donne, chacune dcrite par P attributs. e e e On nomme centre de gravit g de X une donne synthtique dont chaque e e e attribut est gal ` la moyenne de cet attribut dans X . Soit, g = (a1 , a2 , ...aP ). e a Dnition 11 Linertie dun ensemble X de N donnes : e e
i=N

centre de gravit e

inertie

I=

d2 (xi , g)
i=1

(11.1)

o` g est le centre de gravit de X . u e On peut aussi calculer linertie des individus appartenant ` un groupe de la a partition. On note Ii{1,...K} linertie du groupe Gi ; elle se calcule par lquation e (11.1). On note gi le centre de gravit des points appartenant au groupe Gi . e Dnition 12 On dnit linertie intraclasse comme suit : e e
i=K

inertie intraclasse

IW =

i=1

w i Ii

(11.2)

o` wi est le poids du groupe Gi . Si toutes les donnes ont le mme poids, le u e e |Gi | poids dun groupe est wi = N o` |Gi | est le cardinal du groupe Gi . u Dnition 13 On dnit linertie interclasse : e e
i=K

inertie interclasse

IB =

wi d2 (gi , g)
i=1

(11.3)

134

CHAPITRE 11. SEGMENTATION

` Figure 11.1 A gauche comme ` droite, la distribution des points est la mme, a e donc linertie I du nuage est la mme. On a indiqu par des couleurs les points e e ` des deux groupes de la segmentation. A gauche, linertie intraclasse IW est faible alors que linertie interclasse IB est grande : les deux groupes sont nette` ment spars spatialement. A droite, les deux groupes sont mlangs : linertie e e e e intraclasse IW est grande alors que linertie interclasse IB est faible. Proprit 4 Thor`me de Huygens : pour un ensemble de donnes, on a e e e e e I = IW + IB (11.4)

Remarque : I est une constante. Donc, IW + IB est une constante, quelle que soit la segmentation en groupes du jeu de donnes (cf. g. 11.1). e Pour crer une segmentation respectant les deux crit`res indiqus plus haut, e e e il faut maximiser IB (crit`re 1, cf. p. 132)) et minimiser en mme temps IW e e (crit`re 2, cf. p. 132)). Donc, dapr`s le thor`me de Huygens, il sut de ree e e e specter lun des deux crit`res : le second sera respect en mme temps. e e e

11.2.1

Lalgorithme des centres mobiles

Lalgorithme des centres mobiles est galement dnomm k-moyennes 1 , ou e e e centro des. Lobjectif est de segmenter les donnes en k groupes, k tant x e e e a priori . Lide de cet algorithme est tr`s intuitive et, de fait, cet algorithme e e a t r-invent ` plusieurs reprises. Il en existe de nombreuses variantes, en ee e e a particulier lalgorithme bien connu des nues dynamiques . e Lide de lalgorithme des centres mobiles est la suivante : on part de K e donnes synthtiques (cest-`-dire des points de lespace de donnes D ne faisant e e a e pas forcment parti du jeu de donnes) que lon nomme des centres . Chaque e e ` centre caractrise un groupe. A chaque centre sont associes les donnes qui lui e e e sont les plus proches ; cela cre un groupe autour de chaque centre. Ensuite, on e calcule le centre de gravit de chacun de ces groupes ; ces k centres de gravit e e deviennent les nouveaux centres et on recommence tant que les groupes ne sont pas stabiliss, i.e. tant quil y a des donnes qui changent de groupe dune e e itration ` la suivante ou encore, tant que linertie varie substantiellement dune e a
1. en anglais : k-means

11.2. SEGMENTATION NON HIERARCHIQUE

135

itration ` la suivante (cf. lalgorithme 12). Cet algorithme converge en un e a nombre ni ditrations. e Algorithme 12 Algorithmes des centres mobiles Ncessite: 2 param`tres : le jeu de donnes X , le nombre de groupes ` cone e e a stituer K N I prendre K centres arbitraires ck D rpter e e pour k {1, ...K} faire Gk n pour pour i {1, ...N } faire k arg min k{1,...,K} d(xi , ck ) Gk Gk {xi } n pour pour k {1, ...K} faire ck centre de gravit de Gk e n pour I IW calculer IW jusque I IW < seuil

11.2.2

Quelques remarques sur les centres mobiles

La segmentation obtenue dpend des centres initiaux e Lors de linitialisation de lalgorithme, on prend K points dans lespace de donnes au hasard. La segmentation calcule par les centres mobiles dpend de e e e cette initialisation. Pour contrer ce probl`me, on excute plusieurs fois lalgorithme en prenant e e a ` chaque fois des centres initialiss diremment. On compare les segmentations e e obtenues ` chaque itration et on retient celle dont linertie intraclasse est la plus a e faible. En gnral, un certain nombre de donnes se trouvent toujours regroupes e e e e ensemble, alors que dautres ne le sont pas. On peut considrer que les premi`res e e indiquent nettement des regroupements, alors que les secondes correspondent a ` des donnes ventuellement atypiques, ou ` des donnes bruites. De toute e e a e e mani`re, cette information est intressante. e e Le nombre de groupes Le K choisi peut tre mauvais. On peut tester plusieurs valeurs de K en e excutant plusieurs fois lalgorithme avec des K croissants. Pour chaque valeur e

136

CHAPITRE 11. SEGMENTATION

Table 11.1 Caractristiques du jeu de donnes reprsent ` la g. 11.2. e e e e a moyenne thorique e : coordonnes des centres des 5 distributions. On e nindique que les moyennes des distributions normales ; les carts-types sont e tous gaux ` 0, 5. moyenne trouve par les centres mobiles : les coordonnes e a e e des 5 centres trouvs par lalgorithme des centres mobiles. moyenne trouve e e par EM : idem pour lalgorithme EM. Celui-ci estime galement les cartse e types : la valeur estime varie entre 0, 44 et 0, 54. e Groupe moyenne thorique e moyenne trouve par e les centres mobiles moyenne trouve par e EM G1 1 (0, 0) (0, 03, 0, 03) G2 2 (3, 5) (3, 0, 5, 0) G3 3 (-1, -3) (1, 0, 3, 07) G4 4 (7, 6) (7, 02, 6, 01) G5 5 (-1, 3) (0, 99, 2, 99)

(0, 0)

(3, 5)

(1, 3)

(7, 6)

(1, 3)

de K, on note linertie intraclasse ou le rayon moyen des groupes. Cette valeur dcro quand K augmente. En faisant un graphique reprsentant linertie intre t e aclasse en fonction de K, on voit la bonne valeur de K : cest celle ` partir de a laquelle IW ne dcro plus substantiellement (cf. gure 11.3). e t La convergence de lalgorithme des centres mobiles Proprit 5 Lalgorithme des centres mobiles converge au bout dun nombre e e ni ditrations. e On insiste sur le fait que lalgorithme trouve un optimum local.

11.2.3

Illustration des centres mobiles

On consid`re le jeu de donnes bi-dimensionnelles reprsent ` la gure 11.2. e e e ea Ce jeu de donnes a t engendr en tirant 1000 points dans le plan, chacun tant e ee e e issu de lune des cinq distributions normales dont les param`tres sont indiqus e e dans la table 11.1. Il y a qui-probabilit de tirer un point dans chacune de ces e e cinq distributions. On excute plusieurs fois lalgorithme des centres mobiles pour des valeurs e de K variant de 3 ` 20. On obtient le graphique IW en fonction de K de la a gure 11.3.

11.2. SEGMENTATION NON HIERARCHIQUE

137

-2

-4

-6

-4

-2

10

Figure 11.2 Jeu de donnes bi-dimensionnelles utilis pour illustrer le fonce e tionnement de lalgorithme des centres mobiles.

3500

3000

2500 Inertie intraclasse

2000

1500

1000

500

0 2 4 6 8 10 12 14 16 18 20 Nombre de segments

Figure 11.3 Excution de lalgorithme des centres mobiles sur le jeu de e donnes reprsent ` la g. 11.2. On reprsente ici le rayon moyen des groupes e e ea e en fonction de K. Celui-ci ne varie plus ` partir de K = 5. Il y a donc 5 groupes. a

138
8

CHAPITRE 11. SEGMENTATION

-2

-4

-6

-4

-2

10

Figure 11.4 Aectation des donnes aux 5 groupes (un groupe = une couleur) e par lalgorithme des centres mobiles sur le jeu de donnes reprsent ` la g. e e e a 11.2. Sur ce graphique, on voit une tr`s nette inexion pour K = 5. Pour cette e valeur, la gure 11.4 reprsente laectation de chaque donne aux 5 groupes. e e On obtient bien le rsultat attendu. e Critique des centres mobiles + algorithme tr`s simple ` comprendre ; e a + algorithme tr`s simple ` programmer ; e a o algorithme pas trop coteux en temps dexcution si le nombre de donnes u e e nest pas trop lev. Quand N devient grand, les centres mobiles deviene e nent coteux. Dautres algorithmes ont t proposs dans ce cas u ee e - on peut obtenir des groupes vides, donc moins de K groupes non vides.

11.2.4

Lalgorithme EM

On prsente maintenant une toute autre approche de la segmentation non e hirarchique au travers de lalgorithme EM introduit par Duda and Hart [1973]. e Une description dtaille est disponible dans MacLachlan and Krishnan [1997]. e e EM recherche un mod`le statistique (une mixture) qui dcrive au mieux le jeu e e de donnes ` segmenter. Chaque donne est associe ` chaque segment (= une e a e e a distribution de probabilits) avec une certaine probabilit. e e Les mixtures Une mixture est un ensemble de K distributions de probabilit. Lide est que e e chaque distribution de probabilit dcrit la distribution des valeurs dattribut e e pour un groupe de la segmentation. Le nombre de segments est donc x ici ` e a K.

11.2. SEGMENTATION NON HIERARCHIQUE

139

Chaque distribution est dcrite par un ensemble de param`tres . Une mixe e ture de K distributions est la donne de {(wi , i ), i {1, ...K}} o` wi est le e u i=K poids de la distribution i ; on a donc : i=1 wi = 1 et wi 0, i. Les wi sont ` les coecients de la mixture . A partir du jeu de donnes, on se xe K et le e type de distributions de probabilits (donc le nombre et le sens des param`tres e e i ) et on cherche les wi et i qui modlisent les donnes au mieux. e e Estimation des param`tres dune distribution e Le cas le plus simple est celui o` il ny a quun seul attribut numrique qui u e poss`de une distribution normale dans chaque goupe, mais avec des moyennes et e carts-types dirents dans chaque groupe. Le probl`me consiste alors ` prendre e e e a un certain jeu de donnes et un nombre a priori de groupes et de dterminer la e e moyenne et la variance de chaque groupe, ainsi que la rpartition de la populae tion entre les dirents groupes. e Plus prcisment, supposons que la mixture soit compose de K = 2 distrie e e butions normales GA et GB , de moyenne et cart-type respectifs A = (A , A ) e et B = (B , B ). La probabilit quune donne appartienne ` GA est wA et e e a celle dappartenir ` GB est wB , avec wA + wB = 1. Le probl`me consiste ` a e a dterminer A , B et wA tant donn lensemble de donnes. e e e e Si on connaissait le groupe dappartenance de chaque donne, on pourrait e aisment estimer la moyenne et lcart-type de chaque groupe par les formules e e classiques. Pour estimer wA , on pourrait utiliser la proportion de donnes ape partenant ` GA . a Dun autre ct, si on connaissait ces param`tres, on pourrait dterminer la oe e e probabilit quune donne x appartienne au groupe GA par : e e P r[GA |x] = P r[x|GA ] P r[GA ] P r[x|GA ] wA = P r[x] P r[x]

P r[x|GA ] est la probabilit que la donne x rsulte de la distribution GA . e e e Puisque lon a suppos que les distributions sont gaussiennes, on a : e P r[x|GA ] = P r[x|A ] =
xA 1 2 e 2A 2A

Le dnominateur P r[x] dispara en calculant P r[GB |x] et en normalisant e t les deux valeurs P r[GA |x] et P r[GB |x] par leur somme qui vaut 1 (cf chap. 4). On obtient ainsi la probabilit que x appartienne au groupe GA ou au groupe e GB . Plus gnralement, si on a une mixture de K distributions, on estime la e e probabilit P r[Gi |x] par : e P r[Gi |x] = P r[x|Gi ]wi = P r[x] P r[x|i ]wi
j=K j=1

P r[x|j ]P r[Gj ]

140

CHAPITRE 11. SEGMENTATION

EM Dans la ralit, on ne conna pas toutes ces quantits : nombres de groupes e e t e (K), distributions des individus entre les dirents groupes (wi ) et param`tres e e de ces distributions de probabilit (i ). En fait, on ne conna mme pas le e t e type de distribution, mais on va supposer quelles sont dun cretain type, par exemple, normal. EM est un algorithme qui estime ces param`tres. (EM nest e donc pas spciquement un algorithme de segmentation, mais il peut tre utilis e e e pour faire de la segmentation.) On commence par choisir le nombre et le type de distributions composant la mixture. Ces hypoth`ses permettent de dnir e e exactement le nombre et le type de param`tres dcrivant la mixture. D`s lors, e e e EM part dune estimation initiale de ces param`tres et, itrativement, calcule e e les probabilits que chaque individu appartienne ` tel ou tel groupe et utilise ces e a informations pour maximiser la probabilit que les param`tres des distributions e e collent aux donnes. EM trouve ainsi un jeu de param`tres de vraisemblance e e maximale (ML). Cest une mthode de gradient : EM maximise la vraisemblance e que les donnes rsulte dune certaine mixture. e e Considrons une mixture de K gaussiennes mono-dimensionnelles. Ayant e estim la probabilit pour chaque individu dappartenir ` chacune des distribue e a tions (on note wi,k lestimation de la probabilit que xi appartienne ` la distrie a bution k, i.e. lestimation du terme P r[Gk |xi ]), on peut estimer la moyenne et lcart-type du groupe Gk par : e w1,k x1 + w2,k x2 + ...wn,k xn
i=N i=1

k k

= =

wi,k
i=N i=1

(11.5) (11.6) (11.7)

w1,k (x1 k )2 + w2,k (x2 k )2 + ... + wn,k (xn k )2 wi,k

` A partir de ces nouvelles estimations des param`tres des distributions de la e mixture, on estime la nouvelle valeur des wi,k , et on recommence lestimation des param`tres. e On peut montrer que ce processus converge vers un optimum local (cf. [Bishop, 1995, p. 65-68] , MacLachlan and Krishnan [1997] ). On mesure la vraisemblance que le jeu de donnes X soit issu de la mixture e dont les param`tres ont t estims ` une certaine itration. Cette vraisemblance e ee e a e est :
k=K

L({wk , k }k{1,...,K} |X ) = i=N i=1

k=1

(wi,k P r[xi |k ])

(11.8)

Cette quantit mesure la qualit de la segmentation et augmente ` chaque e e a

11.2. SEGMENTATION NON HIERARCHIQUE

141

itration de EM. Au bout dun certain nombre ditrations, cette vraisemblance e e ne varie presque plus ; on arrte alors les itrations. e e Notons que dans les faits, on calcule le logarithme de la vraisemblance ; en eet, les probabilits intervenant dans son calcul sont gnralement tr`s petites e e e e et leur produit encore plus petit. Travailler avec des logarithmes amoindrit ce probl`me de petits nombres. On a donc la log-vraisemblance dnie par : e e
i=N k=K

log (L) =
i=1

log (
k=1

wi,k P (xi |k ))

(11.9)

Pour diminuer le probl`me de convergence vers un optimum local, on peut e relancer EM plusieurs fois avec des valeurs initiales des param`tres direntes e e puis utiliser la log-vraisemblance pour choisir le meilleur optimum : cest celui pour lequel cette quantit est la plus grande. e On peut utiliser cette technique pour dterminer le nombre de groupes K. e On excute EM avec des valeurs de K croissantes et on sarrte lorsque la loge e vraisemblance ne varie plus signicativement entre deux valeurs de K successives (cf. lalgorithme des centres mobiles, section 11.2.2). Plus prcisment, EM peut sexprimer comme indiqu par lalgorithme 13 e e e dans le cas dune mixture de deux distributions de probabilits normales. e Si les donnes sont dcrites par plusieurs attributs, on peut tendre aisment e e e e EM. Si les attributs sont indpendants entre-eux, on peut multiplier les probe abilits concernant chacun des attributs comme dans le cas du raisonnement e baysien na Sinon, on utilise la covariance entre les attributs. e f. Pour les attributs nominaux (par exemple, un attribut qui peut prendre valeurs direntes), on dnit nombres, chacun associ ` lune des valeurs e e e a possibles de lattribut. Chaque nombre reprsente la probabilit que lattribut e e prenne cette valeur particuli`re. Sil y a K groupes, on dnit en fait K e e nombres, chacun tant la probabilit que lattribut ait cette valeur sil appartient e e a ` ce groupe. ` A moins den savoir plus sur la distribution de leurs valeurs, pour les attributs numriques : e si sa valeur nest pas borne, on utilise une loi de distribution de probabilit e e normale (comme vu plus haut) ; si sa valeur poss`de une borne infrieure, on utilise une loi gaussienne e e log-normale (cf. g. 11.5) : pour x > 0 (i.e., la borne infrieure est 0), e P r[x] = x 2 1 e
(ln x)2 2 2

dx

si sa valeur est comprise dans lintervalle [xmin , xmax ], on utilise une loi gaussienne log-odds :
(ln ( )) xmax x 1 2 2 P r[x] = e dx 2 xxmin 2

142

CHAPITRE 11. SEGMENTATION

Algorithme 13 Algorithme EM pour dterminer les param`tres dune mixture e e de K distributions. Voir le texte pour les notations et pour les formules de calcul pour des distributions gaussiennes. Ncessite: 2 param`tres : le jeu de donnes X , une mixture de param`tres e e e e k,k{1,...,K} initialiser, ventuellement alatoirement, les param`tres de la mixture : les k e e e et les wk Lnew rpter e e L Lnew pour k {1, ...K} faire pour i {1, ...N } faire estimer wi,k : la probabilit pour xi dappartenir ` la distribution k : e a wi,k = P r[Gk |xi ] ` laide de la formule dcrivant la distribution du a e groupe Gk . n pour i=N wk i=1 wi,k n pour pour k {1, ...K} faire calculer k n pour Lnew log-vraisemblance jusque |L Lnew | < seuil

0.7 dzeta = 0 dzeta = 1 dzeta = 2 0.6

0.5

0.4

0.3

0.2

0.1

0 0 2 4 6 8 10

Figure 11.5 Exemple de distribution log-normale pour = 0, = 1 et = 2 : quand augmente, la distribution saplatit. Lcart-type est pris gal ` 1 dans e e a les 3 cas.

11.2. SEGMENTATION NON HIERARCHIQUE

143

si sa valeur est enti`re, on utilise une loi de Poisson : e P r[x] = x e x!

pour x N. La moyenne et la variance dune loi de Poisson sont toutes deux gales ` . Rappelons quune loi de Poisson tend vers une loi normale e a de variable centre rduite X quand tend vers linni. e e Illustration du fonctionnement dEM Voir la gure 11.6. Comparaison exprimentale dEM et centres mobiles e On reprend le mme exemple que pour les centres mobiles : le jeu de donnes e e est constitu de 1000 points tirs au hasard dans le plan selon une mixture de e e 5 distributions normales qui-probables dont les param`tres sont donns dans e e e la table 11.1. Les rsultats sont donns dans cette mme table. On observe la e e e qualit de lestimation ; la log-vraisemblance obtenue vaut 3, 02. e EM et la classication On peut utiliser EM dans le cadre de lapprentissage semi-supervis (cf. chap. e 10). EM permet destimer la valeur la plus probable de variables caches. On e peut considrer que la classe de donnes non tiquetes est une variable cache. e e e e e Supposons que les donnes soient des textes. Les exemples sont classs par e e catgories. Un classeur de Bayes na peut tre utilis pour estimer initialement e f e e P r[yj |xi ] (cf. chap. 4). Avec ce mod`le, on peut estimer P r[yj |di ] pour chaque e donne di et pour chaque classe yj (phase E dEM). On peut alors associer la e classe MAP ` chaque donne (phase M dEM). Il reste ` itrer le processus. a e a e Cette approche a t dcrite et exprimente par Nigam and Ghani [2000]. ee e e e

11.2.5

Autres algorithmes hirarchique e

de

segmentation

non

Les algorithmes de segmentation non hirarchiques sont tr`s nombreux. On e e en cite et discute bri`vement quelques-uns ici. e autoclass autoclass est une extension tr`s enrichie dEM : autoclass teste plusieurs e nombre de segments (valeur de K), teste plusieurs initialisations des param`tres, e prend en charge des attributs nominaux. autoclass ne sapplique quau cas o` u chaque donne est aecte ` un et un seul segment [Cheeseman and Stutz, 1996]. e e a

144

CHAPITRE 11. SEGMENTATION

Figure 11.6 Ces quatre schmas illustrent graphiquement le fonctionnement e dEM. On suppose travailler sur une mixture de 3 gaussiennes en 2 dimensions. Pour 4 itrations de lalgorithme (en haut ` gauche : linitialisation, en haut e a a ` droite : apr`s une itration ; en bas ` gauche : apr`s trois itrations ; en bas e e a e e a ` droite : apr`s 20 itrations et convergence), on indique par des ellipses les e e distributions normales estimes (une couleur pour chacune : pour chacune des e 3 distributions, lellipse est centre sur la moyenne estime et ses petit et grand e e axes indiquent 2 cart-types) et, pour chaque donne, un camembert indiquant e e la probabilit estime quelle soit issue de chacune des 3 distributions. Au fur et e e a ` mesure des itrations, on voit les distributions se sparer et les camemberts e e devenir monochrome, signe que lestimation dappartenance de chaque donne e devient de plus en plus certaine.

11.2. SEGMENTATION NON HIERARCHIQUE

145

Segmentation spectrale Jusqu` maintenant (depuis le dbut de ces notes de cours), on a toujours a e considr que les donnes sont reprsentes par les valeurs de leurs attributs. ee e e e Cest loin dtre la seule possibilit. Considrons le jeu de donnes reprsent ` la e e e e e ea g. 11.7(b), les couleurs indiquant les groupes. Pour nous humains, ces groupes sont naturels car chacun constitu de points ` la suite des uns des autres, formant e a ces vermicelles. Si on reprsente chacun des points par ses coordonnes dans le e e plan, les algorithmes que nous avons vus jusqu` maintenant sont incapables de a reconstruire ces groupes, qui nous semblent si naturels. Remarque
Avant de lire la suite, rchissez aux rsultats que produiraient les algorithmes de sege e e mentation que nous avons rencontrs jusqu` maintenant en supposant que les points sont e a reprsents par leurs coordonnes dans le plan. e e e

Les groupes que nous voulons exhiber tant forms de points qui, pris par e e paires adquates, sont tr`s proches les uns des autres (remarquez bien que deux e e points quelconques dun mme vermicelle peuvent tre tr`s loigns). Donc, une e e e e e ide qui est tentante est de reprsenter chaque point par la distance entre lui et e e les autres points et dutiliser ensuite une mthode capable de trouver les points e qui sont relis de proche en proche. De mani`re rciproque, on peut aussi utiliser e e e non pas la distance entre deux points, mais un indice de proximit (linverse la e distance par exemple) ; en particulier, on peut utiliser une fonction ` base radiale a (cf. 5.2.1) par exemple. Rappelons quavec ce genre de fonction noyau, d`s que e deux points sont relativement loigns, leur proximit est tr`s proche de 0 du fait e e e e de la dcroissance exponentielle. Donc, quand deux points sont un peu loign, e e e leur proximit est tellement petite que lon peut la considrer comme nulle. e e Poursuivons notre rexion sur cette voie : on construit donc une e reprsentation matricielle dont llment (i, j) est la distance entre la donne xi e ee e et la donne xj . Supposons maintenant que par un heureux hasard, les lments e ee dindice infrieur ` une certaine valeur ib appartiennent tous au vermicelle bleu e a fonc, les lments dindice compris entre ib et iv soient ceux du vermicelle vert, e ee ceux compris entre iv et ir soient ceux du vermicelle rose, ceux compris entre ir et io soient ceux du vermicelle rouge et ceux dindice suprieur ` io soient ceux e a du vermicelle bleu clair. Remarque
Ici, il est bon dessayer de voir ` quoi ressemble cette matrice avant de lire la suite. a

Cet heureux hasard fait que si on consid`re les ib premi`res lignes, les ib e e premi`res colonnes seront non nulles et toutes les autres colonnes seront nulles, e car correspondant ` des points loigns de tout point du vermicelle bleu, de a e e mme pour tous les groupes de lignes suivant correspondants aux dirents e e

146

CHAPITRE 11. SEGMENTATION

vermicelles. La matrice va donc avoir la structure suivante : des blocs carrs de e valeurs non nulles situs sur la diagonale principale, des 0 ailleurs. Chaque bloc e correspond ` un groupe. a Dans la ralit, on ne peut pas compter sur le hasard : les valeurs nulles et e e les valeurs non nulles sont mlanges ; seulement, on sait que si les points taient e e e adquatement ordonns, la matrice aurait cette structure et, d`s lors, il serait e e e tr`s simple dextraire les groupes. e Par chance, il existe une opration mathmatique qui permet dextraire cette e e information : la dcomposition spectrale, cest-`-dire, le calcul des vecteurs e a 2 propres. Lide de la segmentation spectrale est exactement celle-l` : cone a struire une matrice de dissimilarit du jeu de donnes puis en eectuer une e e dcomposition spectrale. e Ces mthodes proviennent de deux sources : e 1. approche de Spielman and Teng [1996] : on voit les points comme les nuds dun graphe et les tiquettes des arcs reprsentent la similarit entre les e e e nuds ` chaque bout. La segmentation en deux groupes se ram`ne ` un a e a probl`me de partionnement de ce graphe, probl`me bien connu dans le e e champ de loptimisation combinatoire (cf. lannexe C). On a montr que e le deuxi`me vecteur propre fournit une approximation de qualit garantie e e de la coupe optimale. Pour obtenir une K-partition, on peut soit rpter e e rcursivement, soit utiliser les K vecteurs propres principaux (Malik et al. e [2001]). Cette seconde solution a t montre exprimentalement comme ee e e tant meilleure que la premi`re. Lalgorithme dcrit ici suit cette ide. e e e e 2. approche de Perona and Freeman [1998] : on cherche le vecteur p tel que N 2 u e i,j=1 (Ai,j pi pj ) soit minimal o` A est une matrice danit (ou matrice de similarit : Ai,j indique la similarit entre les points i et j ; A e e est symtrique et Ai,i = 0). A tant symtrique (A = AT )), on sait que e e e p = 1 . 1 Notons que Weiss [1999] a synthtis direntes approches et tent dexplie e e e quer pourquoi elles fonctionnent. Lalgorithme propos par Bolla [1991], repris par Ng et al. [2002], est donn e e en 14. Une illustration graphique de son utilisation est donne ` la gure 11.7. e a Critiques : + rsultats assez impressionnants ; e o/- pas de mesure de la qualit de la segmentation obtenue : on voit que e le rsultat obtenu est bon ; de-l` ` le mesurer automatiquement... e aa - numriquement lourd : extraction de vecteurs propres ce qui limite la taille e du jeu de donnes ; e - dans lalgorithme de Ng, Jordan et Weiss, pas de possibilit de classer de e nouveaux points une fois la segmentation eectue. e
2. spectral clustering en anglais.

11.2. SEGMENTATION NON HIERARCHIQUE

147

Algorithme 14 Un algorithme de segmentation spectrale, lalgorithme de Bolla [1991], Ng et al. [2002]. On dispose de N points nots xi ` regrouper en K e a groupes. Ncessite: 2 param`tres : le jeu de donnes X , le nombre de groupes ` cone e e a stituer k N 2
||xi xj ||

construire la matrice de Gram : G = (gi,j = e 22 pour i = j, 0 sinon) : G est une matrice de similarit utilisant le noyau gaussien e j=N construire H, une matrice diagonale telle que hi,i = j=1 gi,j ; hi,i est donc la somme des similarits entre xi et les autres points e 1/2 calculer L = H GH 1/2 : on obtient pour i = j : li,j = ( gi,j gi,k )( gj,k )

et une diagonale nulle calculer les K premi`res vecteurs propres de L (associs aux K plus grandes e e valeurs propres) construire la matrice E dont la ie colonne est le ie vecteur propre (ordonns e par valeur propre associe dcroissante) e e E construire la matrice F en normant les lignes de E, soit : Fi,j = i,j 2
l

Ei,l

considrer chaque ligne de F comme un point et excuter les centres mobiles e e sur ces points pour obtenir K groupes aecter le point xi au groupe j si et seulement si la ligne i de la matrice F est aecte au groupe j e

1.8 4 1.6

1.4

1.2 0 1

-2

0.8

0.6 -4 0.4

-6 -6 -4 -2 0 2 4 6

0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

(a) anneaux concentriques.

(b) vermicelles.

` Figure 11.7 Illustration des rsultats de la segmentation spectrale. A gauche, e 3 anneaux concentriques ; ` droite : 5 formes vermicelliques. Les couleurs ina diquent les regroupemets constitus par lalgorithme. e

148

CHAPITRE 11. SEGMENTATION

Algorithmes de projection Une autre approche, complmentaire, est constitue des algorithmes de proe e jection. Du fait de son importance, elle fait lobjet du chap. 12.

11.3

Segmentation hirarchique e

En principe, il existe deux classes de mthodes de segmentation hirarchique : e e segmentation hirarchique ascendante qui part des N points comme N e groupes ` partir desquels on construit une partition ` N 1 classes par a a fusion de deux groupes, puis N 2 groupes par fusion de deux groupes, ... jusqu` avoir rassembl tous les points dans un seul groupe ; a e segmentation hirarchique descendante qui rassemble initialement les N e points dans un seul groupe ` partir duquel on construit 2 groupes, puis 3, a ... puis N . Les mthodes descendantes ne sont pas vraiment utilises dans la pratique. e e On se concentre donc sur lapproche ascendante dans la suite.

11.3.1

Mthode ascendante e

Donc, le principe dune mthode de segmentation hirarchique ascendante e e est le suivant : on part de N groupes, que lon rduit ` N 1, puis ` N 2, e a a ... On passe de k + 1 ` k groupes en regroupant deux groupes. On obtient ainsi a une hirarchie (ou arbre de segmentation : dendogramme ) dans lequel on e peut facilement retrouver k groupes en le coupant ` un certain niveau (cf. g. a 11.8). Le principe de lalgorithme est donn en 15. e Algorithme 15 Segmentation hirarchique e Ncessite: 1 param`tre : le jeu de donnes X e e e initialiser les N groupes ` raison dune donne par groupe : Gi xi a e marquer tous les Gi comme prenable pour d de N + 1 ` 2N 1 faire a chercher les deux groupes prenables ` fusionner : Gi et Gj a les fusionner : Gd Gi Gj marquer Gi et Gj comme non prenable marquer Gd comme prenable n pour Reste ` expliciter comment on dtermine les deux groupes ` fusionner. Intua e a itivement, on veut fusionner les groupes dont les lments sont les plus ressemee blants. Donc, on utilise a nouveau une notion de dissimilarit entre donnes et ` e e entre groupes.

11.3. SEGMENTATION HIERARCHIQUE

149

x 1

x 2

x 3

x 4

x 5

x 6

x 7

Figure 11.8 Illustration graphique de la mthode pour passer dun dendoe gramme ` une segmentation. On suppose avoir 7 donnes, les points notes x1 a e e a ` 7 . Lalgorithme construit la hirarchie indique avec des couleurs : dabord, e e on regroupe x1 et x4 , puis ce groupe avec x6 , ... Lordre dans lequel sont faits les regroupements est indiqu par laltitude au-dessus des points. Pour aider e a ` les distinguer, on a utilis une couleur dirente pour chaque nouveau ree e groupement : dabord noir, puis bleu, vert, rouge, jaune et magenta. Une fois obtenue cette hirarchie, on peut obtenir une segmentation en 4 groupes en e dcoupant larbre l` o` il y a quatre branches verticales (dcoupage selon e a u e les pointills). Les 4 morceaux qui tombent constituent les 4 groupes, soit : x5 e seul, x3 seul, un groupe compos de x2 et x7 et un groupe compos des donnes e e e restantes.

150

CHAPITRE 11. SEGMENTATION


G2 G1

G3

Figure 11.9 Une illustration des notions de 3 sauts dnis dans le texte. e On consid`re que lon a trois groupes G1 , G2 et G3 , chacun reprsent par une e e e ellipse. Le saut minimal (en vert) regroupe les groupes G1 et G2 , le saut maximal (en rouge) regroupe G1 et G3 et le saut moyen (en bleu) regroupe G2 et G3 . Le schma est fait de telle mani`re que le regroupement soit dirent dans chacun e e e des cas de saut ; ceci nest pas obligatoire. (Le schma a t fait de mani`re e ee e ` approximative pour illustrer les 3 notions de saut, rien de plus.) A lil, quels groupes seront regroups si lon applique la mthode de Ward ? e e Direntes approches sont possibles (cf. g. 11.9) : e saut minimal : on fusionne les deux groupes entre lesquels la plus petite dissimilarit est minimale ; e saut maximal : on fusionne les deux groupes entre lesquels la plus grande dissimilarit est la plus petite ; e saut moyen : on fusionne les deux groupes entre lesquels la dissimilarit e moyenne (donc, la dissimilarit entre leurs centres de gravit) est la plus e e petite ; mthode de Ward : on fusionne les deux groupes pour lesquels la perte e dinertie interclasse est la plus faible. De cette mani`re, on eectue la e fusion qui entra la plus faible htrognit. ne ee e e e La mthode de Ward e Dans la mthode de Ward, la perte dinertie due ` la fusion de deux groupes e a Gi et Gj est : Gi ,Gj = wi wj d2 (gi , gj ) wi + wi (11.10)

o` wi et wj sont respectivement la proportion de donnes s dans le groupe u e Gi ( |Gi | ) et dans le groupe Gj et gi (resp. gj ) est le centre de gravit de Gi e N (resp. Gj ). On peut utiliser cette quantit en guise de dissimilarit entre deux e e groupes. Quand on a fusionn deux groupes Gi et Gj , la dissimilarit entre ce ree e groupement et un autre groupe Gk peut se calculer par lquation suivante : e

11.4. APPLICATION AU JEU DE DONNEES

IRIS

151

Gk ,Gi Gj =

(wi + wk ) Gi ,Gk + (wj + wk ) Gj ,Gk wk Gi ,Gj wi + wj + wk

(11.11)

En utilisant cette distance, dans lalgorithme 15 de segmentation hirarchique, on obtient lalgorithme de Ward . e Complexit temporelle et critique e Telle que la mthode de segmentation hirarchique a t dcrite ici, sa come e ee e plexit temporelle est O(N 3 ) : cest norme. Aussi, cette mthode qui donne des e e e rsultats tr`s statisfaisants ne peut-elle pas tre employe d`s que le nombre de e e e e e donnes est un peu important. e Illustration de la segmentation hirarchique e On a repris lexemple des 5 groupes de points utiliss plus avec lalgorithme e des centres mobiles puis EM (cf. table 11.1 et g. 11.2). On a eectu une segmentation hirarchique ascendante sur ce jeu de donnes e e e en utilisant le saut moyen pour dcider des groupes ` regrouper ` chaque tape. e a a e Du dendogramme obtenu a t dduit 5 groupes. On obtient exactement les ee e groupes attendus, les mmes que ceux obtenus par les centres mobiles (cf. 11.4). e

11.4

Application au jeu de donnes e

iris

On applique les dirents algorithmes au jeu de donnes iris . Les donnes e e e y tant regroupes par classe, lattribut de classe est omis ; chaque donne est e e e donc un quadruplet, la classe permettant de voir si lalgorithme eectue une segmentation compatible des donnes avec leur classe connue. e

11.4.1

Les centres mobiles sur les

iris

Segmentation en 3 groupes La distance entre deux donnes est la distance euclidienne. e On eectue 10 excutions des centres mobiles et on retient la segmentation e produisant linertie minimale intraclasse. On obtient en fait des segmentations direntes ayant mme inertie intrae e classe (88, 13). Par exemple, on a obtenu ces deux matrices de confusion : eectif 60 51 39 setosa 0 98 0 versicolor 76 1 7 virginica 23 0 92

groupe 0 groupe 1 groupe 2

152

CHAPITRE 11. SEGMENTATION

220 200 180 160 Inertie intraclasse 140 120 100 80 60 40 20 2 4 6 Nombre de segments 8 10

Figure 11.10 Inertie intraclasse de la segmentation construite par les centres mobiles pour direntes valeurs de K, sur le jeu de donnes iris . e e

et eectif 58 50 42 setosa 0 100 0 versicolor 79 0 9 virginica 20 0 90

groupe 0 groupe 1 groupe 2

Lecture de ces matrices de confusion : chaque valeur indique la proportion de donnes dune certaine classe qui a t mise dans un groupe donn. Par e ee e exemple, dans la premi`re matrice, la valeur 76 indique que 76 % des exemples e de la classe versicolor sont regroups dans le groupe 1. e Chaque ligne fait 100 % aux erreurs darrondi pr`s. e La colonne eectif indique le nombre dexemples appartenant aux groupes. Dans les deux cas, les groupes sont assez quilibrs (cf. les eectifs). On e e constate que les groupes correspondent assez bien aux classes. En particulier, les setosa sont tous regroups dans un seul groupe dans les deux cas ; cela nest e pas pour nous tonner cette classe tant linairement sparable et loigne des e e e e e e deux autres. Dtermination du nombre de groupes e On veut maintenant dterminer le nombre de groupe optimal. Pour cela, on e eectue 10 excutions des centres pour les valeurs de K comprises entre 2 et e 10. La gure 11.10 illustre le rsultat. On note que linexion se produit vers e K = 3, K = 4. Du fait de ce rsultant hsitant, on eectue une segmentation en 4 groupes e e par les centres mobiles. Comme prcdemment, on construit 10 segmentations e e et on conserve celle dont linertie intraclasse est minimale. La matrice de confusion est la suivante :

11.4. APPLICATION AU JEU DE DONNEES

IRIS

153

3.5

3.5

2.5

2.5

1.5

1.5

0.5

0.5

-0.5 0 1 2 3 4 5 6 7 8

-0.5 0 1 2 3 4 5 6 7 8

(a) 3 segments.

(b) 4 segments.

Figure 11.11 On a reprsent les segmentations construites par les centres e e mobiles : ` gauche, en 3 segments, ` droite, en 4 segments. Les couleurs indiquent a a les groupes construits par lalgorithme. Les donnes sont reprsentes dans le e e e plan (longueur des ptales, largeur des ptales). e e

groupe groupe groupe groupe

0 1 2 3

eectif 28 19 53 50

setosa 0 0 0 100

versicolor 96 0 43 0

virginica 3 100 56 0

Les setosa constituent un groupe homog`ne qui les contient tous, ce qui nest e pas tonnant puisquil se distingue nettement des deux autres classes. e Les virginica sont dissmins entre 3 groupes, lun ne contenant que des e e virginica. Un groupe ne contient presque que des versicolor . Le dernier groupe (2) contient un mlange de versicolor et virginica : il correspond ` lintersection e a entre les deux classes. On retrouve ces interprtations sur la gure 11.11. e

11.4.2

EM sur les

iris

On applique EM ` la recherche dune mixture de 3 gaussiennes 4-D sur le a jeu de donnes iris . e Pour mmoire, rappelons les statistiques concernant ces 3 distributions e mesures sur le jeu de donnes : e e

classe setosa versicolor virginica

longueur des ptales e moyenne cart-type e 1, 46 0, 17 4, 26 0, 47 5, 55 0, 55

largeur des ptales e moyenne cart-type e 0, 24 0, 11 1, 33 0, 20 2, 03 0, 27

154

CHAPITRE 11. SEGMENTATION

Naturellement, le poids de chaque composante de la mixture est 1/3 puisquil y a autant de donnes dans chacune des 3 classes. e Les rsultats suivants ont t obtenus par EM : e ee groupe 0 1 2 poids 0, 30 0, 33 0, 36 longueur des ptales e moyenne cart-type e 4, 22 0, 47 1, 46 0, 17 5, 48 0, 57 largeur des ptales e moyenne cart-type e 1, 30 0, 19 0, 24 0, 11 1, 99 0, 29

La comparaison des deux tableaux indique que les setosa sont parfaitement retrouvs dans le groupe 1. Pour les deux autres groupes, les statistiques sont e tr`s proches. e Pour avoir plus de prcisions, on peut construire la matrice de confusion : e eectif 45 50 55 setosa 0 50 0 versicolor 43 0 7 virginica 2 0 48

groupe 0 groupe 1 groupe 2

dans laquelle toutes les valeurs sont des eectifs. Cette matrice ne fait que conrmer ce que lon avait interprt prcdemment. ee e e

11.4.3

Segmentation hirarchique des e

iris

La distance entre deux donnes est la distance euclidienne. e On applique lalgorithme de segmentation vu plus haut. Le dendogramme est ensuite cisaill pour fournir 3 segments. e La segmentation obtenue est reprsente ` la gure 11.12. e e a

11.5

Comparaison de deux segmentations

Dans cette section, on aborde la question de la comparaison de segmentations obtenues par deux algorithmes dirents. e On suppose disposer de deux segmentations S1 et S2 du jeu de donnes. S1 e partitionne le jeu de donnes en k1 groupes nots G1,i et S2 le partitionne en e e k2 groupes nots G2,j . e

11.5.1

Analyse de tableau de contingence

On note Ni,j le nombre de donnes qui appartiennent ` G1,i et ` G2,j , soit e a a Ni,j = |G1,i G2,j |. Ni,j mesure donc lintersection entre deux groupes de deux segmentations direntes, ou encore leur association . e

11.5. COMPARAISON DE DEUX SEGMENTATIONS

155

3.5

2.5

1.5

0.5

-0.5 0 1 2 3 4 5 6 7 8

Figure 11.12 On a reprsent la segmentation en 3 segments construite par e e lalgorithme de segmentation hirarchique. Les couleurs indiquent les groupes e construits par lalgorithme. Les donnes sont reprsentes dans le plan (longueur e e e des ptales, largeur des ptales). e e

Cet ensemble de nombres Ni,j remplit une matrice dnomme tableau de e e contingence . Notons bien que lon ne sintresse quaux eectifs de ces intersections, pas e a ` leur composition. Il y a alors deux approches pour tudier ce tableau : mesurer la signicativit e e statistique de lintersection entre deux groupes ; caractriser la force de cette e association quand elle est signicative. Signicativit dune association e La signicativit statistique dune association est mesure ` laide de la e e a 2 statistique du . ... Force dune association signicative On ne sintresse ici qu` des associations mesures comme signicatives par e a e la mthode prcdente. e e e Ayant tabli quune association est signicative, la valeur du 2 nest pas un e bon indicateur de sa force. La notion dentropie permet de quantier cette force en terme de mesure dinformation : quelle quantit dinformation est-elle gagne e e quand japprends quun point du groupe G1,i appartient au groupe G2,j ? ...

11.5.2

Autre approche

De nombreux indicateurs se basent sur le dcompte des paires de points qui e font, ou ne font pas, partie des mmes groupes dans les deux segmentations. e

156 (voir Meil [2002]). a ...

CHAPITRE 11. SEGMENTATION

11.6
` A complter e

Critique

Les mthodes de segmentation sont tr`s nombreuses ; les travaux de recherche e e sur le sujet sont actuellement tr`s nombreux. On consultera avec intrt Cane ee dillier [2004] et Berkhin [2002] pour un tour plus complet sur la question, sans prtendre ` lexhaustivit. e a e

11.7

Logiciels libres

weka contient des algorithmes de segmentation : k-moyennes, EM en particulier : http://www.cs.waikato.ac.nz/~ml autoclass : http://ic.arc.nasa.gov/ic/projects/bayes-group/ autoclass/ ; une applet Java illustrant EM : http://www.neurosci.aist.go.jp/ ~akaho/MixtureEM.html EMMIX : http://www.maths.uq.edu.au/~gjm/emmix/emmix.html ; crossbow : logiciel accompagnant rainbow ddi ` la segmentation de e e a textes http://www.cs.cmu.edu/~mccallum/bow ; cluster : construit une segmentation hirarchique. Je lai trouv sur e e la Toile un jour et je ne sais plus do` il vient. Il est accessiu ble via mes pages ` http://www.grappa.univ-lille3.fr/~ppreux/ a Documents/cluster-2.9.tgz.

11.8

Exercices

Exercice 24 Question 1 : Quel est le rsultat de lapplication de lalgorithme e des centres mobiles au jeu de donnes reprsent ` la g. g :3anneauxConcene e ea triques ? Question 2 : Ce rsultat vous para satisfaisant ? e t-il Question 3 : Si non, imaginez une reprsentation des donnes (simple) qui e e ferait que lapplication de lalgorithme des centres mobiles ` ce jeu de donnes a e produirait les 3 groupes attendus.

Chapitre 12

Mthodes de projection e
Contenu
12.1 Analyse en composantes principales . . . . . . . . 159 12.1.1 LAnalyse en Composantes Principales . . . . . . . . 159 12.1.2 Aspects pratiques . . . . . . . . . . . . . . . . . . . . 173 12.1.3 La (grande) famille des ACP . . . . . . . . . . . . . 175 12.1.4 ACP et textes : lindexation par la smantique latente176 e 12.1.5 Critique de lACP . . . . . . . . . . . . . . . . . . . 179 12.2 La mise ` lchelle multi-dimensionnelle . . . . . . a e 179 12.2.1 Mise a lchelle mtrique . . . . . . . . . . . . . . . . 182 ` e e 12.2.2 Mise a lchelle non mtrique . . . . . . . . . . . . . 183 ` e e 12.2.3 Diagnostic du rsultat dune MDS . . . . . . . . . . 183 e 12.2.4 Applications 12.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 184 185 . . . . . . . . . . . . . . . . . . . . . . 185 12.3 Rseaux de Kohonen . . . . . . . . . . . . . . . . . e

12.3.2 Algorithme dapprentissage . . . . . . . . . . . . . . 186 12.3.3 Droulement de lapprentissage . . . . . . . . . . . . 187 e 12.3.4 Exploitation dun apprentissage . . . . . . . . . . . . 188 12.3.5 Application des rseaux de Kohonen a des textes . . 188 e ` 12.3.6 Autres applications des rseaux de Kohonen . . . . . 193 e 12.3.7 Critique des cartes de Kohonen . . . . . . . . . . . . 193 12.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . 193 195 195 195 12.5 Les logiciels libres . . . . . . . . . . . . . . . . . . . 12.6 Rfrences . . . . . . . . . . . . . . . . . . . . . . . . ee 12.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . .

On peut voir une segmentation comme une projection dun ensemble de points sur un ensemble discret de valeurs, les classes. Plus gnralement, on va e e 157

158

CHAPITRE 12. METHODES DE PROJECTION

sintresser ici ` la projection dun ensemble de points dans un espace de plus e a petite dimension. On peut citer au moins trois objectifs dans cette dmarche : e le premier objectif est dobtenir une reprsentation que lhumain peut visue aliser graphiquement pour laider ` comprendre la structure de lensemble a de donnes ; la projection est alors eectue dans un plan ou sur une droite. e e Un deuxi`me objectif est de simplement diminuer le nombre dattributs e dcrivant les donnes : des donnes pouvant avoir des centaines, voire des e e e milliers ou plus dattributs, peuvent tre plus faciles ` manipuler si on les e a projette adquatement sur un plus petit nombre dattributs ; nanmoins, e e la question est de savoir comment ces attributs sont choisis, ou construits. Un troisi`me objectif est de dterminer la vraie dimension des donnes. e e e Par vraie dimension, nous adoptons un point de vue gomtrique et e e nous cherchons ` savoir comment les donnes sont situes les unes par a e e rapport aux autres dans RP . Quel que soit P , il est possible que les donnes e soient situes sur un (hyper-)plan, ou une (hyper-)sph`re, ou toute surface e e gomtrique plonge dans RP . Techniquement, cet objet se nomme une e e e varit . On est donc tr`s intress de dcouvrir cette varit qui rv`le ee e e e e ee e e une structuration dans les donnes. La gure 12.1 illustre lide 1 : les e e donnes sont supposes dcrites par un certain nombre dattributs, et elles e e e sont situes sur une structure en spirale : on dit alors que les donnes vivent e e sur cette spirale. Dans la suite, on va prsenter plusieurs e mthodes de projection de donnes. Cere e taines sont linaires : elles eectuent de e simples projections, rotations, homotthie ; e mathmatiquement, ces transformations se e formalisent sous forme dune matrice ; dautres sont non linaires et agissent e diremment dans direntes zones de RP . e e Nous traitons trois algorithmes : analyse en composantes principales, mise ` lchelle a e multi-dimensionnelle et rseau auto-organis e e de Kohonen. Concernant le vocabulaire, on parle aussi de mthode de rduction de dimension 2 . e e Figure 12.1
1. gure extraite de [Roweis and Saul, 2000]. 2. en anglais, on parle aussi dembedding et de manifold embedding, mais aussi de ordination en cologie. e

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

159

12.1 Analyse en posantes principales

com-

Lanalyse en composantes principales (ACP) est une mthode danalyse de donnes ancienne et tr`s utilise, tr`s e e e e e connue en statistique et dans les sciences exprimentales et, malheureusement, e a ` peu pr`s inconnue des tudiants en informatique ! e e On suppose disposer dun ensemble X de N donnes, chacune dcrites par e e P attributs. Si lon consid`re les donnes comme des points dans un espace euclidien e e a ` P dimensions, lobjectif de lACP est de construire lespace euclidien ` P a dimensions le plus caractristique et le plus conomique pour reprsenter ces e e e points. Lobjectif est donc de passer de lespace des donnes ` un espace de e a caractristiques ou espace factoriel. e Remarque
On peut prsenter lide autrement : supposons que lon doive transmettre les donnes mais e e e que pour chacune, on ne soit autoris a transmettre que K < P nombres. Comment faire pour e` transmettre les donnes au mieux ? Ne transmettre que les K premiers attributs de chaque e donne nest certainement pas une bonne ide. La bonne ide est de transformer lespace e e e des donnes initial en un espace de telle mani`re que chaque dimension soit caractrise e e e e par la proportion de linformation quelle contient. En respectant cet ordre, en transmettant les K premi`res coordonnes des donnes dans cet espace, la perte dinformation est garantie e e e minimale 3 . LACP est une mthode permettant de slectionner K coordonnes/attributs pour e e e reprsenter un jeu de donnes e e poursuivent cet objectif. au mieux . Toutes les mthodes vues dans ce chapitre e

On va donc transformer lespace initial (des donnes) dans un espace ` P die a mensions de mani`re ` ce que la variance observe dans chacune de ces nouvelles e a e dimensions soit dcroissante. e Dans le cadre de lACP, la transformation de lespace est linaire : chacune e des dimensions de lespace des caractristiques est une combinaison linaire des e e dimensions de lespace de donnes. Plus rcemment sont apparues de nouvelles e e techniques construisant lespace des caractristiques par des transformations e non linaires : analyse en composante curviligne, les rseaux de neurones non e e superviss, l ACP noyau (cf. chapitre 14). e

12.1.1

LAnalyse en Composantes Principales

Sil ny a que deux caract`res aj et ak , on trace le graphe donnant aj en e fonction de ak et lon voit immdiatement sil y a corrlation linaire ou non. e e e
3. Voir la transformation de Karhunen-Lo`ve en thorie de la communication laquelle est e e quivalente ` lACP. e a

160

CHAPITRE 12. METHODES DE PROJECTION

2 1 1

` Figure 12.2 A gauche, on indique deux points dans le plan. Au milieu, on a construit la droite 1 qui passe par lorigine et minimise la somme des distances ` au carr entre chaque point et elle (pointills ns). A droite, on a construit 2 , e e orthgonale ` 1 et qui minimise galement la somme des distances au carr ` a e ea chaque point. 1 et 2 passent par lorigine.

Sil y a plus de deux caract`res, cette approche gomtrique ne fonctionne plus, e e e tout simplement parce nous (humains) sommes incapables de comprendre un espace ` plus de 3 dimensions. Comme on sintresse typiquement ` plus de 10 a e a caract`res, nos capacits sont mises en dfaut. e e e Lide fondamentale de lACP est la suivante : considrant le nuage de N e e points en P dimensions (dans cet espace, 1 point = 1 individu), on cherche ` a trouver le plan (donc, une reprsentation bi-dimensionnelle que lon va pouvoir e voir et comprendre) dans lequel la projection des points du nuage est la moins dforme possible, donc la plus able possible. Pour cela, on commence par e e rechercher la droite 1 qui minimise la somme des distances au carr entre e chaque point et la droite (cf. g. 12.2). Cette droite a la proprit dtre la ee e direction selon laquelle la variance (ltalement) des points est la plus grande. e Puis, on cherche une deuxi`me droite 2 perpendiculaire ` 1 qui poss`de la e a e mme proprit ; et on continue jusqu` obtenir P droites qui forment un rep`re e ee a e orthogonal. Cest donc juste un probl`me de gomtrie. Notons que comme toute e e e mthode statistique, le nombre dindividus et le nombre dattributs doivent e tre relativement importants pour que les conclusions de lACP aient un sens ; e ainsi, il est bon que N > 15 et P > 4. Enn, lACP sapplique ` des donnes a e quantitatives. Dans la suite, en guise dexemple, on utilisera les donnes de la table 12.1. e Il dcrit 10 l`ves par certaines caractristiques physiques et leur note moyenne e ee e annuelle 4 .

4. cet exemple est totalement hypothtique. e

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

161

Table 12.1 Jeu de donnes utilis pour illustrer lACP. e e Individu Poids Taille Age Note 1 45 1, 5 13 14 2 50 1, 6 13 16 50 1, 65 13 15 3 4 60 1, 75 15 9 60 1, 7 14 10 5 6 60 1, 7 14 7 7 70 1, 6 14 8 8 65 1, 6 13 13 60 1, 55 15 17 9 10 65 1, 7 14 11

Distance entre les individus Abordant un probl`me de gomtrie, il nous faut commencer par dnir une e e e e notion de distance entre deux individus. Sinspirant de la gomtrie euclidienne, e e on pourrait crire : e
k=P

d (xi , xj ) =
k=1

(xi,k xj,k )2 De limportance de centrer et rduire les ate tributs

Considrons les individus x4 , x5 et x6 . On a : d2 (x4 , x5 ) = 2, 0, d2 (x4 , x6 ) = e 2 5, 0, d (x5 , x6 ) = 9, 0. Si lon exprime maintenant les tailles en centim`tres, les e distances deviennent : d2 (x4 , x5 ) = 27, d2 (x4 , x6 ) = 30, d2 (x5 , x6 ) = 9. On constate que selon lunit utilise, lindividu 6 est plus proche du 4e ou du 5e ! e e Pour viter ce probl`me de dpendance par rapport aux units utilises, e e e e e il sut dutiliser des variables centres rduites. Dans ce cas, on obtient e e 2 2 2 d (x4 , x5 ) = 2, 3, d (x4 , x6 ) = 2, 6, d (x5 , x6 ) = 0, 8 quelles que soient les units e utilises. Dans la suite, on consid`re que les donnes sont centres et rduites. e e e e e Notons que la dnition de distance donne ci-dessus ncessite et signie que e e e tous les attributs ont la mme importance dans la mesure de distance. On peut e vouloir pondrer les attributs pour quils aient plus ou moins dimportance avec e une formule du type :
k=P

d2 (xi , xj ) =
k=1

wk (xi,k xj,k )2

o` des poids wk R pond`re chaque composante de la distance pour chacun u e des attributs. Si tous les attributs ont la mme importance, on prend des wk e tous gaux. e

162

CHAPITRE 12. METHODES DE PROJECTION

Table 12.2 Caractristiques du centre de gravit pour le jeu de donnes de e e e la table 12.1. Poids Taille Age Note Moyenne (g) 58, 5 1, 64 13, 8 12, 0 Ecart-type 7, 84 0, 08 0, 79 3, 50

Table 12.3 Jeu de donnes de la table 12.1 e Individu Poids Taille Age 1 1, 72 1, 72 1, 01 2 1, 09 0, 45 1, 01 1, 09 0, 19 1, 01 3 4 0, 19 1, 47 1, 52 0, 19 0, 83 0, 25 5 6 0, 19 0, 83 0, 25 7 1, 47 0, 45 0, 25 0, 83 0, 45 1, 01 8 9 0, 19 1, 09 1, 52 10 0, 83 0, 83 0, 25

centres rduites. e e Note 0, 57 1, 14 0, 86 0, 86 0, 57 1, 43 1, 14 0, 29 1, 43 0, 29

On suppose ici que tous les attributs ont la mme importance et que wk = e 1, k. Remarque
Le lecteur curieux pourra adapter la suite dcrivant lACP au cas gnral o` les poids ne sont e e e u pas tous gaux. e

On utilise la notion de centre de gravit introduite plus haut (cf. chap. e 11, sec. 11.2). On dtermine les coordonnes centres et rduites de chaque individu dans e e e e un nouveau rep`re dont lorigine est le centre de gravit et dont les axes sont e e parall`les aux axes originaux (celui des donnes non centres rduites) : cf. table e e e e 12.3. Prsentation informelle des ACP e Quand on projette un ensemble de points dans un espace ayant moins de dimensions, la distance entre les points ne peut que diminuer (et en gnral, elle e e diminue eectivement). Pour trouver le meilleur plan de projection, on cherche le plan dans lequel la distance entre les points projets demeurent, en moyenne, e maximale. Ce plan est quali de principal . Plus gnralement, on dnit e e e e P droites orthogonales les unes aux autres qui permettent de dnir un rep`re e e

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

163

orthonorm. Ces P droites sont les P e axes principaux dun rep`re dans e lequel sont situs les individus de mani`re ` les dcrire de la faon la plus e e a e c concise : lobjectif est que les coordonnes dun individu (en moyenne) soient e la plupart presque nulle et que seules quelques coordonnes aient une valeur e importante. Les coordonnes dun individu dans ce nouveau rep`re sexpriment e e par rapport ` de nouveaux caract`res appels ses a e e composantes principales . Notons zj{1,...P } les composantes principales, zi,j dnotant le j e caract`re e e principal de lindividu i. On a naturellement une relation reliant les attributs originaux aux attributs synthtiques : zj = uj,1 a1 + uj,2 a2 + ... + uj,P aP . Les e coecients (uj,1 , uj,2 , ..., uj,P ) forment le j e facteur principal . La meilleure reprsentation des donnes au moyen de q < P caract`res sobtient en ne prenant e e e en compte que les q premi`res composantes principales. e LACP est une mthode factorielle car elle construit de nouveaux caract`res e e par combinaison des caract`res initiaux. Cest une mthode linaire car cette e e e combinaison est linaire. e Reste ` savoir construire ces nouveaux caract`res... a e Mthode ACP e Dans tout ce qui suit, on suppose que lon a centr et rduit les donnes, e e e soit aj = 0 et (aj ) = 1, j {1, ...P }. Cette hypoth`se simplie les calculs et e les notations. Les N individus dcrits par leurs P caract`res peuvent tre mis sous forme e e e dune matrice ayant N lignes et P colonnes : 1 ligne dcrit un individu et chaque e colonne correspond ` un attribut. Notons cette matrice X. a La matrice de corrlation On dnit la matrice de variance V comme suit : e e

var(a1 ) covar(a2 , a1 ) V = covar(a3 , a1 ) . . . covar(aP , a1 )

covar(a1 , a3 ) covar(a2 , a3 ) .. . covar(a3 , a2 ) . . . . . . . . covar(aP , a2 ) .

covar(a1 , a2 ) var(a2 )

... ... .. . . .

covar(a1 , aP ) covar(a2 , aP ) . . . . . . var(aP )

(12.1) et la matrice de corrlation R : e R= 1 r(a1 , a2 ) r(a1 , a3 ) ... r(a1 , aP ) 1 r(a2 , a3 ) ... r(a2 , aP ) . .. . . . 1 (12.2)

164

CHAPITRE 12. METHODES DE PROJECTION

qui est symtrique puisque r(aj , ak ) = r(ak , aj ) (le triangle infrieur gauche e e na pas t indiqu). ee e Pour des caract`res centrs et rduits, ces deux matrices sont gale : R = V. e e e e On a la relation : R = N 1 XT X o` la notation XT dnote la transpose de u e e 1 la matrice X. Lexamen de la matrice de corrlation est intressant : elle permet de reprer e e e immdiatement les caract`res fortement corrls et les caract`res qui ne sont pas e e ee e du tout corrls. ee Analyse de la matrice de corrlation Le calcul des valeurs propres et e des vecteurs propres de R fournit alors toutes les informations recherches. e Notons i{1,...P } les P valeurs propres de R ordonnes de mani`re dcroissante : e e e 1 2 ... P , et leurs P vecteurs propres associs V i{1,...P } 5 . R tant e e 6 par nature symtrique et dnie positive , ses valeurs propres sont relles et e e e positives et ses vecteurs propres ont des coordonnes relles. Sil existe une, ou e e des, valeurs propres nulles, cela signie que les attributs ne sont pas linairement e indpendants les uns des autres : un, ou plusieurs, attributs sont obtenus par e combinaison linaire des autres. On suppose dans la suite que toutes les valeurs e propres sont non nulles. Ces vecteurs propres sont unitaires et orthogonaux deux ` deux. Ils forment a donc une base orthonorme. Ce sont les axes principaux recherchs ; de plus, e e laxe principal est celui associ ` la valeur propre la plus grande, ... ; donc, les ea q axes principaux sont les droites dont les vecteurs unitaires sont les vecteurs propres associs aux q valeurs propres les plus grandes et passant par g. e On obtient alors les coordonnes principales des individus en les projee tant dans cet espace, cest-`-dire en faisant le produit scalaire des coordonnes a e (centres rduites) dun individu par chacun des P vecteurs propres. e e En prenant q = 2, on peut reprsenter les N individus dans le plan principal. e La rpartition des individus dans le plan principal doit tre ralise et tudier. e e e e e La prsence de formes particuli`res rguli`res (droite, courbe, regroupement par e e e e paquets, ...) est une information digne dintrt. Le probl`me est de savoir si la ee e reprsentation dans le plan principal est d`le au nuage de points initial. Nous e e abordons ce point ci-dessous. Remarque
Quelques mots dexplication sur ce calcul de vecteurs et valeurs propres de la matrice de corrlation. e Que cherche-t-on ? Les directions de plus grand allongement du nuage de points, ces directions devant tre orthogonales pour obtenir une base orthogonale. e 5. Le calcul des vecteurs propres et des valeurs propres est suppos connu : cf. cours de e DEUG. On rappelle que si est une valeur propre et V son vecteur propre associ, on a e R V = V . Des logiciels libres calculent valeurs et vecteurs propres (voir par exemple le langage R) 6. R > 0, v v v

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

165

Comment dtermine-t-on lallongement selon une certaine direction du nuage de e v points ? Par la variance selon cette direction qui sobtient simplement par T R . v v Comment obtient-on la direction de plus grand allongement ? On cherche donc le vecteur qui maximise cet allongement, i.e. le vecteur qui annule la drive de cette allongement. v e e v v un vecteur de norme 1 qui annule d T R . Le calcul direct Soit donc, on cherche v d v de cette drive ne donnant rien dintressant, le truc consiste a calculer la drive de cette e e e ` e e vaut 1 (par hypoth`se) ; cette norme vaut mme quantit divise par 1 ; la norme de v e e e e T d R v v T v v . Pour que cette drive soit nulle, T . Donc, on sintresse au qui annule e v v v e e d v T R ) = . Donc, doit tre un vecteur propre de R on obtient la relation R = ( v v v v v v e associ ` la valeur propre . Dautre part, puisque lon cherche la direction associe a la plus ea e ` grande variance (soit T R maximal), on doit sintresser au vecteur propre associ ` la v v e e a plus grande valeur propre. Plus gnralement, lensemble des vecteurs propres ordonns selon e e e leurs valeurs propres associes dcroissantes fournira lensemble des directions correspondant e e aux allongements dans lordre dcroissant du nuage de points. La matrice R tant symtrique e e e et dnie positive, on sait quelle ne poss`de que des valeurs propres relles et positives ou e e e nulles. De plus, on sait que ces vecteurs propres forment une base orthonorme. e

Avant cela, lordre de grandeur des valeurs propres les unes par rapport aux autres indique leur importance. Si quelques valeurs propres ont des valeurs bien plus importantes que les autres, cela signie que lessentiel des informations est donn par ces axes principaux et que les autres axes donnent peu dinformation. e Au contraire, si toutes les valeurs propres ont sensiblement la mme valeur, alors e aucun axe principal ne peut tre laiss de ct. Voulant extraire de linformae e oe tion, la situation idale est, bien entendu, lorsque 1 ou 2 valeurs propres sont e tr`s importantes par rapport aux autres. Remarquant que i{1,...P } i = P , e limportance dune valeur propre par rapport aux autres est bien mesure par e son inertie : Ii = i P (12.3)

i est la variance le long de laxe principal port par le vecteur propre Vi , e donc la variance de la composante principale zi . Notons que lon a (thor`me spectral) : e e
i=P

R=
i=1

T i Vi Vi

Remarquons aussi que la matrice de covariance des donnes dans lespace e principal est diagonale : ainsi, par une ACP, on obtient une reprsentation e dans un espace de donnes dans lequel les composantes sont non corrles e ee linairement. Cest une proprit tr`s intressante : dune mani`re gnrale, e ee e e e e e certains des algorithmes dapprentissage que nous verrons par la suite fonctionnent mieux si les donnes ont leurs composantes non corrles entre-elles. Aussi, e ee une ACP peut-elle constituer un prtraitement intressant. e e

166

CHAPITRE 12. METHODES DE PROJECTION

Donc, sachant que la projection dans le plan principal dforme la ralit e e e en raccourcissant les distances (la rpartition des individus dans lespace de e dpart), il faut pouvoir estimer cette dformation. Pour cela, lhabitude veut e e que lon calcule le cosinus de langle form par la demi-droite allant de lorigine e au point initial et la demi-droite allant de lorigine ` la projection du point a dans lespace principal, soit un axe, soit un plan. On notera i{1,...N },j{1,...P } langle entre la demi-droite passant par lorigine et le point initial xi et laxe principal j ; on notera i{1,...N },j{1,...P }k{1,...P } langle entre la demi-droite passant par lorigine et le plan form par les axes principaux j et k. Le cosinus e carr de ces angles est : e cos2 i{1,...N },j{1,...P } =
2 zi,j j{1,...P }

Mesure de la dforma e du nuage due ` la pro a tion dans lespace pr pal

x2 i,j

(12.4)

cos2 i{1,...N },j{1,...P }k{1,...P } =

2 2 zi,j + zi,k 2 l{1,...P } xi,l

(12.5)

o` zi,j et zi,k sont les coordonnes sur les axes principaux j et k de lindividu u e xi . Un cosinus carr infrieur ` 0.3 indique une dformation importante ( > 57). e e a e Exemple trivial On prend volontairement un exemple trivial pour comprendre un peu mieux les choses. Plaons-nous dans un espace 2D (donc P = 2) et considrons les c e N = 3 individus suivants : (1, 1), (2, 2, 2), (2, 9, 3, 1). Immdiatement, nous e voyons que ces trois points sont presque disposs sur une droite ` 45 degrs. e a e Leur ACP va le conrmer. On a : a1 = 1, 97, a2 = 2, 1, (a1 ) = 0, 95, (a2 ) = 1, 05, do` les coordonnes u e centrs rduites des individus : e e 1 2 3 1, 017 0, 035 0, 982 1, 044 0, 095 0, 949

La matrice de corrlation vaut : e R= 1 0, 999 0, 999 1

dont les valeurs propres sont 1 = 1, 999 et 2 = 0, 001. La somme des valeurs propres est bien gale ` P = 2. Linertie des caract`res principaux est e a e I1 > 0, 999 et I2 < 0, 001. Les vecteurs propres sont V1 = (0, 707; 0, 707) et V2 = (0, 707; 0, 707) (rappelons que 0, 707 22 = sin (/4) = cos (/4)). Tout cela signie que les individus ont leurs caract`res expliqus ` plus de e e a 99% par leur caract`re principal qui est reprsent par un axe orient ` 45 e e e e a

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

167

degrs : cest normal puisque les individus sont presqualigns sur cette droite. e e LACP est bien cohrente avec ce que lon avait vu. e On peut aussi calculer les coordonnes des individus dans leur nouveau e rep`re : z1,1 = 1, 46 ; z1,2 = 0, 29 ; z2,1 = 0, 09 ; z2,2 = 0, 00 ; z3,1 = 1, 37 ; z3,2 = e 0, 29. zi,j sobtient en faisant le produit scalaire entre la donne xi et le vecteur e propre Vj ; par exemple : z2,1 < (0, 035; 0, 095), (0, 707; 0, 707) >. On peut estimer la dformation : pour le premier individu, e cos2 1,12 = 1, 732 + 0, 082 1, 0 1, 242 + 1, 282

donc, 1,12 = 13, 6, cest-`-dire que la dformation est nulle pour le premier a e individu : cest normal puisquil est situ sur la droite ` 45 degrs. e a e Pour les autres caract`res, les dformations sont galement tr`s faibles : e e e e 2,12 7, 9 et 3,12 15. Le cercle de corrlation On se propose dtudier la corrlation entre les e e e caract`res initiaux et les caract`res principaux. e e Le coecient de corrlation linaire entre le je caract`re initial aj et le ke e e e caract`re principal zk est : e k (12.6) o` Vk [j] est la je composante du vecteur Vk . u On peut alors reprer sil existe des caract`res principaux fortement corrls e e ee avec les caract`res initiaux. e 2 Remarque : k{1,...P } rj,k = 1. On peut alors tracer les P points de coordonnes (rj,1 , rj,2 )j{1,...P } dans le e cercle unit. Si les points sont proches de la circonfrence (ils sont alors signie e catifs), on peut ventuellement reprer des regroupements ou des oppositions e e de caract`res. e En reprenant lexemple trivial, on obtient les corrlations entre caract`res e e initiaiux et principaux comme suit : z1 = 0, 9996 = 0, 9996 z2 r1,2 = 0, 022 r2,2 = 0, 022 rj,k = Vk [j]

a1 a2

r1,1 r2,1

ce qui sexplique tr`s bien puisque la premi`re composante reprsente presque e e e parfaitement les donnes (donc corrlation r1,1 1) et que a1 et a2 sont fortee e ment corrls (donc corrlation r2,1 1). Le trac des points de coordonnes ee e e e (r2,1 , r2,2 ) et (r1,1 , r1,2 ) les montrent situs sur le cercle de corrlation. Le pree e mier caract`re principal correspond ` laxe des abscisses tandis que le second e a correspond ` laxe des ordonnes. a e

168

CHAPITRE 12. METHODES DE PROJECTION

Les autres axes principaux Nous navons parl jusquici que de lutilisation e des deux premiers axes principaux. Les autres axes peuvent galement avoir e leur utilit. Pour en juger, il faut comparer les direntes valeurs propres (cf. e e ci-dessus). Pour chacune, on peut mesurer leur inertie Ii et leur inertie cumule : e Ci = Ij (12.7)

ji

Linertie indique la proportion de la distance moyenne conserve lorsque lon e passe des caract`res initiaux aux caract`res principaux. Si C2 100, cela sige e nie que les deux premiers caract`res principaux ne dforment presque pas le e e nuage de points, donc, que ces deux caract`res principaux dcrivent presque e e compltement les individus initiaux. Au contraire, si toutes les inerties les plus e importantes (ou un grand nombre) sont gales, cela signie quil faut considrer e e non seulement les deux caract`res principaux, mais aussi tous les autre care act`res de mme importance, donc tudier ces dirents plans. e e e e Quels axes principaux faut-il retenir ? Cette question est lgitime. On e prsente deux crit`res : e e crit`re de Kaiser : on ne retient que les axes pour lesquels la valeur propre e associe est > 1 ; e Scree test de Cottell : on calcule les dirences premi`res entre valeurs e e propres i = i i+1 puis les dirences secondes i = i i+1 . On e retient les i tant que i > 0. Application On reprend lexemple donn plus e Poids Poids 1 Taille 0, 367 R= 0, 485 Age Note 0, 568 haut avec des l`ves et leur note. ee Taille Age Note 0, 367 0, 485 0, 568 1 0, 396 0, 629 0, 396 1 0, 322 0, 629 0, 322 1

Les valeurs propres et les vecteurs propres sont : 1 = 2, 391 V1 = (0, 5080; 0, 5038; 0, 4453; 0, 5383) 2 = 0, 750 V2 = (0, 3065; 0, 4641; 0, 7058; 0, 4381) 3 = 0, 584 V3 = (0, 6593; 0, 5253; 0, 4712; 0, 2593) 4 = 0, 274 V4 = (0, 4619; 0, 5042; 0, 2855; 0, 6715) On constate quaucune valeur propre nest nulle ; on peut vrier que les 4 e vecteurs propres sont unitaires et orthogonaux deux ` deux. a On peut calculer linertie et linertie cumule de chacune des valeurs propres : e

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

169

2, 391 0, 750 0, 584 0, 274

I 0, 59775 0, 1875 0, 146 0, 0685

C 0, 59775 0, 78525 0, 93125 1, 0

Les coordonnes des individus dans le nouveau rep`re se calculent comme e e suit : par exemple, pour le premier individu, ses coordonnes sont : e (x1,1 x1,2 x1,3 x1,4 ) (x1,1 x1,2 x1,3 x1,4 ) (x1,1 x1,2 x1,3 x1,4 ) (x1,1 x1,2 x1,3 x1,4 ) V1 V2 V3 V4

soit (2, 50; 0, 19; 0, 10; 0, 99). Pour les N individus, leurs coordonnes e sur les axes principaux sont : Individu 1 2 3 4 5 6 7 8 9 10 Remarques : notons :
2 2 2 2 z1 + z2 + z3 + z4 = x2 + x2 + x2 + x2 = gy 1 2 3 4

Coordonnes (z1 , z2 , z3 , z4 ) e (2, 50; 0, 19; 0, 10; 0, 99) (1, 84; 0, 34; 0, 30; 0, 33) (1, 37; 0, 76; 0, 56; 0, 46) (1, 98; 0, 07; 1, 14; 0, 18) (0, 94; 0, 40; 0, 28; 0, 05) (1, 40; 0, 77; 0, 06; 0, 53) (1, 25; 0, 34; 1, 38; 0, 39) (0, 41; 0, 13; 1, 19; 0, 64) (0, 54; 2, 26; 0, 39; 0, 07) (1, 11; 0, 08; 0, 07; 0, 54)

On a alors :

2 2 2 z1 + z2 + z3 = gy C3

2 2 z1 + z2 = gy C2

2 z1 = gy C1

On peut reprsenter alors les individus dans le plan principal z1 z2 : e

170

CHAPITRE 12. METHODES DE PROJECTION

9 2 axe principal 2 1

7 0 4 1 2 3 1 8 5 6 10

0 axe principal 1

On rep`re deux regroupements, lun de 3 individus, lautre de 5 ; les deux e autres individus sont isols. Il faut avoir ` lesprit que la distance entre les points e a est plus dlement conserve, entre lespace initial et le plan principal, pour des e e points loigns des axes. e e Dans le plan z1 z3 , on a la reprsentation suivante : e
2

4 1

3 axe principal 3 2 0 1 9 5 10 6

8 7

2 3

0 axe principal 1

On peut aussi sintresser au plan z2 z3 . e On peut calculer la corrlation entre caract`res initiaux et caract`res prine e e cipaux : z1 0, 785 0, 779 0, 689 0, 832 z2 0, 266 0, 403 0, 611 0, 380 z3 0, 504 0, 402 0, 360 0, 198 z4 0, 242 0, 264 0, 150 0, 352

(Poids) a1 (Taille) a2 (Age) a3 (Note) a4

` A laide des deux premi`res colonnes, on peut tracer le cercle de corrlation : e e

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

171

1.0

ge 0.5 note axe principal 2 poids 0.0

1.0

0.5

taille

1.0

0.5

0.0 axe principal 1

0.5

1.0

On note que : les 4 caract`res sont fortement corrls (en valeur absolue) avec le premier e ee axe principal ; le caract`re Note est corrl ngativement avec les trois autres caract`res ; e ee e e le groupe 1, 2 et 3 comprend donc des l`ves moins dvelopps physiqueee e e ment (plus jeunes, plus lgers, plus petits) que la moyenne mais qui ont e de bonnes notes ; le groupe 4, 5, 6, 7 et 10 regroupent des l`ves plus dvelopps que la ee e e moyenne mais qui ont une note faible ; 8 et 9 contredisent ces deux tendances gnrales ; e e en particulier, 9 a une tr`s bonne note en dpit de ses caractristiques e e e physiques.

Pour estimer la dformation due ` la projection dans le plan principal, on e a 2 calcule le cos :

172

CHAPITRE 12. METHODES DE PROJECTION cos2 i,1 0, 859 0, 916 0, 628 0, 745 0, 785 0, 690 0, 419 0, 084 0, 053 0, 804 cos2 i,2 0, 005 0, 031 0, 195 0, 001 0, 142 0, 212 0, 030 0, 008 0, 919 0, 004 cos2 i,12 0, 82 0, 95 0, 83 0, 75 0, 88 0, 87 0, 45 0, 09 0, 97 0, 80 cos2 i,13 0, 82 0, 94 0, 74 0, 99 0, 79 0, 67 0, 93 0, 79 0, 08 0, 80

Individu 1 2 3 4 5 6 7 8 9 10

Lindividu 8 est donc tr`s mal reprsent dans le plan principal. Dans le plan e e e 1 3, il est par contre bien reprsent ; dans ce plan, cest 9 qui est tr`s mal e e e reprsent (cos2 0, 08). e e Application aux iris Pour poursuivre lillustration de lACP, on eectue une ACP sur le jeu de donnes iris . e La matrice de corrlation e R = longueur spales e e largeur spales longueur ptales e est : longueur spales e 1 largeur spales e 0, 11 1 longueur ptales e 0, 87 0, 42 1 largeur ptales e 0, 82 0, 36 0, 96

On constate des corrlations faibles pour les attributs concernant les spales, e e mis ` part entre la longueur des spales et celle des ptales. a e e Les valeurs propres sont : valeur propre 2, 91 0, 92 0, 15 0, 02 inertie 73 % 23 % 4% 1%

La somme des inerties ne fait pas 1, ` cause des arrondis. a Tr`s clairement, deux attributs principaux seront susants pour reprsenter e e les donnes puisquils cumulent 96 % dinertie. La gure 12.3 reprsente le jeu e e de donnes dans le plan principal. e

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

173

x x x x x x x xx xx x x x xx xx x x x xx x xx x x xx x x x xx x xx x x x x x x x xx x x x x 3 x 1 x 2

x setosa x versicolor x virginica

xx x x xx x x xx x x x x x x x x x xx x x xx xx x xx x x xx x x x x xx xx xx x x xx x xx x x x x x x xx x x x x x x x x x xx x x x x x x x x x x x x xx x x

axe principal 2

x x x x

x xx

0 axe principal 1

Figure 12.3 Projection des iris dans le plan factoriel principal. On a indiqu e les 3 classes par des couleurs direntes. e Corrlation entre attributs et facteurs : e z1 0, 89 0, 45 0, 99 0, 96 z2 0, 36 0, 89 0, 02 0, 06 z3 0, 28 0, 09 0, 05 0, 24 z4 0, 04 0, 02 0, 12 0, 08

(longueur spales) a1 e (largeur spales) a2 e (longueur ptales) a3 e (largeur ptales) a4 e

On voit que les corrlations sont tr`s fortes entre les deux premiers facteurs e e z1 et z2 et les 4 attributs. On voit mme que z1 est tr`s fortement corrl avec e e ee la longueur et la largeur des ptales. e

12.1.2

Aspects pratiques

Le cur de lACP est le calcul des vecteurs et valeurs propres dune matrice. Ce calcul nest pas si simple que cela : en eet, si lon ny prend pas garde, il est tr`s facile que ce calcul produise dans les faits des rsultats qui nont rien ` e e a voir avec les vecteurs et valeurs propores de la matrice : les calculs numriques e eectues sur un ordinateur sont, pour certains, dicile ` mener : lordinatuer ne e a manipule pas des nombres rels, mais un sous-ensemble des nombres dcimaux e e et cela peut impliquer des erreurs de calcul. Le calcul des valeurs propres dune matrice est le parfait exemple de lalgorithme qui peut tr`s mal se comporter e sil est mal implant et qui mal se comporter mme si on a pris ses prcautions. e e e Mme lutilisation des fonctions prdnies dans des bilbioth`ques logicielles e e e e ou des logiciels spcialiss peut entra e e ner des mauvaises surprises, avec de plus, aucun moyen pour savoir si le rsultat est correct ou pas. e

174

CHAPITRE 12. METHODES DE PROJECTION

Pour ces raisons, il est habituel de calculer les valeurs et vecteurs propres ncessaires pour eectuer une ACP via une opration mathmatique plus soe e e phistique, mais beaucoup plus puissante et qui ne recnontre pas ces probl`mes e e derreurs de calcul, la dcomposition en valeur singuli`re 7 (DVS) dune matrice. e e La dcomposition en valeurs singuli`res dune matrice e e Considrons une matrice A de taille M N . La dcomposition en valeurs e e singuli`res fournit les matrices U , et V telles que : e

A = U V T

(12.8)

U est une matrice M N alors que et V sont des matrices N N . On a les proprits de la dcomposition en valeurs singuli`res : ee e e T T U U = IM et V V = IN o` IN est la matrice identit N N (et IM ...) ; u e = diag(1 , ...N ) avec i > 0 pour 1 i r et i = 0 pour i > r. r est nomm le rang de la matrice A. Si r < N , on dit que la matrice A est e singuli`re ; e les i sont les racines carres des valeurs propres de AT A et AAT ; e les vecteurs propres de AAT constituent les colonnes de U et se nomment les vecteurs singuliers ` gauche de A ; a les vecteurs propres de AT A constituent les colonnes de V , lesquels sont dnomms les vecteurs singuliers ` droite de A. e e a Pour comprendre lintrt de ce qui prc`de et le lien avec une ACP, il est ee e e important de noter que : 1. AAT est une matrice dont chaque terme correspond au produit scalaire entre deux lignes de A, i.e. entre deux individus. Donc, chacun des lments ee de cette matrice reprsente la similarit entre les deux individus ; e e 2. AT A est une matrice dont chaque terme correspond au produit scalaire entre deux colonnes de A. Donc, chacun de ces termes mesure la similarit e entre deux attributs ; 3. donc, AAT et AT A sont des matrices de similarit. La dcomposition en e e vecteurs propres de ces matrices est connue pour apporter des informations tr`s intressantes (cf. les mthodes de segmentation spectrale au chap. e e e 11). Ces vecteurs propres sont dans les matrices U et V obtenues par dcomposition en valeurs singuli`res. Quant ` elle, les valeurs singuli`res e e a e (valeur absolue des valeurs propres) sont dans . Comme on la vu plus haut, les premi`res valeurs propres ont des valeurs e importantes alors que les autres ont des valeurs ngligeables. Nous retrouvons e
7. Singular Value Decomposition, soit SVD en anglais.

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

175

cette proprit ici pour les valeurs singuli`res. Ainsi, en nutilisant que les k ee e premi`res valeurs singuli`res avec leur vecteurs propres ` gauche et ` droite e e a a respectifs, on obtient une approximation Ak de la matrice A de dpart : e
T Ak = Uk k Vk

o` Uk et Vk sont composs des k premi`res colonnes de U et V et k = u e e diag(1 , ..., k ). Ak est la meilleure approximation de rang k de A au sens des moindres carrs : Ak = arg minBmatrices de rang k ||Ak A||2 . e Ainsi, dune certaine mani`re, Ak capture les particularits les plus impore e tantes de la matrice A initiale. DVS et ACP Tr`s clairement, la matrice A tant une matrice N P contenant la dee e scription de N individus par leur P attributs centre et rduite, N 1 AT A est e e 1 la matrice de corrlation R dont il a t question plus haut. Donc, V contient e ee les vecteurs propres de cette matrice et les valeurs singuli`res sont les racines e carres des valeurs propres, i.e. des inerties des facteurs principaux. e

12.1.3

La (grande) famille des ACP

LACP a t invente par Hotelling dans les annes 1930. Cette mthode a ee e e e t complte par dautres qui en sont drives. ee ee e e Analyse factorielle des correspondances Lanalyse factorielle des correspondances (AFC) est une ACP pour tudier e des tableaux de contingence : on consid`re des individus dcrits par deux care e act`res nominaux. On construit le tableau de contingence dans lequel les lignes e reprsentent les valeurs prises par lun des caract`res, les colonnes reprsentent e e e ` les valeurs prises par lautre caract`re. A lintersection, on trouve le nombre e dindividus pour lesquels on a conjonction de ces deux valeurs de caract`res. e Cette mthode a t propose dans les annes 1960 par Benzcri. e ee e e e LAFC a t tendue ` plus de deux caract`res, ce qui a donn lanalyse face ee a e e torielle des correspondances multiples (AFCM). Cette mthode est tr`s utilise e e e pour lanalyse denqutes aupr`s de lopinion (sondage). e e Analyse factorielle discriminante Dans ses objectifs, lanalyse factorielle discriminante (AFD) est proche des mthodes de classication : elle traite un jeu dexemples (donnes classes) et e e e permet de classer de nouvelles donnes. Pour cela, elle eectue une descripe tion statistique de chaque groupe dexemples ; ` partir de cette description, elle a permet de dterminer la classe la plus probable dune donne. e e

176

CHAPITRE 12. METHODES DE PROJECTION

12.1.4

ACP et textes : lindexation par la smantique lae tente

Lindexation par la smantique latente (ISL) est lACP adapte aux textes. e e Comme prcdemment, un texte est dcrit par un vecteur dont chaque come e e posante correspond ` un mot dun vocabulaire V. LISL eectue une projection a des textes et des mots dans un espace factoriel. Plus haut, on a dcrit lACP qui e sapplique ` un ensemble de donnes dcrites par des caract`res. Ici, on dcrit a e e e e lACP qui analyse un jeu de donnes constitu de deux types de donnes, les e e e textes et les mots. On part de lhypoth`se que la similarit entre deux vecteurs-documents ime e plique une proximit smantique des documents correspondants et que une forte e e similarit entre deux vecteurs-mots indique la synonymie des deux mots. e Principe de la mthode de dcomposition e e Soit la matrice A dont chaque colonne est un vecteur-document (donc autant de colonnes quil y a de documents : notons ce nombre N ). Chaque ligne correspond ` un mot du vocabulaire que lon suppose de taille P = |V|. Les a composantes am,t de la matrice A sont en relation avec le nombre doccurences du mot m dans le texte t. En gnral, on les prend de la forme : e e

am,t = L(m, t) G(m) o` L(m, t) est une pondration dite locale , cest-`-dire aectant uniqueu e a ment le mot m du texte t, tandis que G(m) est une pondration dite globale , e ce qui signie que ce poids est le mme pour tous les textes o` appara le mot e u t m. Les pondrations courantes sont : e pour L(m, t) : frquence doccurence 8 du mot m dans le texte t : F T (m, t) = n(m,t) e |t|1 o` la notation |t|1 indique le nombre de mots dirents prsents dans le u e e texte t ; le log de cette quantit : log (F T (m, t) + 1). Cette quantit est e e prcis`ment ce que lon dnit comme la frquence du terme au chap. e e e e 5; pour G(m) : G(m) = F1 (m,j)2 , ce qui permet de normer les lignes : tous les T
j

mots sont ainsi reprsents par un vecteur de mme norme ; e e e


8. attention : ne pas confondre avec la notion prsente au chap. 5. Ici, cest simplement e e le nombre doccurences du mot divis par le nombre de mots apparaissant dans le texte. e

12.1. ANALYSE EN COMPOSANTES PRINCIPALES

177

f (m) poids GfIdF : G(m) = n(m) o` f (m) est la frquence doccurences du u e mot m dans lensemble des textes et n(m) est le nombre de textes dans lesquels appara le mot m ; t poids Idf : G(m) = log2 N/n(m) que lon a dj` rencontr au chap. 5 ; ea e pm,t log pm,t F T (m,t) o` pm,t = f (m) . u entropie : G(m) = 1 t log N 2 On eectue ensuite lACP de la matrice A. Rappelons que lon a ici deux types de donnes mles dans cette matrice (des mots et des textes). On veut e ee donc extraire des axes principaux pour ces deux types de donnes 9 . Pour cela, e on eectue une dcomposition en valeurs singuli`res de A. On peut adapter ce e e qui a t dit dans la section sur lACP au cas prsent : ee e

1. AAT est une matrice dont chaque terme correspond au produit scalaire entre une ligne de A (un mot) et une ligne de A (un autre mot). Donc, chacun de ses termes reprsente le cosinus entre ces deux mots, si lon a e pris soit de normaliser les lignes ou est proportionnelle ` ce cosinus sinon. a Donc, chacun des lments de cette matrice reprsente la similarit entre ee e e les deux mots, la similarit tant mesure par la rpartition de ces deux ee e e mots parmi les textes ; 2. AT A est une matrice dont chaque terme correspond au produit scalaire entre une colonne de A (un texte) et une colonne de A (un autre texte). Donc, chacun de ces termes mesure la similarit entre deux textes ; e 3. donc, AAT et AT A sont des matrices de similarit. La dcomposition en e e vecteurs propres de ces matrices est connue pour apporter des informations tr`s intressantes (cf. les mthodes de segmentation spectrale au chap. e e e 11). Ces vecteurs propres sont dans les matrices U et V obtenues par dcomposition en valeurs singuli`res. Quant ` elle, les valeurs singuli`res e e a e (valeur absolue des valeurs propres) sont dans . ... Le fait de laisser de ct un certain nombre de dimensions permet de se oe dbarasser (au moins en partie) des probl`mes lis ` la polysmie et ` la syne e e a e a onymie. Projection dans lespace factoriel Soit un texte t que lon souhaite projeter dans lespace factoriel. Ce texte est dcrit ` partir du vocabulaire V. Sa projection est t = tT Uk 1 . e a k Interprtation e Lexploitation est riche. On peut sintresser ` direntes questions : e a e
9. on pourrait ne faire quune simple ACP, mais on naurait alors des informations que sur les textes ou sur les mots, pas sur les deux.

178

CHAPITRE 12. METHODES DE PROJECTION

pour un mot donn m, quels sont les mots proches i.e. dont lapparie tion dans les textes est ` peu pr`s la mme. Cela va permettre dexhiber a e e des synonymes ; pour un texte donn t, quels sont les textes proches ? Cela va permettre e de trouver des textes traitant du mme sujet ; e pour un mot ou un ensemble de mots donns, quels sont les textes pour e lesquels ce(s) mot(s) sont les plus signicatifs ? Cela va permettre une interrogation par mots-cls. e

Recherche de synonymes Soit un mot m V pour lequel on veut trouver les mots qui sont utiliss de e la mme mani`re. On constitue un texte qui ne contient quun seul mot, m et e e on projette ce texte dans lespace factoriel. Il ne reste plus qu` chercher les mots de V dont la projection est proche par a une approche plus proches voisins .

Recherche de textes identiques Soit un texte t, qui fait partie de lensemble des textes initiaux ou pas. On dcrit ce texte par sa composition en mots du vocabulaire V et on le projette. e De mme, on calcule la projection de chacun des N textes et on dtermine les e e plus proches.

Interrogation par mots-cls e On suppose que les mots-cls font partie de V. D`s lors, on constitue un texte e e t comprenant ces mots, on le projette et, ` nouveau, on recherche les textes dont a la projection est la plus proche. Bien entendu, les composantes des pseudo-textes sont pondres si ee ncessaire, comme lont t les composantes de A. e ee

Mots et leur traduction On dispose dun mme ensemble de textes dans deux langues. LISL va e projeter chaque mot dune langue pr`s de sa traduction dans lautre langue, e ainsi que chaque paire de textes lun pr`s de lautre. Cela permet de trouver e la traduction dun terme et deectuer une interrogation dans une langue et dobtenir le rsultat dans lautre langue. e

` 12.2. LA MISE A LECHELLE MULTI-DIMENSIONNELLE

179

12.1.5

Critique de lACP

+ mthode tudie depuis des dizaines dannes ; donc, elle a t mise ` e e e e ee a lpreuve maintes fois ; donc, il est essentiel de la conna e tre et de savoir lutiliser ; o cest une mthode linaire. Aussi, seules les corrlations linaires sont-elles e e e e dtectables ; e - calculer les valeurs et vecteurs propres avec prcision est techniquement e lourd, notamment si le nombre dattributs est tr`s lev. e e e La linarit de lACP est lie au fait que lACP eectue une transformation e e e des donnes qui sexprime comme une matrice en termes mathmatiques. Cela e e implique que toutes les zones de lespace des donnes sont traites de la mme e e e mani`re : si direntes zones doivent tre traites diremment, agrandies avec e e e e e des facteurs dchelle dirents par exemple, on ne peut pas y arriver avec une e e mthode linaire. Par exemple, si les donnes sont situes sur une structure en e e e e U (cf. g. 12.4(a)), lACP ne fait quorienter le U de mani`re ` ce que la plus e a grande variance soit aligne avec laxe des abscisses (cf. g. 12.4(b)). Ce nest e pas tr`s intressant. Ce que lon aimerait est la chose suivante : les donnes sont e e e situes le long de ce U ; en fait ces donnes sont situes sur une ligne courbe e e e (elles vivent sur cette ligne courbe) en forme de U ; aussi, une bonne projection dplierait ce U et produirait un segment de droite. Lintuition que lon essaie ici e de capturer est celle de distance entre les points : nos yeux voient la distance euclidienne ; dans la structure en U, on a envie que la distance entre deux points soient induites par la longueur parcourue entre deux points en suivant le U et non la distance euclidienne : les points ` chaque extrmit du U sont proches a e e en terme de distance euclidienne, mais loigns si lon passe dun point ` lautre e e a en suivant la structure en U ; cest cette distance que lon veut capturer, et lACP ne le fait pas du tout. Quand on produit une reprsentation graphique e par projection des donnes, on veut que la distance dans le plan (la distance e euclidienne) reprsente la distance entre les points dans lespace dorigine ; sinon, e nous croirons voir des choses qui nexistent pas et on donnera une mauvaise interprtation de la structure intrins`que des donnes. e e e Il faut donc envisager des mthodes non linaires. Cest lobjet des sections e e suivantes de ce chapitre.

12.2

La mise ` lchelle multi-dimensionnelle a e

La mise ` lchelle multi-dimensionnelle (MDS) est une mthode tr`s clasa e e e sique de projection dun ensemble de donnes dans un espace plus petit, en partie culier 1 ou 2 dimensions. La MDS remonte ` la n du XIXe si`cle en archologie ; a e e elle est utilise en biologie, psychologie, ... En chimie, elle permet de calculer e une reprsentation en 2 ou 3 dimensions dune molcule ; la MDS est galement e e e

180

CHAPITRE 12. METHODES DE PROJECTION

q q q q q qq q qq q q q q q q q q q q q q q q q qqq qqq q q q q q q q q q q q q q q q q q q q q q q q qqqq q q q q q q q q q q q q q q q q q q

q q q q q q q q q q

q q q q q

q q q q q

q q q q q

q q q q q q q q q q q q q q q q q q q q q q q q q q q q q

q qqq q qqq q q q qqq qq qqq q q qqq qqq q q qqq q q qqq q q qqq q

q qqq q

q q q q q q q qq q q q q q

q qqq q

q qqq q

q q qqq qqq q q q qqq q

q qqq q

q qqq q q qqq qqq q

q q q q q

q qqq q q qqq qqq q q q qqq q

q q q q q q q q q q q q q q q q q q q q q q q q q q qqqqq qq qqqq

q q qqq qqq q q q qqq qqqq qqqq q q qqq q q qqq q q qqq q q qqq q q qqq q q qqq q

q q q q q

(a) Un jeu de donnes dise poses en U. e

(b) La projection dans le plan principal de lACP de ce jeu de donnes. e

Figure 12.4 Les limites de lACP : lACP est une mthode linaire : elle e e est incapable de dtecter la structure en U du jeu de donnes, cette structure e e tant non linaire : ce nest pas une droite, un plan, ..., mais un objet gomtrique e e e e courbe.

tr`s utile pour reprsenter un graphe dans le plan : elle est au cur de certains e e logiciels de reprsentation de graphes. e Comme on a commenc ` lindiquer plus haut ` propos du U (cf. g. 12.4(a)), ea a une mani`re de poser le probl`me est de dnir implicitement lensemble de e e e points par la distance que chacun a par rapport aux autres. Autrement dit, au lieu davoir chaque point dni par la valeur de ses attributs, on se donne une e fonction qui associe un nombre rel (leur distance) ` chaque paire de points et e a on construit la matrice des distances entre points. Dans la pratique, il existe de nombreuses situations dans lesquelles on conna cette distance entre chaque t paire de points, ou du moins, la dissimilarit entre chaque paire de points. e On se reportera ` la section 5.1 pour les dnitions prcises des notions de a e e distance et de dissimilarit ; rappelons simplement ici quune dissimilarit est e e une application qui est non dgnre et symtrique comme une distance, mais e e ee e nimpose pas le respect de lingalit triangulaire. Dans de nombreux cas, mme e e e une dissimilarit est dicile ` dnir, mais on peut alors dnir un rang, ceste a e e a `-dire pour une donne, indiquer parmi toutes les autres donnes, laquelle est la e e plus ressemblante (rang 1), puis celle qui hormis celle-ci est la plus ressemblante (rang 2), ... jusque la donne la moins ressemblante (rang N 1). e On va distinguer dirents cas : e les donnes sont spcies par leurs coordonnes ; e e e e les donnes sont spcies par une distance entre chaque paire de points ; e e e les donnes sont spcies par une dissimilarit entre chaque paire de e e e e points ; les donnes sont spcies par un rang. e e e

` 12.2. LA MISE A LECHELLE MULTI-DIMENSIONNELLE

181

Quelle que soit la situation, on veut rsoudre le probl`me suivant : on dispose e e dune relation entre chaque paire de donne et on veut projeter les donnes e e dans un espace de (gnralement petite) dimension, par exemple dans le plan e e pour en obtenir une reprsentation graphique. On veut que cette reprsentation e e graphique soit la plus d`le possible par rapport ` la relation liant les points, i.e., e a que deux points ` faible distance/dissimilarit/rang soient proches dans le plan, a e et rciproquement. Nos yeux peroivent tr`s bien la distance euclidienne entre les e c e points du plan et on veut donc obtenir une reprsentation qui ne trahisse pas les e relations des points les uns par rapport aux autres. Naturellement, on cherchera des moyens de diagnostiquer la projection obtenue et davoir une information sur la dformation induite par la projection (il y en a forcment une). e e Dans la suite, on notera ` nouveau zi la projection de la donne xi . On a e notera D la relation (distance, dissimilarit, ou rang) : D : D D R pour e une distance ou une dissimilarit, D : D D {0, ...N 1} pour un rang. e Pour allger le texte, on va parler de dissimilarit dune mani`re gnrale pour e e e e e signier une distance, une dissimilarit ou un rang. Lorsque cela sera ncessaire, e e on prcisera sil sag de lun ou de lautre. On dnit la matrice de dissimilarit e t e e D : llment (i, j) est la dissimilarit entre les donnes xi et xj . Pour une ee e e distance ou une dissimilarit, la matrice de dissimilarit a donc sa diagonale e e nulle et est symtrique ; pour un rang, elle nest pas forcment symtrique. e e e On peut mesurer la dformation par une fonction du genre : e

i=j

(D(xi , xj ) d(zi , zj ))

o` d mesure la distance entre les projections dun couple de points. Intuu itivement, on veut que d et D soient le plus corrls possibles. ee On cherche donc les zi qui minimisent cette dformation. Il existe plusieurs e types de MDS selon les D, d, mesure de dformation et mthode de minimisation e e de cette dformation utiliss. On distinguera : e e La mise ` lchelle mtrique ou non : a e e mtrique : on utilise une distance ou une dissimilarit et la distance entre les e e zi est directement lie ` la distance ou la dissimilarit entre les xi ; e a e non mtrique : on utilise un rang et la distance entre les zi est base sur le e e rang entre les xi . La mise ` lchelle mtrique sapplique bien quand tous les attributs des a e e donnes sont quantitatifs. Par contre, quand certains attributs sont qualitatifs, e la dnition dune dissimilarit nest plus aussi simple (imaginez simplement la e e dnition dune dissimilarit entre des couleurs) ; dans ces cas, une approche e e non mtrique peut se rvler indispensable. e e e On dcrit ces direntes mthodes dans les sections qui suivent. e e e

182

CHAPITRE 12. METHODES DE PROJECTION

12.2.1

Mise ` lchelle mtrique a e e

Lapproche mtrique implique une distance ou une dissimilarit D : distance e e euclidienne, distance euclidienne pondre, distance de Manhattan, ... des tas de ee distances et de dissimilarits ont t tudies. Selon la distance ou dissimilarit e eee e e utilise, la matrice de dissimilarits poss`de certaines proprits importantes : e e e ee si on utilise une distance euclidienne, la matrice de dissimilarits poss`de e e deux proprits importantes : ee elle est symtrique, ce qui entra que toutes ses valeurs propres sont e ne relles ; e elle est semi-dnie positive, ce qui entra que toutes ses valeurs proe ne pres sont positives ou nulles. Le nombre de valeurs propres non nulles se nomme le rang de la matrice de dissimilarits. e si on utilise une distance non euclidienne, la matrice est encore symtrique e mais nest gnralement pas semi-dnie positive. Aussi, toutes ses valeurs e e e propres sont relles, mais certaines peuvent tre ngatives. e e e si on utilise une dissimilarit, ` nouveau, la matrice est symtrique et e a e ` gnralement pas semi-dnie positive. A nouveau, toutes ses valeurs proe e e pres sont relles, mais certaines peuvent tre ngatives. e e e En outre, on a besoin dune fonction mesurant la dformation entre les e donnes initiales et leur projection. De nombreuses mesures de dformations e e ont t tudies. Nous tudions ci-dessous les plus classiques. eee e e La mise ` lchelle directe ou indirecte : a e mise ` lchelle de Torgerson-Gower (chelle dite classique) dans laquelle a e e on mesure la dissimilarit entre deux donnes par son produit scalaire. e e Cette dissimilarit a des proprits bien spciques. On minimise alors la e ee e fonction : Strain (z1 , z2 , ...zk ) =
i=j

(di,j < zi , zj >)2

mise ` lchelle de Sammon dans laquelle on minimise : a e Stress (z1 , z2 , ...zk ) =


i=j

(di,j Di,j )2

Dun point de vue calcul, la mise ` lchelle classique sobtient par une a e dcomposition en vecteurs propres ; elle fournit un minimum global de la e dformation. La mise a lchelle de Sammon ncessite un processus itratif, e ` e e e une descente de gradient, et on atteint un optimum local. Mise ` lchelle classique a e

a continuer .... `
= analyse en coordonnes principales e

` 12.2. LA MISE A LECHELLE MULTI-DIMENSIONNELLE 5 points dans le plan :


q q q

183

c Matrice 1 1 0 2 2 3 2 4 4 5 4

des 2 2 0 1 3 3

rangs : 3 4 5 1 3 4 1 3 4 0 3 4 2 0 1 2 2 1

pts[,2]

q q

1 1.0

1.2

1.4 pts[,1]

1.6

1.8

2.0

soit on a les coordonnes des donnes et on peut calculer leur produit e e scalaire ; dans ce cas on calcule la dcomposition spectrale de la matrice e de Gram soit on a une matrice de distance entre les points ; dans ce cas, on fait un double centrage de cette matrice et on fait une dcomposition spectrale e du rsultat (de ce double centrage) e Mise ` lchelle de Sammon a e

a continuer .... `
Descente de gradient.

12.2.2

Mise ` lchelle non mtrique a e e

Dnir une dissimilarit nest pas toujours chose facile, en particulier quand e e certains attributs sont qualitatifs. Il peut alors tre plus facile dordonner les e donnes : pour une donne, quelle autre est la plus ressemblante ? et ensuite ? e e et ainsi de suite ? Cela dnit le rang dune donne par rapport ` une autre. e e a Par rapport ` une donne, ce rang est donc un naturel compris entre 0 (pour la a e donne elle-mme) et N 1 pour la donne qui lui ressemble le moins. Notons e e e que ce rang nest pas forcment symtrique. La gure 12.2.2 illustre ce fait : e e on a reprsenter 5 points dans le plan et on utilise la distance euclidienne pour e dterminer leur rang. La matrice des rangs nest pas symtrique. e e

a continuer .... `
12.2.3 Diagnostic du rsultat dune MDS e
Le but dune MDS tant notamment daider ` comprendre la structure dun e a jeu de donnes, il est important de pouvoir juger si la reprsentation graphique e e obtenue est d`le aux donnes dorigine. Pour cela, on discute ici deux points : e e

184

CHAPITRE 12. METHODES DE PROJECTION

la reprsentation graphique en 2 dimensions est-elle d`le aux distances e e entre donnes de lespace initial ? e quelle est la dimension dans laquelle les donnes vivent ? e Pour la premi`re question, on utilise un graphe de Shepard ; pour la seconde, e on utilise un Scree-plot. Ces deux graphes sont prsents dans les deux sections e e suivantes.

Graphe de Shepard Quand on utilise une MDS pour projeter des points dans le plan, lobjectif est dobtenir une image la plus d`le possible du nuage de points. On veut e que la distance euclidienne dans le plan soit le plus corrle possible avec la ee distance, ou la dissimilarit, dans lespace initial. Aussi, on peut raliser un e e graphe dans lequel chaque couple de points (xi , xj ) est reprsent par sa dise e tance/dissimilarit D(xi , xj ) dans lespace dorigine en abscisses, sa distance e d(zi , zj ) euclidienne dans le plan en ordonnes. Ce graphe se nomme un graphe e de Shepard . Idalement, le rsultat est un nuage de points proche dune droite. e e

Dtermination de la bonne dimension de lespace de projection e Comme pour une ACP, on peut, et on doit, se demander quelle est la bonne dimension de lespace dans lequel on projette les donnes. Pour cela, on peut e raliser des projections par MDS dans des espaces de dimension croissante (1, 2, e 3, ...) et mesurer la dformation associe ` chacune. La reprsentation graphique e e a e de cette dformation en fonction de la taille de lespace projet produit en e e principe une courbe avec un coude, ou du moins une inexion. Sil ny a ni coude ni inexion, cest que la MDS ne donne pas de rsultat tr`s franc et quil e e faut donc se mer de ce que lon voit (ou plutt, ce que lon cro voir). e o t

12.2.4

Applications

Les applications de la MDS sont tr`s nombreuses. Fournissant une e reprsentation graphique de donnes complexes, elle est un algorithme de choix e e pour reprsenter de mani`re comprhensible par un humain et ergonomique des e e e donnes de nature varie. Par exemple, on trouve de tr`s belles applications sur e e e le web, voire pour des tlphones portables. ee Ainsi le site http://www.gnod.net utilise la MDS pour proposer des livres, des musiciens ou des lms qui ont t apprcis par des gens ayant aussi apprci ee e e e e un certain livre, musicien ou lm.

12.3. RESEAUX DE KOHONEN

185

e 1 e 2 e 3 e 4

` Figure 12.5 Schma dun rseau de Kohonen. A gauche, on note les entres e e e ` droite, la grille des k = 20 units. Pour lune (on a suppos que P = 4). A e e dentre-elles, on a reprsent les liaisons avec les entres. Pour chaque unit, la e e e e notion de voisinage est tr`s intuitive : ce sont les units topologiquement e e proches : selon le cas, on consid`re 4, 6 ou 8 voisins. e

12.3

Rseaux de Kohonen e

On prsente tout dabord la mthode des cartes auto-organisatrices de Koe e honen. Cest un type de rseau de neurones particulier dit non supervis car on e e ne spcie pas au rseau ce quil doit apprendre : on lui fournit des donnes, ` e e e a charge pour lui de les organiser. Cet algorithme poss`de de tr`s jolies proprits e e ee qui ont fait son succ`s. e

12.3.1

Introduction

On suppose comme dhabitude que lon dispose de N donnes X = {xi }, e chacune dcrite par ses P attributs. e On a un rseau constitu de K neurones (ou units) et de P entres. Les e e e e units sont organises topologiquement. Cette organisation peut tre en 1, 2, e e e 3 dimensions. En gnral, on les place sur une grille bi-dimensionnelle ce qui e e en permet une visualisation aise. Chaque unit i reoit les P entres par une e e c e connexion de poids synaptique we,i , o` e indique lune des P entres (cf. g. u e 12.5). Il y a donc k P poids ` apprendre. Ceux-ci sont appris ` partir des donnes a a e composant X . Une fois lapprentissage eectu : e

on obtient une carte topologique qui est une projection bidimensionnelle des donnes. Elle reprsente une organisation des donnes ; e e e on peut projeter de nouvelles donnes et dterminer les plus ressemblantes e e parmi X par une mthode de type plus proches voisins. e

186

CHAPITRE 12. METHODES DE PROJECTION

12.3.2

Algorithme dapprentissage

Lalgorithme dapprentissage est donn en 16 sous forme schmatique. e e Algorithme 16 Apprentissage dans un rseau de Kohonen e Ncessite: les N donnes dapprentissage X e e initialiser les we,i alatoirement e rpter e e mlanger les exemples e pour tout exemple xi X faire placer xi en entre e dterminer lunit la plus active (unit vainqueur) iv e e e e dterminer les units voisines de lunit vainqueur iv e e e mettre ` jour les poids des units en fonction de leur proximit ` lunit a e ea e vainqueur iv n pour jusque variation des poids est faible On dcrit ci-apr`s les trois phases de lalgorithme qui apparaissent dans la e e boucle rpter ci-dessous. e e Auparavant, bri`vement, on donne lide gnrale de ce que fait cet algoe e e e rithme. Lobjectif est que les poids entre les entres et chaque neurone entra e ne la proprit suivante : deux donnes ressemblantes activent des units proches ee e e et, au contraire, deux donnes dissemblables activent des units loignes. Pour e e e e cela, quand une donne est prsente en entre, on sarrange pour crer un grae e e e e dient dactivation dcroissant autour de lunit la plus active. La correction e e e apporte ` chaque poids dpend donc de la distance ` lunit vainqueur. Au e a e a e dbut, ce forage a lieu sur lensemble du rseau ; petit ` petit, la modication e c e a des poids ne concerne plus que les units tr`s proches de lunit vainqueur. e e e On reprend maintenant les 3 tapes composant le corps de la boucle rpter e e e de lalgorithme 16. Dterminer lunit la plus active e e e :

x 1. pour chaque neurone i, on calcule son activation ai =< i , > o` est w u x la donne en entre vue comme un vecteur ayant P composantes, i est e e w le vecteur des poids synaptiques reliant les P entres au neurone i : e i = w w1,i w2,i ... wP,i

12.3. RESEAUX DE KOHONEN

187

2. on dtermine le neurone vainqueur dont lactivation est la plus forte : e cela peut se faire par : iv = arg max i ||ai || ; cela peut aussi se faire par : w iv = arg min i || i || ce qui permet dviter le calcul de lactivation de x e tous les neurones.

Dterminer les units voisines de lunit vainqueur : le neurone vaine e e queur est au centre dun voisinage. Ce voisinage est mesur par une fonction e hiv ,j o` iv est le neurone vainqueur, j un autre neurone. Ce voisinage est dni u e grce a une fonction distance di,j qui donne la distance entre le neurone i et le a ` neurone j. hi,j doit tre symtrique autour du neurone vainqueur. De plus, hi,j e e doit dcro de mani`re monotone quand on sloigne du neurone vainqueur. e tre e e Aussi, un choix typique est une gaussienne : hi,j = e 2
d2 i,j 2

dont lcart-type caractrise la largeur du voisinage. e e Pour la distance, on peut prendre : si les neurones sont disposs en ligne : di,j = |i j| ; e si les neurones sont disposs sur une grille : leur distance euclidienne. e Il est bon que la taille du voisinage dcroisse au cours du temps. On y arrive e t/1 en prenant (t) = (0)e , (0) et 1 tant des constantes, t tant le numro e e e de litration courante dans lalgorithme 16. e Mise ` jour des poids : sous forme vectorielle, on peut crire la mise ` jour a e a des poids synpatiques du neurone i comme suit : i = f (i) g(f (i))i w x w o` : u est le taux dapprentissage ; f (i) peut tre pris gal ` hj,iv ; e e a g(f (i)) doit tre nul si f (i) = 0 et positive sinon ; on peut prendre e g(f (i)) = f (i). Do` : u wi = hi,iv (x wi ) On peut prendre (t) = 0 et/2 .

12.3.3

Droulement de lapprentissage e

Dun point de vue qualitatif, partant dun tat de dsordre complet, lape e prentissage seectue en deux phases :

188

CHAPITRE 12. METHODES DE PROJECTION

auto-organisation : environ un millier ditrations au cours desquels est e cre une topologie (des relations de voisinage) grossi`re sur les K units ; ee e e convergence au cours de laquelle la valeur des poids est ane (nombre e ditrations = environ 500 fois le nombre de neurones). e Durant la phase dauto-organisation, on peut prendre 0 0.1 et 2 = 1000. Concernant la fonction h, celle-ci doit tre telle quau dbut, le voisinage dun e e neurone est constitu de tous les neurones, puis ce voisinage diminue jusqu` ne e a 1000 contenir que tr`s peu de neurones (voire 0 ou 1). On peut prendre 1 = log(0 ) . e Durant la phase de convergence, on peut conserver (t) 0.01 constant. h ne doit contenir que tr`s peu de neurones (voire 0 ou 1). e Ces deux phases ne sont pas explicitement spares : elles sencha e e nent delles-mmes au cours de lexcution de lapprentissage. e e

12.3.4

Exploitation dun apprentissage

Une fois lapprentissage eectu, le rseau sest auto-organis. On peut lue e e tiliser pour projeter de nouvelles donnes et dterminer les donnes dapprene e e tissage qui en sont les plus proches (cf. k-plus proches voisins au chap. 5) : ce sont les donnes les plus ressemblantes. e On prend lexemple suivant : un ensemble danimaux, chacun est dcrit par e 13 caract`res (cf. table 12.4). e On utilise une grille de 10 10 neurones. En entre, on place un vecteur e (normalis) ayant 13 composantes (les 13 caract`res). On eectue 2000 itrations e e e pour que lapprentissage soit eectu. e Ensuite, on place en entre chacun des exemples. Pour chaque exemple, on e note le neurone le plus activ. Par exemple, on obtient la carte indique ` la e e a gure 12.6. On peut aussi reprsenter une carte sur laquelle chaque neurone est tiquet e e e avec lentre qui le rend le plus actif 12.7. On constate des regroupements tout e a ` fait signicatifs entre direntes catgories danimaux qui sont intuitivement e e ressemblantes.

12.3.5

Application des rseaux de Kohonen ` des textes e a

On prsente ici Websom, une application grandeur relle des rseaux de Koe e e honen ` la classication de textes [Kohonen et al., 2000, websom@websom.hut., a 1999, Lagus et al., 1999]. Il sag dorganiser des documents : il y a notamment eu des applications ` t a des news (WEBSOM) et ` des rsums de brevets pour WEBSOM2. Le rseau a e e e est bi-dimensionnel. Chaque document est associ ` un neurone. Plus les neuea rones associs ` deux documents sont proches, plus les textes sont proches. e a Initialement, les textes sont classs en un certain nombre de classes. e

coq

canard

oie

hi bou

faucon

aigle

renard

chien

loup

chat

tigre

lion

cheval

z`e bre

vache

12.3. RESEAUX DE KOHONEN

est

aime

Table 12.4 Des animaux et leurs caract`res e


. . x . x x x . . . . .

petit moyen grand 2 pattes 4 pattes poils sabots crini`re e plumes chasser courir voler nager

colombe x . . x . . . . x . . x . x . . x . . . . x . . . . x . . x . . . . x . . . x x . . x . . . . x . . x x x . . x . . . . x x . x . x . . x . . . . x x . x . . x . x . . . . x x . . . . x . . x x . . . x . . . . x . . x x . . . . x . . . x . . x x . x . x x . . x . . . x x . . . x . . . . . x . x x . . . x x . . . . x . x x . x . x x . . . . x . x x x x . . x . . . . x . x x x x . . x . .

189

190

CHAPITRE 12. METHODES DE PROJECTION

chien . . . loup . . cheval . z`bre e

. . . . . . . . . .

. . . . . . . . . .

renard . . . . lion . . . .

. . . . . . . . vache .

. . . . . . . . . .

chat . . tigre . . . . . .

. . . . . . . coq . canard

. . . . . . . . . .

aigle . hibou . faucon . colombe . oie .

Figure 12.6 Pour chaque neurone de la carte de Kohonen, on indique le neurone le plus actif pour chacun des exemples prsent en entre, une fois e e e lapprentissage eectu. e

chien chien loup loup loup loup cheval cheval z`bre e z`bre e

chien chien loup loup loup loup cheval cheval z`bre e z`bre e

renard renard lion lion lion lion lion z`bre e z`bre e z`bre e

renard renard lion lion lion lion lion vache vache vache

renard renard lion lion lion lion lion vache vache vache

chat chat tigre tigre tigre hibou colombe vache vache vache

chat chat tigre tigre tigre colombe coq coq coq canard

chat chat tigre tigre tigre faucon coq coq coq canard

aigle aigle hibou faucon faucon colombe colombe colombe canard canard

aigle aigle hibou faucon faucon colombe colombe colombe oie oie

Figure 12.7 Pour chaque neurone de la carte de Kohonen, on indique la valeur en entre qui produit la plus grande activation. On peut partionner les e neurones en deux groupes connexes : les oiseaux et les mammif`res. On constate e galement que les prdateurs sont concentrs en haut et les proies vers le bas. e e e

12.3. RESEAUX DE KOHONEN

191

Reprsentation dun texte e Chaque texte est reprsent par un sac de mot (cf. chap. 4, section 4.5.1). e e Dans le cas de WEBSOM2, il y a N = 7 106 documents. On constitue donc le vocabulaire de ces documents dont on retire les mots qui apparaissent moins de 50 fois et les 1335 mots les plus communs ont t limins. Cela fournit un eee e corpus de 43222 mots. Chaque texte de brevet peut ainsi tre reprsent par e e e un vecteur ayant 43222 composantes. Parmi ces 43222 mots potentiels, chaque texte contient 132 mots dirents en moyenne. e Pondration des mots du sac Chaque composante du vecteur document e est, en gros, le nombre doccurences du terme dans le documents (histogramme). En fait, chaque mot est pondr par son entropie de Shannon. ee Notons |Y| le nombre de catgorie de textes. On calcule le poids w(m, y) du e mot m dans la catgorie y par : e w(m, y) = nombre doccurences de m dans les textes de catgorie y e nombre doccurences de m dans tous les textes

Lentropie de Shannon de m est alors : H(m) = w(m, y) log (w(m, y))


yY

(cf. lentropie rencontre dans les arbres de dcision au chap. 3) do` lon e e u dduit le poids du mot m : e w(m) = Hmax H(m) = log (|Y|) H(m) Reprsentation caractristique dun texte Cependant, 43222 come e posantes est trop. De plus, deux documents ayant mme histogramme de mots e peuvent avoir des sens tr`s dirents. Hors, on est intress par des documents e e e e proches au sens de leur smantique, pas du vocabulaire qui sy trouve. Aussi, e on construit une reprsentation caractristique des textes. Cette reprsentation e e e abstraite devra tre proche si les documents quelle reprsente sont proches. e e Une possibilit couramment utilise consiste ` rduire le nombre de come e a e posantes. Plusieurs techniques sont possibles consistant ` projeter ce vecteur a dans un espace de plus petite dimension : indexation par la smantique latente e (cf. 12.1.4) par exemple, ou projection alatoire. Cette derni`re technique est e e tr`s simple ` mettre en uvre et elle donne des rsultats tonnemment bons e a e e dans lapplication WEBSOM2. La projection alatoire consiste simplement ` e a slectionner alatoirement un certain nombre de dimensions (500 dans WEBe e SOM2) et ` nutiliser que ces dimensions des vecteurs documents. a On construit une matrice d (nombre de dimensions de lespace projet) lignes e sur n colonnes (dimension initiale du vecteur ` projeter). Chaque colonne est a

192

CHAPITRE 12. METHODES DE PROJECTION

norme. Chaque composante de la matrice est tire selon une distribution nore e male centre rduite. e e Une fois cette matrice de projection constitue, on multiplie simplement e chaque vecteur document par cette matrice pour obtenir sa projection dans lespace d dimensionel. Sur des chantillons, d`s que d > 100, on a constat exprimentalement e e e e que le rsultat de la classication est aussi bon que si lon prend les vecteurs e documents complets. Ainsi, le codage des documents est de complexit O(N L) + O(n) o` N est e u le nombre de documents, L est le nombre moyen de mots dirents par texte e et n est la dimension initiale du vecteur document (43222 ici). Lindexation par la smantique latente aurait entra e une complexit du codage de O(N Ld) o` e n e u d est la dimension rsultante (500 ici), clairement bien suprieure. Par ailleurs, e e cette technique ncessite une dcomposition en valeurs singuli`res qui est une e e e opration numrique coteuse, videmment bien plus coteuse que la gnration e e u e u e e de d nombres alatoires. e Apprentissage de la carte La carte terminale est constitue de 1002240 neurones. Avec 500 entres, e e lapprentissage consiste a trouver 500 106 poids. Lentra ` nement dun tel nombre de poids serait extrmement coteuse, voire peut tre mme impossible dans la e u e e pratique avec les ordinateurs actuels. Aussi, lapprentissage sest fait en 4 tapes en commenant avec un petit e c nombre de neurones et en augmentant ce nombre une fois lapprentissage effectu. Initialement, on utilise 435 neurones ; apr`s apprentissage des poids, on e e ` multiplie ce nombre par 16, puis par 16 et enn par 9. A chaque tape, lape prentissage est refait ; en dehors de la toute premi`re tape, lapprentissage e e est eectu en sappuyant sur lapprentissage prcdent. Une fois un apprentise e e sage eectu, on augmente le nombre de neurones, donc le nombre de poids. e Les poids dun nouveau neurone sont initialiss en eectuant une interpolation e linaire avec les 3 neurones les plus proches de la carte prcdente. e e e 2 2 Ainsi, lapprentissage complet cote O(dM ) + O(dM ) + O(M0 ) o` d est u u le nombre dentres (500), M est le nombre nal de neurones (1 million) et e M0 est le nombre initial de neurones (435). Tout cela a demand 300.000 pas e dapprentissage. Par entra nement direct du million de neurones, le cot aurait u 2 t O(dM ). Le gain est donc denviron M/M0 , soit environ 20.000 ; hors, ainsi ee ralis, lapprentissage a ncessit 6 semaines de calcul sur une machine SGI e e e e O2000 quipe de 6 processeurs 10 . e e Une fois termin lapprentissage, la classication de documents dans la carte e
10. ce qui en fait une machine puissante pour lpoque. e

12.4. CONCLUSION

193

obtenue entra 64 % de classements corrects (mesur sur un jeu de donnes ne e e tiquet). e e Visualisation de la carte Une interface graphique de type hyper-texte a t ee construite pour exploiter lapprentissage ainsi eectu. Lensemble des classes e est localis dans un espace bi-dimensionnel dans lequel on peut naviguer en e cliquant sur les zones qui nous intressent. On obtient alors des informations e de plus en plus dtailles jusqu` atteindre les documents eux-mmes ; on peut e e a e aussi naviguer de proche en proche. Etiquetage automatique de la carte Utilisation de la carte analyse et comprhension dun ensemble de textes ; e classication de nouveaux textes ; recherche des documents proches dun certain document (cf. k-plusproches-voisins, chap. 5) ; Notons pour nir que les cartes de Kohonen peuvent tre appliques ` e e a dautres types de donnes. Il existe notamment une application du mme genre e e que websom pour la musique.

12.3.6

Autres applications des rseaux de Kohonen e

Les applications des cartes auto-organises sont nombreuses. On en trouve e mme sur les tlphones portables. Une jolie application concerne la musique e ee [group at Vienna University of Technology]. .... http://www.music-map.com

12.3.7

Critique des cartes de Kohonen

+ bonne capacit de gnralisation ; e e e + tr`s utilis pour des tches diciles : analyse signal (caract`res crits, e e a e e analyse signal, ...) ; + fonctionne bien mme en prsence de donnes bruites ; e e e e + visualisation du rsultat ; e dtermination du nombre dunits pas forcment vidente ; e e e e - trouve un optimum local et non global ; - dicile dextraire un mod`le de lapprentissage eectu par le rseau. e e e

12.4

Conclusion

Il existe de tr`s nombreuses autres techniques de projections linaires ou non e e linaires. Ce domaine de recherche est tr`s actif depuis une dizaine dannes. e e e

194

CHAPITRE 12. METHODES DE PROJECTION

Figure 12.8 Exemple de carte construite par Websom.

12.5. LES LOGICIELS LIBRES

195

Lalgorithme des centres mobiles (chap. 11) peut lui aussi tre vu comme une e mthode de projection : chaque donne est projete sur lun des K centres. e e e On peut citer lanalyse en composantes curvilignes (Demartines and Hrault e [1997]), les gaz de neurones (Fritzke [1994]), LLE (Saul and Roweis [2003]), Isomap (Tenebaum et al. [2000]), SNE (Hinton and Roweis [200]).

12.5

Les logiciels libres

SOM PAK : the self-organizing map program package : http://www.cis. hut.fi/nnrc/papers/som_tr96.ps.Z ggobi est un magnique logiciel libre pour lexploration visuelle et interactive de donnes. Il contient un module pour la mise ` lchelle multie a e dimensionnelle : http://www.ggobi.org DemoGNG : joli logiciel qui permet de tester de nombreux algorithmes de projection non linaire. http://www.neuroinformatik. e ruhr-uni-bochum.de/ini/VDM/research/gsn/DemoGNG/GNG.html

12.6

Rfrences ee

Deux livres qui font une prsentation gnrale de lACP, AFC et AFD : le e e e Que-sais je ? [Bouroche and Saporta, 1980] tout simplement et [Lebart et al., 1997]. [Foucart, 1997] est moins acadmique (en particulier, lauteur ne e prsente pas les motivations des calculs et prsente de nombreuses applications). e e Pour la mise ` lchelle multi-dimensionnelle, le livre de Cox et Cox [Cox a e and Cox, 2001] est incontournable. Pour les cartes auto-organises, le livre de Kohonen Kohonen [2001] est la e rfrence. ee

12.7

Exercices

196

CHAPITRE 12. METHODES DE PROJECTION

Chapitre 13

Les r`gles dassociation e


Contenu
13.1 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . e 13.2 Algorithme A-Priori . . . . . . . . . . . . . . . . . . 198 199

13.2.1 Construction des ensembles ditems frquents . . . . 199 e 13.2.2 Gnration des r`gles dassociation a partir des EIF 201 e e e ` 13.2.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . 202 13.2.4 Application sur lexemple . . . . . . . . . . . . . . . 202 13.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 203 13.4 Les paires rares mais importantes

13.4.1 Similarit . . . . . . . . . . . . . . . . . . . . . . . . 204 e 13.4.2 Signature . . . . . . . . . . . . . . . . . . . . . . . . 204 13.4.3 Signature par hashage min . . . . . . . . . . . . . . 205 13.4.4 Hashage localement sensible (LSH) . . . . . . . . . . 206 13.4.5 Hashage k-min . . . . . . . . . . . . . . . . . . . . . 206 13.5 Logiciels libres . . . . . . . . . . . . . . . . . . . . . 206

On dispose de N donnes xi , chacune dcrites par P attributs ; xi,j dnote e e e la valeur de lattribut aj de la donne i. e Dans de nombreuses applications, chaque attribut correspond ` un item et a la valeur de cet attribut dans une donne particuli`re indique sa quantit dans e e e cette donne. Un cas particulier est celui o` les attributs sont ` valeur binaire e u a et indiquent la prsence ou labsence dun item. e Une r`gle dassociation est de la forme ai = vi , aj = vj , ...am = vm a = e v , a = v , ..., ce qui sinterprte par : si les attributs ai , aj , ... am ont une e certaine valeur, alors lattribut a prend gnralement une certaine valeur v , e e a une certaine valeur v , ... . La dicult consiste notamment ` trouver des r`gles qui soient signicatives e a e et non seulement le rsultat du hasard. Les valeurs de N et P sont gnralement e e e 197

198

` CHAPITRE 13. LES REGLES DASSOCIATION

tr`s grandes (N = 106 et P = 105 par exemple). e On sintresse au cas o` les attributs prennent une valeur binaire, indiquant e u donc la prsence ou labsence dun item. On prsente une approche qui sappuie e e sur la notion densemble ditems frquents (EIF), cest-`-dire, des items qui sont e a souvent prsents ensemble dans une mme donne. Apr`s avoir dtect ces EIF, e e e e e e on gn`re ensuite des r`gles dassociation. e e e

13.1

Dnitions e

Dans ce qui suit, pour illustrer le discours, on part des individus suivants : Item A x x x x Item B x x x x Item C x Item D

individu individu individu individu individu

1 2 3 4 5

Le tableau de co-occurences est un tableau indiquant pour chaque paire ditems le nombre de co-occurences dans lensemble des individus : Item A 3 1 2 1 Item B 1 3 0 0 Item C 2 0 2 1 Item D 1 0 1 1

Item Item Item Item

A B C D

Dnition 14 On dnit le e e support dun ensemble ditems comme la frquence dapparition simultane des items gurant dans lensemble. e e Un synonyme ` support est couverture . a Exemples : support (A, B) = 1 car A et B napparaissent simultanment que dans e 5 lindividu 1 ; support (A, C) = 2 car A et C apparaissent simultanment dans les indie 5 vidus 2 et 4. On dit quun ensemble ditems est un ensemble ditems frquents si le support e de cet ensemble ditems est suprieur ` un certain seuil (> 1% par exemple). e a Proprit 6 Si S est un ensemble ditems frquents, alors tout sous-ensemble e e e de S est galement un ensemble ditems frquents. e e

13.2. ALGORITHME A-PRIORI

199

Dnition 15 Un ensemble ditems frquents S est maximal si tout sure e ensemble de S nest pas un EIF.

Dnition 16 La e conance sion est le rapport :

dune r`gle e

si condition alors conclu-

nombre de donnes o` les items de la condition et de la conclusion apparaissent simultanment e u e nombre de donnes o` les items de la condition apparaissent simultanment e u e Exemples : 1 conance (si A, alors B) = 3 car A et B apparaissent simultanment dans e 1 individu et A appara dans 3 individus ; t conance (si A, alors C) = 2 car A et C apparaissent simultanment dans e 3 2 individus et A appara dans 3 individus. t On dnit un seuil de conance comme la valeur minimale que la conance e doit avoir pour que lapparition simultane des items considrs ne puisse pas e ee tre simplement due au hasard, dans le cas o` litem C est tr`s frquent dans e u e e les individus. On ne sintresse quaux r`gles ayant une conance maximale. e e Proprit 7 Si la r`gle si a et b alors c et d e e e un seuil x, alors les deux r`gles : e e si a et b et d alors c si a et b et c alors d ont une conance suprieure ` ce mme seuil. e a e Attention, si la r`gle si a et b alors c et d e seuil x, on ne peut rien dire quant aux r`gles e e b alors d . a une conance suprieure ` e a

a une conance suprieure au e si a et b alors c et si a et

13.2

Algorithme A-Priori

On va maintenant prsenter un algorithme qui dtermine les r`gles dassocie e e ation prsentes dans un jeu de donnes, pour un seuil de support et un seuil de e e conance xs. e Cet algorithme fonctionne en deux phases : tout dabord on recherche les ensembles ditems frquents ; ensuite, on utilise ces EIF pour dterminer les e e r`gles dassociation dont la conance est suprieure au seuil x. e e e

13.2.1

Construction des ensembles ditems frquents e

La construction des EIF est itrative : on va construire les EIF contenant e un seul item, puis ceux contenant 2 items, puis ceux contenant 3 items, ...

200

` CHAPITRE 13. LES REGLES DASSOCIATION

Lide est donc de ne retenir que les items dont le support est suprieur au e e seuil x, puis les paires ditems, puis les triplets, ... Pour cela, on pourrait e considrer successivement toutes les paires ditems possibles, compter le nombre e doccurences de chacune et dterminer si leur support est suprieur au seuil ; on e e ferait ensuite de mme pour les triplets, ... Cependant, cette approche nest pas e envisageable dans la pratique o` le nombre de donnes et surtout dattributs u e est tr`s grand : cette approche na demanderait des temps de calcul beaucoup e ve trop grands (complexit temporelle non polynomiale : cf. annexe C). e On va en fait sappuyer sur la proprit mentionne plus haut (cf. proposiee e tion 6) : pour quun ensemble ditems soit frquents, il faut que tous ses souse ensembles soient des EIF. Ainsi, ce nest pas la peine de sintresser ` des ene a sembles ditems dont tous les sous-ensembles ne sont pas eux-mmes des EIF. e Ces remarques nous fournissent lalgorithme pour engendrer tous les EIF : on commence par dterminer les EIF de taille 1 ; on note cet ensemble L1 . Ensuite, e on construit lensemble C2 des EIF candidats de taille 2 : ce sont tous les couples construits ` partir des EIF de taille 1. On obtient la liste des EIF de taille 2 L2 a en ne conservant que les lments de C2 dont le support est suprieur au seuil. ee e On construit alors C3 , lensemble des triplets ditems dont les 3 sous-paires sont dans L2 et on ne retient que ceux dont le support est suprieur au seuil, ce qui e produit L3 . Et ainsi de suite, tant que Li nest pas vide. Plus formellement, on obtient lalgorithme 17.

Algorithme 17 Algorithme A-priori qui construit tous les EIF. Ceux-ci sont ensuite disponibles dans les variables Li . Ncessite: un support seuil s e L1 liste des items dont le support est > s i1 rpter e e i++ a ` partir de Li1 , dterminer lensemble Ci des EIF candidats comprenant e i items. Li pour tout lment e Ci faire ee si support (e) > seuil alors aouter e ` Li a n si n pour jusque Li =

13.2. ALGORITHME A-PRIORI

201

13.2.2

Gnration des r`gles dassociation ` partir des EIF e e e a

Disposant des EIF, il nous faut maintenant les transformer en r`gles. Avec e les notations prcdentes, on dispose dun ensemble de Li pour des i croissant e e de 1 ` une certaine valeur, chaque Li tant une liste de i items dont la frquence a e e dapparitions est suprieure ` un certain seuil. e a Supposons que L3 contienne le triplet (a, b, c). Plusieurs r`gles dassociation e peuvent tre engendres par ce triplet : e e 1. si a et b alors c 2. si a alors b et c 3. si b et c alors a 4. si b alors a et c 5. si a et c alors b 6. si c alors a et b Parmi ces 6 r`gles candidates, on ne doit retenir que celles dont la conance e est suprieure au seuil x. e e Si lnumration des r`gles candidates est possible sur ce petit exemple, il e e e faut bien tre conscient que sur dans une application relle cela est impossible : e e a ` nouveau, le nombre de r`gles candidates est beaucoup trop grand. Il nous faut e donc une mthode plus judicieuse. e Remarque
Exercice : soit un EIF contenant i items. Combien y-a-til de r`gles candidates ? Quen penseze vous ?

` A nouveau, on va adopter une approche itrative. En eet, il est tout ` fait e a envisageable de tester toutes les r`gles candidates dont la conclusion ne contient e quun seul item. Remarque
Exercice : soit un EIF contenant i items. Combien y-a-til de r`gles candidates ayant un seul e item en conclusion ? Quen pensez-vous ?

Ensuite, on va appliquer la proposition 7 : ainsi, supposons que L4 = {(a, b, c, d)}. Supposons que la conance des r`gles si a et b et c alors d et e si a et b et d alors c soit suprieure au seuil. Dans ce cas, on peut amer e que la conance de la r`gle si a et b alors c et d est galement suprieure e e e au seuil. Ainsi, ` partir des r`gles ayant un seul item en conclusion et dont la a e conance est suprieure au seuil, on peut engendrer les r`gles ayant deux items e e en conclusion dont la conance est suprieure au seuil. Bien entendu, on peut e ensuite itrer vers les r`gles ayant 3 items en conclusion, puis 4, ... e e

202

` CHAPITRE 13. LES REGLES DASSOCIATION

13.2.3

Discussion

Le nombre ditems tant typiquement grand, le nombre de r`gles ` valuer e e ae cro tr`s vite en fonction de i. Il faut donc optimiser. On peut par exemple : t e laguer par support minimum : pour un n donn, on ne consid`re que les e e e r`gles ayant un support suprieur ` un seuil x : ceci limine les items e e a e e trop peu frquents pour gnrer des r`gles intressantes ; e e e e e ne sintresser qu` certaines r`gles, par exemple, celles dont la conclusion e a e correspond ` un certain item ; a faire des regroupements ditems. Avantages de la mthode : e liste ditems de taille variable rsultats clairs e Dfauts : e produit normment de r`gles parmi lesquels peu sont vritablement e e e e intressantes : post-traitement humain important ; e peut produire des r`gles triviales ; e cot en temps de calcul important : complexit non polynomiale ; u e probl`me dans le cas o` les donnes sont bruites. e u e e Dirents algorithmes ont t proposs qui ont des performances bien e ee e suprieures ` A-Priori : voir par exemple Fp-Growth [Han et al., 2000] ou PCY. e a

13.2.4

Application sur lexemple

Sur lexemple vu plus haut, on prend un support minimal de 2. On a : L1 = {A, B, C} C2 = {(A, C)} L2 = {(A, C)} C3 = Les r`gles suivantes sont examines : e e si A et B alors C si A et C alors B si B et C alors A dont les conances sont nulles. On nexamine donc pas de r`gles ayant deux e items en conclusion.

13.3

Applications

Lalgorithme A-priori est notamment appliqu au probl`me de lanalyse du e e panier de la mnag`re. Dans ce cas, chaque individu est un e e panier dun client de supermarch et chaque item est un produit qui sy trouve. Le grant e e

13.4. LES PAIRES RARES MAIS IMPORTANTES

203

du supermarch est intress par savoir quels articles sont achets ensemble de e e e e mani`re frquente. e e Pour limiter le nombre dattributs (un attribut = un type de produit vendu), on peut eectuer des regroupements ditems comme conserves , conserves de lgumes , conserves de lgumes de telle marque , conserves de lgumes e e e de telle taille , ... On peut aussi ajouter dautres attributs virtuels comme n de semaine ou priode de vacances scolaires e qui permettent dextraire des r`gles de la forme : si produits a, b et c et n de semaine alors produit l . e Dans dautres applications dextraction de r`gles dassociation, les individus e sont des textes et les items des mots, ou encore les individus sont tre des phrases e et les items des documents.

13.4

Les paires rares mais importantes

On sintresse maintenant ` la recherche de paires ditems dont le support e a est faible mais dont la prsence est fortement corrle. e ee Les donnes peuvent tre vues comme une matrice X = (xi,j ) dont chaque e e ligne reprsente un individu et chaque colonne reprsente un item. Typiquement e e la matrice xi,j est tr`s creuse : pour chaque individu, il ny quune faible proe portion ditems prsents (souvent bien moins qu1 %). On cherche des paires de e produits souvent prsents ensemble, i.e. des colonnes similaires. Le probl`me ` e e a rsoudre est donc de trouver le plus ecacement possibles ces paires de colonnes e similaires, en faisant lhypoth`se que les items apparaissent rarement (support e faible). On peut essayer dutiliser lalgorithme A-Priori vu plus haut mais il est mal adapt ` la recherche ditems de support faible ; on peut aussi essayer ea dimaginer des mthodes plus spciques. Cest ce que nous dcrivons ci-dessous. e e e On suppose par ailleurs que : P est susamment petit pour que lon puisse stocker une information (un nombre) concernant chaque colonne en mmoire centrale, mais on ne peut e pas stocker en mmoire centrale pour chaque paire dattributs ; e N est tellement grand que lon ne peut pas stocker toute la matrice en mmoire centrale, mme en tenant compte du fait que la matrice est creuse, e e et mme en la compressant ; e on cherche une alternative ` lutilisation des crit`res utiliss plus haut a e e (support, conance) car lensemble de paires candidates est trop grand pour tre numr en un temps raisonnable. e e ee Les applications de cette recherche de paires fortement corrles ` faible ee a support sont : lignes et colonnes sont des pages web et xi,j = 1 si la page i pointe sur la page j. Dans ce cas, des colonnes similaires peuvent tre des pages traitant e

204

` CHAPITRE 13. LES REGLES DASSOCIATION

dun mme sujet : ces pages sont pointes par les mmes pages ; e e e lignes et colonnes sont des pages web et xi,j = 1 si la page j pointe sur la page i. Dans ce cas, des colonnes similaires sont des pages miroirs ; les lignes sont des pages web ou des documents, les colonnes sont des mots. Des colonnes similaires indiquent des mots qui apparaissent souvent ensemble dans les mmes pages ; e les lignes sont des pages web ou des documents, les colonnes sont des phrases. Les colonnes similaires indiquent des pages miroir ou des plagiats.

13.4.1

Similarit e

On commence par prciser ce que lon entend par e similarit de deux e colonnes. Informellement, deux colonnes sont similaires si elles ont gnralement e e des 1 aux mmes lignes. e Dnition 17 On mesure la similarit de deux colonnes x.,j et x.,k par le rape e port entre le nombre de lignes o` xi,j et xi,k sont gaux ` 1 en mme temps par u e a e le nombre de lignes o` lun des deux seulement vaut 1 : u Sim(x.j , x.k ) = |xi,j xi,k | |xi,j xi,k | (13.1)

Complexit du calcul de Sim : O(N ) pour deux colonnes donnes ; il y a e e 2 2 O(P ) paires de colonnes ; donc O(N P ) pour lensemble des donnes. e En prenant N = 106 et P = 105 , N P 2 = 1016 . Sur un ordinateur capable deectuer 1 million de comparaisons par seconde, le calcul de Sim demande 1010 secondes, soit 10 milliards de secondes, soit ... 300 ans ! On va donc essayer de trouver des mani`res de diminuer largement le temps e de calcul. Pour cela, on va adopter une approche statistique : au lieu de calculer Sim, on va calculer une autre quantit qui aura la mme valeur statistiquement e e (un estimateur de Sim autrement dit), mais moins coteuse en temps de calcul. u

13.4.2

Signature

On va dnir la signature dune colonne Sig(aj ) de telle mani`re que : e e complexit spatiale : Sig(aj ) est susamment petit pour que lon puisse e la stocker en mmoire centrale pour toutes les colonnes ; e cohrence des notions de signature et de similarit : deux colonnes x.,j et e e x.,k sont tr`s similaires si leurs signatures sont tr`s similaires. e e Une ide qui ne marche pas : slectionner au hasard 100 lignes ; considrer e e e la colonne qui nous intresse et la valeur des bits de cette colonne uniquement e sur ces 100 lignes ; la cha de 100 bits obtenue est la signature de la colonne. ne Au lieu de faire 106 comparaison par paire de colonnes, on nen ferait plus que 100 : on gagne donc un facteur 104 , soit un temps de calcul global denviron

13.4. LES PAIRES RARES MAIS IMPORTANTES

205

106 secondes, soit 12 jours : de ce point de vue, cest beaucoup mieux que 300 ans. Cependant, cette ide ne marche pas car, en gnral, la signature dune e e e colonne ne sera compose que de 0 ; donc, deux colonnes quelconques seront e gnralement considres comme similaires mmes si leurs 1 sont placs sur des e e ee e e lignes direntes. e On dnit le type de deux colonnes pour une ligne donne par a, b, c ou d e e comme suit : Type a b c d xi,j 1 1 0 0 xi,k 1 0 1 0

Pour une paire de colonnes, On note respectivement a, b, c et d le nombre de lignes de type a, b, c et d. On a : Sim(x.,j , x.,k ) = |xi,j xi,k | a = |xi,j xi,k | a+b+c (13.2)

Il nous reste ` trouver une bonne signature, bonne dans le sens o` deux a u colonnes ayant des signatures similaires sont des colonnes eectivement similaires, et dans le sens o` son calcul nest pas trop coteux ? Cest la question u u aborde dans les 4 prochaines sections. e

13.4.3

Signature par hashage min

Cette premi`re approche consiste tout dabord ` slectionner 100 numros e a e e de lignes (100 nombres compris entre 1 et N donc). Ensuite, pour chaque colonne aj , on calcule sa signature de la mani`re suive ante : pour chaque numro de ligne i, on note h(aj )(i) le plus petit numro de e e ligne k i tel que xi,j = 1. Lensemble des 100 nombres h(aj ) constitue la signature de la colonne aj . Considrons deux colonnes aj et ak de la matrice X. P r[h(aj )(i) = e a h(ak )(i)] = a+b+c , i {1, ...100}, avec a, b et c dnis comme prcdemment e e e selon le type des deux colonnes. On constate que cette probabilit est gale ` la e e a similarit des deux colonnes. e Donc, la similarit des deux listes h(aj ) et h(ak ) est une bonne mesure de la e similarit des deux colonnes ; elle est statistiquement signicative. Son cot de e u calcul est faible.

206

` CHAPITRE 13. LES REGLES DASSOCIATION

13.4.4 13.4.5

Hashage localement sensible (LSH) Hashage k-min

13.5

Logiciels libres

apriori de Ch. Borgelt : http://fuzzy.cs.uni-magdeburg.de/ e ~borgelt/software.html#assoc . Voir aussi le logiciel eclat sur la mme page ; weka contient une implantation de lalgorithme A-Priori ; http://www. cs.waikato.ac.nz/~ml un gnrateur de jeux de donnes : quest sur le site http://www.ibm.com ; e e e Magnum Opus : http://www.rulequest.com : logiciel commercial dont une version de dmonstration est accessible gratuitement en ligne ; les algoe rithmes sont dcrits dans Webb [2000] e

Chapitre 14

Prdiction numrique e e
Contenu
14.1 Rgression linaire simple et multiple . . . . . . . e e 14.2 Arbres de rgression e . . . . . . . . . . . . . . . . . 207 207 208 208 208 208

14.3 Rseau de neurones . . . . . . . . . . . . . . . . . . e 14.4 Rgression ` vecteur support : RVS . . . . . . . . e a 14.5 Rgression locale pondre . . . . . . . . . . . . . . e e e 14.6 Logiciels libres . . . . . . . . . . . . . . . . . . . . .

Ce chapitre aborde un probl`me tr`s gnral o` il sag de dterminer e e e e u t e ltiquette de donnes, cette tiquette tant cette fois une variable continue, e e e e quantitative. De nombreuses mthodes ont t proposes. Voir par exemple Moe ee e tulsky and Christopoulos [2003], Hilborn and Mangel [1997] et le chapitre 15 de [Press et al., 1988] 1 . Comme dans les autres chapitres, on dispose dun jeu de N donnes not X , e e chacune tant dcrite par P attributs. On suppose ces attributs quantitatifs. e e

14.1 14.2

Rgression linaire simple et multiple e e Arbres de rgression e

Cette technique produit un mod`le linaire par morceaux. e e Principe : on construit un arbre de dcision dans lequel chaque feuille cone tient une formule de rgression linaire. Selon la feuille dans laquelle une donne e e e est classe, telle ou telle fonction est utilise pour estimer la classe de la donne. e e e
1. il est peut-tre bon de rappeler ici que les programmes en C reproduits dans ce livre sont e tous faux ! Il nen demeure pas moins que les explications sont correctes et tr`s intressantes. e e

207

208

CHAPITRE 14. PREDICTION NUMERIQUE

14.3

Rseau de neurones e

On peut appliquer ce que nous avons dit concernant la classication par rseau de neurones supervis (cf. chap. 7) ` la rgression non linaire. On a e e a e e montr quun rseau de neurones supervis constitu dune couche cache due e e e e nits sigmo e des et dune sortie linaire est un approximateur de fonctions unie versel Hornik [1991].Donc, au lieu dapprendre la classe ` valeur discr`te associe a e e a ` chaque donne, on apprend au rseau une valeur continue. e e Tout ce qui a t dit sur la classication par rseau de neurones supervis ee e e sapplique ici (cf. chap. 7).

14.4

Rgression ` vecteur support : RVS e a

Les machines ` vecteurs supports ont t adaptes au probl`me de rgression a ee e e e (rgression ` vecteurs supports : RVS). e a

14.5 14.6

Rgression locale pondre e e e Logiciels libres

weka contient une implantation de lalgorithme de construction darbre de rgression (M5), de rseaux de neurones superviss (avec les dfauts e e e e dj` mentionns : ce nest pas un outil performant, mais pdagogique) : ea e e http://www.cs.waikato.ac.nz/~ml JavaNNS, bo ` outil de rseaux de neurones, permet de faire de la te a e rgression : http://www-ra.informatik.uni-tuebingen.de/SNNS e svmTorch est un outil srieux pour faire de la rgression par machine ` e e a vecteurs supports : http://www.idiap.ch/learning/SVMTorch.html

Chapitre 15

Pr- et post-traitement e

209

210

CHAPITRE 15. PRE- ET POST-TRAITEMENT

Chapitre 16

Applications de la fouille de donnes e


Contenu
16.1 Fouille de textes . . . . . . . . . . . . . . . . . . . . 16.2 Fouille du web . . . . . . . . . . . . . . . . . . . . . 211 211

16.1 16.2

Fouille de textes Fouille du web

La fouille du web concerne toutes les tches dextraction dinformation a depuis des rseaux du type dInternet. De ce fait, la fouille du web poss`de e e un certain nombre de caractristiques originales : e les donnes ont une nature assez particuli`res : des pages web (de type e e html), leur contenu est les liens entre-elles ces donnes sont situs sur un rseau : distant, dcentralis e e e e e les donnes peuvent tre inaccessibles temporairement du fait de pannes e e (rseau, serveur, ...) e ces donnes sont gnralement volutives : le contenu des pages web est e e e e souvent mis ` jour, les liens entre pages web sont eux-aussi volutifs au a e cours du temps, ... les donnes sont htrog`nes : texte, images, musique, multimdia, docue ee e e ments aux formats divers et varis, ... e des contraintes de scurit ou de condentialit peuvent intervenir. e e e Plusieurs grandes classes dapplication : moteurs de recherche : comment trouver linformation la plus pertinente 211

212

CHAPITRE 16. APPLICATIONS DE LA FOUILLE DE DONNEES

correspondant ` une requte donne ? a e e commerce lectronique : comment dcouvrir les produits ayant le plus e e de chance dtre achets par le visiteur dun site marchant ? Comment e e lattirer sur le site ? ... sites sociaux : comment analyser le contenu de sites sociaux, la propagation de linformation sur ces sites, ... ? Vue limmensit et limportance du sujet, on y consacrera un autre docue ment.

Annexe A

Rappels de statistiques et plus


A.1 Statistiques descriptives dune srie de e mesures

Moyenne

On dispose de N valeurs v1 , ... vN . La moyenne de ces valeurs est : vi (A.1) N La notion de moyenne para on ne peut plus anodine ` toute personne ayant t a eectu quelques annes dcole. Cette impression de connivance est pourtant e e e trompeuse. Il est toujours judicieux de se poser des questions simples, dautant plus simples quelles concernent des concepts que lon pense aller de soi. Donc, demandons-nous : v= 1. quest ce quune moyenne ? 2. quentend-on reprsenter avec une moyenne ? e 3. est-ce que la moyenne existe toujours ? 4. est-ce que la moyenne ainsi calcule a toujours un sens ? e Une moyenne est un nombre rel ; il rsulte doprations algbriques simples e e e e (addition, division) qui op`rent sur des nombres rels. Il nest donc pas question e e de faire la moyenne de codes postaux ou de numros de tlphone. e ee Prenons un exemple pour illustrer les 3 autres questions. Quand ` lcole on a e calcule sa moyenne, on applique la formule (A.1) qui fournit un nombre qui est sens reprsenter son niveau scolaire. Si on consid`re un l`ve, son niveau e e e ee scolaire est quelque chose de dicile ` mesurer et dicile ` quantier ; aussi, a a on a pris lhabitude dans nos pays de mettre des notes entre 0 et 20 et den 213
i=N i=1

214

ANNEXE A. RAPPELS DE STATISTIQUES ET PLUS

variable latente variable cache e

calculer leur moyenne. Tout enseignant sait que cette moyenne est une bien ple mesure du vritable niveau de ll`ve, mais cette moyenne est tellement a e ee facile ` calculer et ` utiliser ensuite comme un crit`re de jugement que son a a e utilisation nest pas vraiment remise en question. Quoiquil en soit, limportant ici est davoir ` lesprit que lon veut conna le niveau des l`ves et que pour a tre ee cela, on a conclu que ce niveau pouvait sexprimer sous la forme dun nombre compris entre 0 et 20 et que ce nombre pouvait tre connu avec une prcision e e raisonnable par le procd que nous connaissons tous de notation de devoirs et le e e calcul dune moyenne. Il est utile de bien dcortiquer le raisonnement : on veut e mesurer quelque chose (le niveau scolaire) ; on consid`re que cette chose existe e et quelle peut tre exprime par un nombre rel ; on se donne un moyen de e e e calculer cette chose (collecte de notes et calcul de leur moyenne). La chose que lon suppose exister est une variable latente , ou variable cache . Les e devoirs que lenseignant donne aux l`ves constituent des moyens de mesure (des ee sondes) permettant dobtenir de linformation sur la variable cache. Supposons e que la chose en question existe et soit reprsentable par un nombre rel. Chaque e e mesure en fournit une estimation dite bruite : une note ` un devoir nest pas e a la valeur exacte du niveau de ll`ve et de ce fait, on eectue plusieurs mesures ee de la variable cache et on a lhabitude de considrer que la moyenne de ces e e mesures fournit une estimation du niveau de ll`ve, estimation dautant plus ee able que le nombre de mesures est grand. Il y a des l`ves rassurants pour ce ee syst`me : ils ont presque toujours la mme note quel que soit le devoir propos. e e e Dautres am`nent des interrogations : leurs notes varient dans un intervalle e important ; on peut mme imaginer que leurs notes se regroupent, certaines e autour dune certaine moyenne, dautres autour dune autre moyenne, ... Par exemple, Toto a eu 5, 5, 5 et 6 en maths, 11, 12 et 12, 5 en histoire-gographie, e 15, 15 et 16 en littrature et philosophie. La moyenne de toutes ses notes a-te elle alors vraiment un sens ? Peut-tre quau moment o` lquipe pdagogique e u e e devra dcider si Toto passe dans la classe suprieure, la moyenne de toute les e e notes leur fournira un (le ?) crit`re. Mais pour nous qui analysons les donnes et e e cherchons ` comprendre, la rponse nest probablement pas aussi simple : si lon a e veut prdire la note de Toto au prochain devoir de maths, la moyenne de toute e les notes naura aucun intrt alors que lobservation ci-dessus nous permet de ee nous attendre ` une note denviron 5, 5. a Supposons maintenant que la moyenne des mesures eectues sur une cere taine quantit ait rellement un sens. Dans ce cas, on peut supposer que la e e quantit cache que lon cherche ` conna peut eectivement tre reprsente e e a tre e e e par un nombre rel qui nous est inconnu. Dans un cas plus gnral, cette quantit e e e e cache na pas forcment une valeur bien dnie, mais : e e e sa valeur peut varier au cours du temps autour dune valeur moyenne ; aussi, chaque mesure sera dirente, bien que chacune mesure exactement e

A.1. STATISTIQUES DESCRIPTIVES DUNE SERIE DE MESURES

215

la valeur ` cet instant prcis ; a e sa valeur est xe mais chaque mesure est lgrement entche derreur ; e e a e a ` nouveau, chaque mesure est dirente, mais cette fois-ci, parce que la e mesure nest pas exacte. dans la ralit, le situation est gnralement un mlange de ces deux face e e e e teurs. Quoiquil en soit, on peut essayer de dnir une valeur moyenne, moyenne e qui sera due ` la fois aux variations de valeurs de la variable cache et aux a e erreurs de mesure. Cette moyenne est qualie de vraie moyenne, que lon e note v pour une variable cache v. e Ayant une srie de N mesures et leur moyenne v, on peut se demander ce e que cette valeur nous indique concernant v . Cette question est fondamentale en analyse et en fouille de donnes. Plus gnralement, on pourra se poser la e e e question : quest ce que la srie de mesures v1 , ... vN nous apprend sur la variable e cache ? e e La valeur moyenne v est une estimation base sur les mesures dont on dispose. De ce fait, on la qualie d empirique : elle est base sur les observations. e Si v ne varie pas au cours du temps, alors intuitivement, on a le sentiment que plus le nombre de mesures N est grand, plus v est proche de v , autrement dit que lim v N + = v . Plus prcisment, il y a deux aspects ici : le fait que e e lim v N + existe indique que la moyenne empirique converge ; le fait que cette limite soit exactement v indique que la moyenne empirique nest pas biaise. e On dnit le biais comme | lim v N + v | et dans le cas de la moyenne e empirique, si la vraie moyenne est xe, alors la moyenne empirique converge et elle est non biaise. e Enn, notons que v est le rel qui est la solution du probl`me : e e i=N arg minvR i=1 (vi v)2 ; dun point de vue baysien, cest la valeur la plus e vraisemblable de v. La variance mesure la dispersion des valeurs mesures autour de la moyenne, e vraie ou empirique. Cest galement une moyenne : cest la moyenne du carr e e de lcart ` la moyenne, soit : e a (A.2) N Si v est inconnue, on peut utiliser v ` la place, mais la formule est alors a lgrement dirente : e e e var(v) = v)2 (A.3) N 1 Plus la variance est faible, plus les valeurs sont concentres autour de la e moyenne. On peut voir la moyenne comme un moyen de rsumer les vi ; de e var(v) =
i=N i=1 (vi i=N i=1 (vi

biais

Variance

v )2

216

ANNEXE A. RAPPELS DE STATISTIQUES ET PLUS

Ecart-type dun attribut

ce point de vue, la variance est une information complmentaire ` la moyenne e a permettant de caractriser plus prcisment la rpartition de la valeur dun e e e e attribut. On peut construire un histogramme, reprsentation graphique de la e distribution des valeurs mesures. Plus la variance est faible, plus lhistogramme e est resserr et pointu. e On dnit lcart-type comme la racine carre de la variance : e e e (v) = var(v) (A.4)

L` aussi, il faut bien distinguer lestimation de la variance, ou de lcart-type, a e de sa vraie valeur. On a aussi : (v) = v2 v2 (A.5)

o` v 2 est la moyenne du carr des valeurs : u e v2 =


i 2 vi N

et v 2 est le carr de la moyenne sur i des vi : e v2 = (


i

vi

)2

Attribut centr e Attribut rduit e Attribut centr rduit e e

Liens entre cart-type et rpartition des mesures pour une variable distribue e e e normalement. ............ On dit quun attribut est centr si sa moyenne est nulle. Donc, on centre un e attribut aj en lui retirant sa valeur moyenne aj . On dit quun attribut est rduit si son cart-type vaut 1. Donc, on rduit un e e e attribut en divisant sa valeur par son cart-type. e La notion de variable centre rduite est importante dans la mesure o` le e e u centrage et la rduction entra e nent une esp`ce de normalisation des donnes e e en liminant linuence de lunit de mesure (cf. section 12.1.1). De plus, cela e e aa simplie les calculs et les quations. Considrons lattribut a ; (a) est lattribut e e centr rduit associ ` a. e e ea Il nest pas inutile dinsister ici ` nouveau sur le fait que la notion de moyenne a ne doit pas tre considre comme allant de soit. Si lon peut toujours appliquer e ee la formule de calcul dune moyenne tant donn un ensemble de nombres, il faut e e encore que le rsultat de ce calcul ait un sens. Ce calcul a un sens dans le cas e o` les valeurs sont eectivement concentres autour dune certaine valeur. u e

A.1. STATISTIQUES DESCRIPTIVES DUNE SERIE DE MESURES

217

faire
Figure A.1 Quelques exemples de distributions multi-modales. Par contre, en reprsentant les donnes par un histogramme, on peut cone e stater quelles semblent 1 se concentrer autour de plusieurs valeurs : distribution bi-modales, ou multi-modales (cf. g. A.1). Dans le cas dune distribution bimodale on comprend bien que la valeur moyenne na pas vraiment dintrt ; ee ce qui est intressant est de conna e tre les deux valeurs autour desquelles les mesures se concentrent. Un mode est un maximum local de la distribution : mono-modale signie donc que la distribution poss`de un seul optimum. e De mme, la notion de variance ne va pas toujours de soit, mme pour e e une distribution de donnes uni-modale. Ainsi, une distribution peut-elle tre e e asymtrique, ou aplatie (cf. Fig. A.3) : dans ces cas, la variance peut naturellee ment tre calcule en appliquant mcaniquement la formule, mais son sens est e e e perdu. Pire, pour une distribution de Cauchy, la variance est innie (cf. Fig. A.2). En fait, les notions de moyenne et variance ne caractrisent compltement e e que les distributions normales : une distribution normale (de Gauss, ou de Laplace-Gauss) est compltement spcie par sa moyenne et sa variance. On e e e introduit la notion de moment central dordre k comme la moyenne de la somme (v )k des carts ` la moyenne ` la puissance k : i i v : e a a N le moment central dordre 1 est nul ; le moment central dordre 2 est la variance : il caractrise la dispersion e autour de la moyenne ; le moment central dordre 3 caractrise lasymtrie de la distribution aue e tour de la moyenne. Tr`s prcisment, lasymtrie est le moment central e e e e dordre 3 divis par le cube de lcart-type. Lasymtrie dune distribution e e e normale vaut 0 ;
1. le mot sembler est important ici : ce que lon voit sur le graphique nest quune impression : le graphe ne prouve rien ; il indique des pistes danalyse des donnes qui doivent e tre ralises par la suite. e e e

mode

218

ANNEXE A. RAPPELS DE STATISTIQUES ET PLUS

0.0

0.1

0.2

0.3

0.4

0.5

Figure A.2 Malgr leur apparente ressemblance, une distribution de Cauchy e (en noir) et une distribution normale (en rouge) ont des proprits statistiques ee tr`s direntes : les moments dordre suprieur ` 1 nexistent pas pour une e e e a cauchy, alors quils existent tous pour une normale.

le moment central dordre 4 caractrise laplatissement ` la moyenne 2 : la e a valeur de laplatissement se dnit par le moment central dordre 4 divis e e par la variance au carr. Laplatissemnt dune distribution normale vaut e 3 : si laplatissement dune distribution est infrieur ` 3, la distribution e a est plus plate quune distribution normale, et rciproquement. e La distribution normale joue un rle central en statistiques, ` tel point que o a si lon y prend garde on utilise des notions qui nont pas forcment beaucoup e de sens pour une distribution non normale, mme pour une distribution qui e ressemble (cf. ci-dessus lexemple de la Cauchy qui ressemble ` une normale a
2. connu aussi sous le nom de kurtosis.

Figure A.3 Exemples de distributions mono-modales asymtrique ` gauche. e a

A.1. STATISTIQUES DESCRIPTIVES DUNE SERIE DE MESURES

219

0.4

0.5

0.6

normale Cauchy t de Student logistique exp pow

0.0

0.1

0.2

0.3

Figure A.4 Malgr leur apparente ressemblance, seule la distribution e reprsente en rouge est normale. En noir, on retrouve la Cauchy ; en bleu, e e une distribution t de Student ; en vert, une distribution logistique ; en mauve, une distribution de puissance exponentielle.

pour laquelle la variance nest pas dnie). e La distribution normale est omni-prsente pour un certain nombre de raisons, e parmi lesquelles : apr`s la distribution uniforme, cest probablement la plus simple. Elle est e compltement spcie par deux nombres, sa moyenne et sa variance et e e e cest la seule qui soit compltement spcie par ces deux notions ; e e e on la rencontre tr`s souvent dans les donnes (du moins, on a cette ime e pression car d`s quune distribution empirique ressemble ` une cloche, on e a cro voir une distribution normale) ; t le thor`me central limite apporte une justication ` cette omniprsence : e e a e la plupart des donnes collectes rsultent dune agglomration de e e e e phnom`nes et la somme dun grand nombre de variables alatoires tend e e e vers une loi normale ; lquation de la loi normale permet dexprimer un certain nombre de e rsultats sous forme analytique, ce qui la rend eminennement sympathique e au mathmaticien ; e attention nanmoins : les distributions empiriques ont souvent laspect e dune cloche asymtrique (cf. Fig. A.6), ou dune cloche soit aplatie, soit e pique (cf. Fig. A.5), ce qui est un signe quil ne sag pas dune distribue t tion normale. De nombreuses distributions ressemblent ` une distribution a normale, mais ne le sont pas (cf. Fig. A.4). La moyenne dun chantillon poss`de un gros dfaut : elle est sensible aux e e e valeurs aberrantes : la moyenne de 1, 1, 1, 1 et 50 fait 10, 8. Hors, il y a fort ` parier que ce 50 est une erreur : cest une valeur aberrante. Et dans a

220

ANNEXE A. RAPPELS DE STATISTIQUES ET PLUS

0.4

0.5

0.6

exp pow Laplace 0.3 0.0 0.1 0.2

Figure A.5 Des distributions piques : en mauve, une distribution de puise sance exponentielle (` comparer ` celle reprsente ` la g. A.4) ; en vert sombre, a a e e a une distribution de Laplace.

0.8

1.0

Raleigh gamma log normale Weibull F de Fisher Gumbel de type 2

0.0 0

0.2

0.4

0.6

Figure A.6 Des distributions asymtriques : en noir, une gamma ; en rouge, e une distribution de Raleigh ; en bleu, une distribution log-normale, en vert une distribution de Weibull ; en cyan, une distribution F de Fisher ; en vert sombre, une Gumberl de type 2.

A.2. CORRELATION LINEAIRE

221

ce cas, on aimerait trouver la valeur 1 pour la moyenne de ces donnes. e La mdiane a prcis`ment cette proprit dtre beaucoup moins sensible e e e ee e aux valeurs aberrantes. Sa dnition est un peu plus complique que celle de la e e moyenne : formellement, cest la valeur m telle que la probabilit quune valeur soit e infireure ` m est gale ` la probabilit quelle soit suprieure ` m ; e a e a e e a dans la pratique, on pratique comme suit : 1. on trie les N valeurs dont on cherche la mdiane ; e 2. si N est impair, la
N +1 e 2

Mdiane e

valeur de cette suite trie est la mdiane ; e e


Ne 2

3. si N est pair, la mdiane est la moyenne des e cette suite trie. e

et

N 2

+ 1e valeurs de
i=N

La mdiane est le rel solution du probl`me : arg minvR i=1 |vi v|. e e e Pour lexemple si dessus, N = 5, la suite trie est 1, 1, 1, 1, 50. La mdiane e e est donc la 3e valeur : 1. Notons que dans le cas dune distribution normale, la moyenne et la mdiane e sont gales. e

A.2

Corrlation linaire e e

On dispose maintenant de deux sries de valeurs, par exemple deux attributs e dune donne. Notons bien que les valeurs viennent en couple : on dispose dune e mesure pour chacune des deux variables ; les valeurs sont apparies. On se dee mande si la connaissance de lune des deux valeurs renseigne sur lautre. La mani`re la plus simple de capturer cette ide est de calculer la e e corrlation e linaire entre ces deux sries de nombres. Tr`s souvent, le qualicatif linaire e e e e est omis et on parle de corrlation en impliquant que lon parle de la corrlation e e linaire. Il est important de garder cette remarque en tte car lexpression ces e e deux variables ne sont pas corrles est souvent entendue et lue ; hors, cette ee expression sentend comme il ny a pas de corrlation linaire ; elle ne dit sur lexe e istence ou non de corrlation non linaire. Cette prcaution prise, nous dcrivons e e e e cette notion de corrlation linaire. e e Il existe une corrlation linaire entre deux sries de mesures, ou plus e e e gnralement deux variables, lorsque quand lune varie (cro ou dcro lautre e e t e t), varie aussi, dans le mme sens ou dans le sens oppos. Si les deux variables varie e ent dans le mme sens (quand lune cro lautre ici, et rciproquement, quand e t, e lune dcro lautre aussi), la corrlation linaire est dite positive ; si elles ne e t, e e varient pas dans le mme sens, la corrlation linaire est ngative. e e e e Si on reprsente les valeurs des deux variables sur un graphique, la notion e saute aux yeux : cf. g. A.7. Formellement, on dnit alors le coecient de corrlation linaire entre deux e e e attributs aj et ak (centrs ou non) : e

Coecient de corrlation e linaire e

222

ANNEXE A. RAPPELS DE STATISTIQUES ET PLUS

` Figure A.7 A gauche, pas de corrlation linaire (r 0) ; au centre, une e e corrlation linaire forte positive (r +1) ; ` droite, une corrlation linaire e e a e e ngative (r 1). e

r(aj , ak ) = (

i=N i=1 i=N i=1

xi,j xi,k
i=N i=1

(A.6) xi,k )2

xi,j )2 (

Le coecient de corrlation linaire prend toujours une valeur dans lintere e valle [1, 1]. Plus ce coecient est grand en valeur absolue, plus la corrlation e (linaire) est forte ; si le coecient est ngatif, la corrlation est ngative (lune e e e e des variables cro alors que lautre dcro et si le coecient est positif, la t e t) corrlation est positive (les deux variables croissent et dcroissent en mme e e e temps). La linarit, cest ca : quand lune des variables augmentent, lautre e e augmente ou diminue ; si la premi`re varie, la second augmente ou diminue proe portionnellement : il y a une relation linaire entre les valeurs des deux variables e et entre leurs variations.

Remarque
` A nouveau, on peut voir le coecient de corrlation linaire comme un moyen de rsumer e e e linformation prsente dans une srie de couples de valeurs. e e

covariance

Le coecient de corrlation linaire est intimement li ` la pente de la droite e e ea qui passe dans le nuage de points (quand la corrlation est importante sinon on e ne voit pas vraiment o` faire passer une droite, et cest bien l` le probl`me...). u a e Il y a corrlation linaire lorsque ce coecient est proche de 1 ; dans ce cas, e e cette droite est bien dnie ; une droite dcrit une relation linaire entre deux e e e variables ; les deux variables sont donc corrles linairement. ee e On dnit la covariance entre deux attributs centrs aj et ak : e e cov(aj , ak ) =
i=N i=1

Dune mani`re gnrale, le coecient de corrlation linaire peut galement e e e e e e sexprimer comme suit :

xi,j xi,k N 1

(A.7)

A.2. CORRELATION LINEAIRE

223

r(aj , ak ) =

cov(aj , ak ) (aj ) (ak )

(A.8)

soit, si les attributs sont centrs et rduits : e e r(aj , ak ) = cov(aj , ak ) (A.9)

Notons que dans tout ce qui prc`de, les rles des deux caract`res sont e e o e symtriques. Aussi, on a en particulier : r(aj , ak ) = r(ak , aj ). e Dans les graphiques A.7, on peut dnir la droite qui passe e au mieux dans le nuage de points, cest-`-dire la droite qui minimise la somme a des distances entre chaque point du nuage ` la droite ; cette droite est dite des a moindres carrs . Son quation est donne par : e e e Y = r(aj , ak ) (aj ) (X ak ) + aj (ak ) (A.10)

Droite carrs e

des

moindres

Comme on lavait dit plus haut, le coecient de corrlation est fortement e impliqu dans cette quation. e e Remarque
Lquation de cette droite sobtient en calculant la somme des distances vecticales entre e chaque point (xi,j , xi,k ) et une droite Y = aX + b puis, en calculant les drives partielles e e de cette distance par rapport au coecient directeur a et a b que lon galise ` 0 pour ` e a minimiser cette distance pour en dduire les valeurs de a et b. e Par distance verticale b))2 . entre un point (xi,j , xi,k ) et la droite Y = aX + b , on entend

(xi,k (axi,j +

Prenons un petit exemple pour illustrer un point. Soient les trois sries de e nombres suivantes : 0, 5 1 1, 5 1, 5 1 0, 75 1, 25 0, 75 1 0, 75 1 1, 5 1, 4 1, 2 0, 9 0, 8 0, 7 0, 9 1 1, 1 0, 7 1 1, 4 1, 5 1, 1 0, 8 1, 2 0, 9 1 0, 9

On a : pas de corrlation entre les colonnes 1 et 2 (r1,2 = 0, 36) ; e forte corrlation linaire entre les colonnes 1 et 3 (r1,3 = 0, 98) ; e e les donnes dans les colonnes 2 et 3 sont les mmes, pas dans le mme e e e ordre : mme moyenne (1, 05) et mme cart-type (0, 24). e e e

224

ANNEXE A. RAPPELS DE STATISTIQUES ET PLUS

Autre cas : regroupements : on peut avoir mme moyennes et carts-types e e mais avoir des distributions direntes. Exemple : e 0, 7 0, 75 1, 63 1, 58 0, 8 0, 9 1, 55 0, 85 0, 83 0, 88 0, 9 1 1, 4 1, 5 1, 1 0, 8 1, 2 0, 9 1 0, 9

corrlation non linaire e e

On a : moyenne presqugales : 1, 05 et 1, 07 ; e des carts-types proches : 0, 38 et 0, 23 ; e les valeurs de la premi`re colonne sont rparties selon deux groupes (aue e tour de 0, 8 et de 1, 6), alors que celles de la seconde colonne sont toutes concentres autour de 1. e Cette structuration doit tre dtecte. e e e Bien entendu, on peut parler de corrlation non linaire (parabolique, ...) qui e e indique lexistence dune relation entre deux caract`res un peu plus complexe e quune quation linaire. Cest l` que les choses intressantes (ou les ennuis) e e a e commencent. Les corrlations linairessont bien connues et faciles ` dtecter ; e e a e pour les non linaires, ce nest pas le cas : en fait, lensemble du cours est ddis ` e e e a celles-ci ; plus gnralement, lune des grandes dicults de la fouille de donnes e e e e est de dtecter des corrlations non linaires. e e e

Annexe B

Thor`me de Bayes e e
Soient S un ensemble dvnements, A S et B S des (ensembles d) e e vnments (cf. g. B). La probabilit dun vnement est : e e e e e e surface de A surface de S La probabilit doccurence simultane de deux vnements est : e e e e P r[A] = P r[A et B] = P r[A B] = surface de A B surface de S (B.1)

La probabilit doccurence dun vnement ou dun autre est : e e e P r[A ou B] = P r[A B] = surface de A + surface de B surface de A et B surface de S

Autrement dit, la probabilit que A ou B survienne est : e P r[A B] = P r[A] + P r[B] P r[A B] (B.2)

Enn, la probabilit doccurence dun vnement A si un autre vnement e e e e e B a lieu est : P r[A|B] = surface de A surface de B
S

Figure B.1 Lensemble des vnements possibles S et deux vnements pare e e e ticuliers A et B. 225

226

` ANNEXE B. THEOREME DE BAYES

P r[A|B] signie : probabilit que lvnement A survienne si lvnement e e e e e B survient galement. Cest-`-dire, on suppose que B est vrai et on cherche la e a probabilit que A survienne. Ici, on restreint donc lensemble des vnements e e e possibles ` B et on cherche P r[A] sous cette condition. Par analogie avec (B.1), a on a : P r[A|B] = soit : P r[A|B] = P r[A B] P r[B] (B.4) surface de A et B surface de B (B.3)

Par symtrie, on peut galement crire : e e e P r[B|A] = soit : P r[A|B]P r[B] = P r[B|A]P r[A] que lon r-crit : ee P r[A|B] = P r[B|A]P r[A] P r[B] (B.7) (B.6) P r[B A] P r[A] (B.5)

ce qui dmontre le thor`me de Bayes. e e e

Annexe C

Complexit algorithmique e
La complexit algorithmique permet de caractriser les ressources qui e e sont utilises par un ordinateur pour excuter un algorithme particulier. Ces e e ressources sont de deux ordres : spatiales : cest la quantit de mmoire qui est ncessaire pour son e e e excution ; e temporelles : cest la quantit de temps qui est ncessaire pour son e e excution. e Concernant la complexit temporelle, prcisons quil ne sag pas de calculer e e t combien de secondes ou dannes un certain algorithme va fonctionner avant de e donner son rsultat. Il sag de mesurer le nombre doprations lmentaires qui e t e ee doivent tre excutes ; ensuite, sachant combien de temps un certain ordinateur e e e met pour excuter une opration lmentaire, on peut en dduire ` peu pr`s le e e ee e a e temps dexcution. Mais en fait, le but nest pas l` ; le but est de comparer des e a algorithmes entre-eux selon un crit`re quantitatif prcis et de pouvoir dterminer e e e en (presqu) un clin dil si un algorithme est utilisable ou non dans la pratique : un algorithme est utilisable si on estime quil ne va pas avoir tendance ` utiliser a une quantit de mmoire ou de temps que lon ne pense pas envisageable avec e e les ordinateurs qui fonctionnent selon leur mode de fonctionnement actuel. L` a encore, on attire lattention du lecteur : par lexpression les ordinateurs qui fonctionnent selon leur mode de fonctionnement actuel , nous ne voulons pas signier les ordinateurs avec leurs caractristiques au moment o` vous lisez ce e u texte ; nous faisons appel ici ` la notion de machine de Turing , propose dans a e les annes 1930 par Alan Turing pour dcrire le fonctionnement des ordinateurs e e de mani`re abstraite. 80 ans plus tard, tous les ordinateurs qui ont exist et e e qui existent 1 fonctionnent comme des machines de Turing (et ils sont mme e toujours moins puissants quune machine de Turing qui poss`de une mmoire e e
1. quand on dit tous , cest vraiment tous : de la minuscule calculatrice de poche aux plus gros des supercalculateurs du Pentagone.

Complexit e mique

algorith-

machine de Turing

227

228 innie).

ANNEXE C. COMPLEXITE ALGORITHMIQUE

La chose que lon veut capturer ici est la suivante : jai un jeu de N donnes e et un algorithme A. Combien doprations seront ralises par A sur le jeu de e e e donnes en fonction de N ? Quelle quantit de mmoire cela va-t-il ncessiter ? e e e e toujours en fonction de N . Quelques exemples (en considrant que la variable importante est le nombre e de donnes N ; on pourrait aussi exprimer la complexit en fonction de N et du e e nombre dattributs P ) : lire N donnes et les placer dans un tableau : le nombre doprations est e e de lordre de N (i.e., linaire en N ), ce que lon note O(N ) ; e acher les N donnes stockes dans un tableau : O(N ) ; e e faire la somme des N donnes : O(N ) ; e chercher la plus petite valeur parmi N nombres : on doit comparer chaque nombre ` tous les autres, soit N (N 1) comparaisons. Par symtrie, on a e peut diviser ce nombre par 2. Mais, on ne tient pas compte des constantes, do` : O(N 2 ) ; u trier N nombres : algorithmes simples : O(N 2 ) ; au mieux, dans le cas gnral, on fait O(N log N ). e e Les algorithmes en O(N ) sont dits linaires. Cest en gnral ce que lon e e e peut faire de mieux pour rsoudre un probl`me exactement. On peut envise e ager de traiter ainsi des volumes de lordre de N = 1010 , voire quelques ordres de grandeur de plus. (Les ordinateurs actuels excutent environ 1 milliard e doprations lmentaires par seconde, do` cet ordre de grandeur.) e ee u Les algorithmes en O(N i ) sont dits polynmiaux. D`s que lexposant i o e dpasse 2 ou 3, lalgorithme nest plus excutable en temps raisonnable pour e e un nombre de donnes un peu important. Il nen demeure pas moins que lalgoe ` rithme sarrte au bout dun temps ni. A raison, de 10 oprations lmentaires e e ee a ` eectuer sur chaque donne, un algorithme en O(N 2 ) traite 30000 donnes en e e 3 10 secondes ; un algorithme en O(N ) nen traite que 1000 dans le mme temps, e soit 30 fois moins. Cas intermdiaire, les algorithmes en O(N log N ) sont beaucoup moins e coteux quun algorithme en O(N 2 ). Leur excution est envisageable pour des u e ` N grands. A raison, de 10 oprations lmentaires par donne, un algorithme e ee e en O(N log N ) traite 200000 donnes en 10 secondes. e Les algorithmes dont la complexit est polynmiale font tous parti dune e o classe dite, classe P. Malheureusement, des tas de probl`mes intressants ont une complexit non e e e ` pas polynmiale, mais exponentielle, i.e. en O(eN ). A raison, de 10 oprations o e lmentaires par donne, un algorithme en O(eN ) traite 19 donnes en 10 secee e e ondes ! Les probl`mes de classication et de segmentation font parti de ces e probl`mes... Fort logiquement, ces probl`mes non polynmiaux font parti de e e o

Complexit linaire e e

Complexit polynmiale e o

Complexit e polynmiale o

non

229 la classe N P. Parmi tous les probl`mes non polynmiaux, il y en a tout un ene o semble dont la complexit est quivalente ; on dnomme la classe N P-complet et e e e les probl`mes qui y appartiennent, les probl`mes N P-complets. En fait, ` lheure e e a actuelle, on ne sait pas si ces probl`mes sont vraiment non polynmiaux ; le fait e o est que lon na jamais russi ` trouver un algorithme polynmial capable de e a o rsoudre exactement lun deux. Cette question, P est-elle gale ` N P, est lune e e a ` peu pr`s tout le monde des plus importantes en informatique ` lheure actuelle. A a e pense que la rponse est non et que cela ne vaut mme pas la peine dessayer de e e montrer le contraire. Si on montre un jour le contraire, une vritable rvolution e e sensuivra en algorithmique, avec des consquences inimaginables dans toutes e les applications de linformatique. Dans tout ce qui prc`de, on a parl dalgorithmes rsolvant exactement un e e e e probl`me. Les probl`mes intressants tant de complexit non polynmiale, une e e e e e o dmarche habituelle consiste ` rsoudre le probl`me de mani`re approche, ou e a e e e e non exacte . Par exemple, prenons le probl`me de calculer la moyenne de N e nombres. Comme on la dit plus haut, lalgorithme correspondant est en O(N ). Dans certains cas, cest encore beaucoup trop (par exemple, si N = 1015 ). On peut alors utiliser une approche non exacte comme suit : parmi les N nombres, en slectionner au hasard 109 et calculer leur moyenne. Sous rserve de quelques e e hypoth`ses sur ces nombres, on sait que la moyenne ainsi value sera proche de e e e la moyenne des 1015 nombres initiaux ; on a ainsi adopt un algorithme non exact e pour calculer leur moyenne et transformer un calcul de dure tr`s longue en un e e calcul tr`s court. Ce type dalgorithmes non exacts est quali dapproch. On e e e parle aussi dune part dalgorithme doptimisation globale pour un algorithme rsolvant exactement un probl`me et trouvant donc un optimum global, dautre e e part dalgorithme doptimisation locale pour un algorithme qui ne fournit quun optimum local, sans garantie particuli`re par rapport ` loptimum global. e a Notons pour terminer que tous les algorithmes dont nous avons parl e sarrtent au bout dun temps ni, mme sil est ventuellement tr`s long, mme e e e e e par rapport ` lge de lunivers. Il y a pire. Certains algorithmes ne sarrtent a a e jamais ; un probl`me pour lequel il nexiste pas dalgorithme qui sarrte au bout e e dun temps ni (ou pour tre plus plus prcis, dont on ne puisse pas dmontrer e e e quil sarrte au bout dun temps ni) est dit indcidable . Enn, certains e e algorithmes sarrtent dans certains cas, pas den dautres 2 ; un probl`me pour e e lequel le meilleur algorithme dont on dispose sarrte au bout dun temps ni e dans certains cas, ne sarrte jamais dans dautres, est dit semi-dcidable . e e Pour clore cette courte annexe, notons quil ne faut pas confondre ce qui vient dtre dit avec la notion dalgorithme e dterministe . Un algorithme e
2. remarquons quil sag bien dalgorithmes dterministes : ces algorithmes sarrtent pour t e e certaines donnes en entre et paramtrages, mais pas pour dautres. e e e

Algorithme non exact, approch et heuristique e

Dcidabilit, e e dcidabilit e e indcidabilit e e

semiet

Algorithmes dterministes et algoe rithmes stochastiques

230

ANNEXE C. COMPLEXITE ALGORITHMIQUE

fonction calculable

dterministe est un algorithme qui, ` chaque fois quil est excut sur une mae a e e chine donne dont la conguration ne change pas, sur les mmes entres (jeu e e e 3 de donnes, param`tres, ...), produit exactement le mme rsultat. Un algoe e e e rithme dont le rsultat peut varier entre deux excutions, bien que ses entres e e e et param`tres soient demeures les mmes, est dit e e e non dterministe e ou stochastique . En guise dexercice, on rchira ` chacun des algorithmes rencontr dans e e a e ce poly, et on dterminera sil est dterministe ou stochastique. On pourra aussi e e essayer de dterminer leur complexit. e e Dun point de vue thorique, on peut considrer que tout algorithme cale e cule une certaine fonction de ses entres. On peut donc dnir lensemble des e e fonctions pour lesquelles il existe un algorithme dterministe qui la calcule en e un temps ni. Cela dnit lensemble des fonctions dites calculables . On e peut aussi dnir lensemble des fonctions pour lesquelles il existe un algorithme e stochastique qui la calcule en temps ni. On montre que ces deux ensembles de fonctions sont les mmes. Ainsi, contrairement ` ce que lon pourrait penser, les e a algorithmes non dterministes ne permettent pas de calculer plus de fonctions, e ou dautres fonctions, que les algorithmes dterministes. e

3. par

exactement

, on entend vraiment exactement, i.e. au bit pr`s. e

Annexe D

Programmation mathmatique e
La programmation mathmatique concerne ltude des probl`mes qui cone e e siste ` optimiser une certaine fonction F (x) en respectant un ensemble de cona traintes de la forme : gj () = 0 pour j = 1, ..., m1, m1 0 x ) >= 0 pour k = m1 + 1, ..., m, m m1 hk ( x

x est un point dans un espace ` P dimensions (x RP ). La fonction ` a a optimiser F est dnomme la fonction objectif. Optimiser signie trouver un e e point x auquel F (x ) est minimum dans le cas dune minimisation, maximum dans le cas dune maximisation. En toute gnralit, ce probl`me est dicile. Dans certains cas particuliers e e e e importants, on dispose dalgorithmes exacts et ecaces pour calculer ce point optimal.

D.1

Programme linaire e

Quand F et les contraintes gj et hk sont toutes des fonctions linaires, cone tinues et drivables de x, le probl`me est dit linaire. Pour tre tout ` fait prcis, e e e e a e x est un point dans un espace ` P dimensions, soit x = (x1 , x2 , ..., xP ). Linaire a e signie que la fonction objectif F et les contraintes gj et hk sont chacun de la i=N forme a0 + a1 x1 + a2 x2 + ... + aP xP = a0 + i=1 ai xi , les ai R tant des e constantes. Cest le cas le plus simple et on consid`re que lon sait le rsoudre. e e Un probl`me linaire poss`de soit un optimum, soit un ensemble doptima e e e quivalent, cest-`-dire pour lequel la fonction objective prend la mme valeur, e a e optimale. 231

232

ANNEXE D. PROGRAMMATION MATHEMATIQUE

On dispose essentiellement de deux algorithmes pour rsoudre ce type de e probl`mes : e lalgorithme du simplexe la mthode de point intrieur. e e

D.2

Programme quadratique ou convexe

Quand F et les contraintes gj et hk sont toutes des fonctions linaires ou e quadratiques, continues et drivables de x, le probl`me est dit quadratique ou e e convexe. Quadratique signie que la fonction objectif F et les contraintes gj et hk sont chacun de la forme a0 + a1 x1 + a2 x2 + ... + aP xP + b1,1 x2 + b1,2 x1 x2 + 1 i=N i=N j=N ...bP,P x2 = a0 + i=1 ai xi + i=1 xi xj , les ai R et bi,j R tant des e P j=1 constantes. On consid`re galement que lon sait rsoudre ce type de probl`mes. Un e e e e probl`me quadratique poss`de soit une seule valeur optimale et surtout, il ne e e poss`de aucun optimum local qui ne soit pas global. e Les algorithmes pour rsoudre les probl`mes quadratiques sont les mthodes e e e de gradient : mthode de Newton, gradient conjugu, gradient stochastique, e e mhode de barri`re, ... e e

D.3 D.4

Programme semi-dnie e Programme non linaire e

La programmation non linaire consiste ` rsoudre des probl`mes doptimie a e e sation dans tous les cas de gure, quelle que soit la forme de F et des contraintes. En gnral (cest-`-dire, dirent des cas particuliers discuts auparavant), un e e a e e tel probl`me a des optima locaux ; dans le cas gnral, un algorithme sarrtant e e e e au bout dun temps ni ne peut jamais tre certain davoir atteint un optimum e global ou seulement local. Un cas particulier intressant est celui dune fonction objectif lipschitzienne : e elle est continue est la drive en tout point est borne par une constante, dite e e e constante de Lipschitz. Autrement dit, quel que soit deux points x1 et x2 du domaine de dnition de la fonction, ||F (x1 ) F (x1 )|| L||x1 x2 ||, o` L est e u cette constante de Lipschitz. Dans ce cas, lalgorithme DiRect Jones et al. [1993] est garantit de trouver loptimum global apr`s une innit ditrations. (Notons e e e que certains algorithmes itratifs ne sont pas garantis de trouver l(optimum e global mme apr`s une innit ditrations !) e e e e Des algorithmes gnraux tels que les algorithmes volutionnaires peuvent e e e tre utiliss pour rsoudre ces probl`mes doptimisaiton dans des cas tr`s e e e e e gnraux. e e

D.4. PROGRAMME NON LINEAIRE

233

Quand la fonction objectif et les contraintes sont continues et drivables, e ` on peut toujours utiliser la mthode Lagrange pour rsoudre le probl`me. A e e e nouveau, la rsolution exacte du probl`me nest possible que dans certains cas e e particuliers.

234

ANNEXE D. PROGRAMMATION MATHEMATIQUE

Index
ACP, 159 algorithme k plus proches voisins, 68 a-priori, 199 approch, 229 e C4.5rules, 80 carte auto-organise, 185 e centres mobiles, 134 centro des, 134 classication dune donne e dans un arbre de dcision, e 24 construction dun arbre de dcision, 17 e de Ward, 151 DiRect, 232 dterministe, 229 e exact, 229 gaz de neurones, 193 ID3, 21 Isomap, 193 k-moyennes, 134 LLE, 193 non dterministe, 90 e non exact, 229 nues dynamiques, 134 e plus proches voisins, 65 point intrieur, 232 e Prism, 82 r`gle dapprentissage du pere ceptron, 90 r`gle gradient standard, 94 e r`gle gradient stochastique, 94 e 235 rtro-propagation du gradient e de lerreur, 103 simplexe, 232 stochastique, 90, 229 volutionnaire, 232 e analyse de la smantique latente, 176 e discriminante, 175 en composantes principales, 159 factorielle des correspondances, 175 factorielle des correspondances multiples, 175 aplatissement, 218 apprentissage supervis, 12 e a ` partir dexemples, 12 apriori, 206 arbre de dcision, 16 e de rgression, 207 e arrt prcoce, 107 e e asymtrie, 217 e attribut, 5 absolu, 6 centr, 216 e cent rduit, 216 e e nominal, 5, 67, 106 ordinal, 6 qualitatif, 5 quantitatif, 5 rduit, 216 e

236 autoclass, 143, 156 axe principal, 162 bagging, 33, 124 Bayes r`gle de -, 48 e thor`me de -, 226 e e bayes, 60 Bayes na 47 f, boosting, 124 bootstrap, 33 bruit, 7, 9 C4.5, 41 C4.5rules, 80, 85 C5, 41 calculable, 230 capacit, 116 e caract`re, 5 e carte auto-organise, 185 e centre de gravit, 133 e centres mobiles, 134 centro des, 134 cercle de corrlation, 167 e champ, 5 classe N P, 228 P, 228 MAP, 50 ML, 50 classeur, 12 classication de textes par bayes, 57 par kppv, 71 cluster, 156 clustering, 131 coecient dune mixture, 139 complexit e algorithmique, 227

INDEX

linaire, 228 e non polynmiale, 228 o polynmiale, 228 o composante principale, 162 compression par vecteurs supports, 115 conance, 199 dans lestimation de lerreur, 34 corrlation linaire, 221 e e couvert, 17 couverture, 198 covariance, 222 crit`re de Kaiser, 168 e crossbow, 156 decision stump, 125 DemoGNG, 195 dissimilarit, 66 e distance, 66, 161 donne, 11 e manquante arbre de dcision, 28 e C4.5, 28 rseau de neurones, 106 e donne manquante e Bayes, 54 kppv, 67 droite des moindres carrs, 223 e dtree, 41 dcidable, 229 e dnition e dissimilarit, 66 e distance, 66 dterministe, 229 e early stopping, 107 cart-type, 216 e EM, 138 EMMIX, 156 enregistrement, 5 ensemble ditems frquents, 198 e

INDEX

237 Huygens thor`me de -, 134 e e hyperplan, 7 hypoth`se de Bayes na 49 e ve, hypoth`se MAP, 50 e hypoth`se ML, 50 e ID3, 21 IDF, 74 indexation par la smantique lae tente, 176 individu, 5 induction, 12 indcidable, 229 e inertie, 133, 168 interclasse, 133 intraclasse, 133 instance, 5 Inverse Document Frequency, 74 iris, 39 Isomap, 193 JavaNNS, 110, 208 jeu dapprentissage, 32 dentra nement, 32 de test, 32 k plus proches voisins, 65 k-moyennes, 134 Kohonen rseau de -, 185 e kurtosis, 218 Lagrange multiplicateur de -, 113 mthode de -, 113 e lagrangien, 113 emphleave-one-out, 33 leveraging, 124 libsvm, 119 linairement sparable, 7, 90 e e LLE, 193

entropie, 18 de Shannon, 191 pisode, 90 e erreur apparente, 31 conance dans son estimation, 34 dapprentissage, 31 dentra nement, 31 de classication, 31 de test, 32 empirique, 31 en gnralisation, 31 e e espace des donnes, 5 e estimateur de Laplace, 54 tiquette, 12 e exemple, 11 facteur principal, 162 faux ngatif, 32 e positif, 32 feature, 9 fonction calculable, 230 dactivation, 88 de Heaviside, 89 logistique, 89 noyau, 118 RBF, 69, 100 sigmo 89 de, tanh, 89 a ` base radiale, 69 fort alatoire, 124 e e gain dinformation, 20, 29 gaz de neurones, 193 ggobi, 195 graphe de Shepard, 184 gnralisation, 12, 37, 38 e e heuristique, 229 emphholdout, 32

238 log-vraisemblance, 141 logiciel C5, 41 logiciel libre apriori, 206 autoclass, 156 bayes, 60 C4.5, 41 C4.5rules, 85 cluster, 156 crossbow, 156 DemoGNG, 195 dtree, 41 EMMIX, 156 ggobi, 195 JavaNNS, 110, 208 libsvm, 119 magnum opus, 206 mySVM, 119 quest, 206 rainbow, 77, 119 SOM PAK, 195 SVMlight , 119 SVMTorch, 119, 208 weka, 41, 60, 77, 85, 156, 206, 208 LSA, 176 machine de Turing, 227 machine ` vecteurs supports, 111 a magnum opus, 206 matrice de confusion, 32 de corrlation, 163 e de Gram, 146 de variance, 163 MDS, 179 mesure F, 33 Mise ` lchelle multi-dimensionelle, a e 179 mixture, 138 mode, 217

INDEX

moment, 105 moment central, 217 moyenne, 213 empirique, 215 vraie -, 215 Multi-Dimensional Scaling, 179 multiplicateur de Lagrange, 113 mySVM, 119 mdiane, 221 e mthode densembles, 124 e neurone formel, 88 normalisation dun attribut, 67 nues dynamiques, 134 e panier de la mnag`re, 202 e e perceptron, 88 multi-couches, 100 plan principal, 162 poids, 88 potentiel, 88 Prism, 82 probabilit, 47 e a priori , 48 a posteriori, 48 conditionnelle, 47 marginale, 48 probabilit conditionnelle vs. probe abilit jointe, 48 e probl`me e destimation, 8 de catgorisation, 131 e de classication, 8, 11, 131 de classication non supervise, 131 e de classication supervise, 11 e de dcision, 11 e de partitionnement, 131 de projection, 8 de prdiction, 9 e

INDEX

239 dassociation, 8, 197 de Bayes, 48, 225 de classication, 79 de Widrow-Ho, 94 gradient standard, 94 gradient stochastique, 94 rgression, 207 e linaire, 207 e non linaire, 111 e par rseau de neurones, 208 e a ` vecteurs supports, 208 rgularisateur, 107 e rseau e de Kohonen, 185 de neurone pour rgression, 208 e de neurones, 87, 185 de neurones non supervis, 185 e de neurones supervis, 87 e sac de mots, 58 Scree-plot, 184 scree-test de Cottell, 168 segmentation spectrale, 146 semi-dcidable, 229 e signature, 204 similarit, 204 e slipper, 85 SOM PAK, 195 spectral clustering, 146 sphering, 106 stochastique, 229 stratication, 33 support, 198 sur-apprentissage, 12, 37, 38, 107 sur-spcialisation, 38 e light SVM , 119 SVMTorch, 119, 208 tableau de contingence, 155 taux dchec, 31 e

de reconnaissance des formes, 11 de r`gle dassociation, 8 e de rgression, 8 e de segmentation, 8 dcidable, 229 e indcidable, 229 e semi-dcidable, 229 e processus de Bernouilli, 35 programme convexe, 232 linaire, 231 e mathmatique, 231 e non linaire, 232 e quadratique, 232 projection alatoire, 191 e prcision, 33 e quest, 206 rainbow, 77, 119 rappel, 33 rapport de gain, 27 RBF, 69, 100 reprsentation e de textes, 58 dans WEBSOM2, 191 par analyse de la smantique e latente, 176 par projection alatoire, 191 e sac de mots, 58 des donnes, 9, 145 e ripper, 85 RVS (voir rgression ` vecteurs supe a ports), 208 r`gle e , 94 Adaline, 94 dapprentissage du perceptron, 90

240 de succ`s, 31 e Term Frequency, 74 TF, 74 TF.IDF, 74 thor`me e e de Bayes, 226 de convergence du perceptron, 91 de Huygens, 134 validation, 31 croise, 33 e variable cache, 214 e latente, 214 variance, 215 empirique, 215 vraie -, 215 vecteur document, 75 support, 114 vrai ngatif, 32 e positif, 32 vraisemblance, 48 Ward algorithme de -, 151 websom, 188 weight decay, 107 weka, 41, 60, 77, 85, 156, 206, 208

INDEX

Bibliographie
P. Berkhin. survey of clustering data mining techniques. Technical report, Accrue Software, San Jose, CA, USA, 2002. URL http://citeseer.ist. psu.edu/berkhin02survey.html. Non cit e C.M. Bishop. Neural networks for pattern recognition. Oxford University Press, 1995. Non cit e M. Bolla. Relations between spectral and classicaiton properties of multigraphs. Technical Report 91-27, DIMACS, Rutgers University, NJ, USA, 1991. Non cit e J-M. Bouroche and G. Saporta. Lanalyse des donnes. Que sais-je ? 1854. e Presses Universitaires de France, 1980. Non cit e L. Breiman. Random forests. Machine Learning, 2001. URL http://www.stat. berkeley.edu/users/breiman/RandomForests. Non cit e L. Breiman, J.H. Friedman, R.A. Olshen, and C.J. Stone. Classication and Regression Trees. Wadsworth, 1984. Non cit e L. Candillier. La classication non supervise. Technical report, GRAPPA, Unie versit de Lille 3, Villeneuve dAscq, France, 2004. URL http://www.grappa. e univ-lille3.fr/~candillier/rapports/prstClustering.ps. Non cit e J. Cendrowska. Prism : An algorithm for inducing modular rules. International Journal of Man-Machine Studies, 27(4) :349370, 1987. Non cit e P. Cheeseman and J. Stutz. Bayesian classication (autoclass) : theory and results. In U.M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R. Uthurusamy, editors, Advances in Knowledge Discovery and Data Mining, pages 153180. MIT Press, 1996. URL http://ic.arc.nasa.gov/projects/bayes-group/ images/kdd-95.ps. Non cit e W. W. Cohen. Fast eective rule induction. In International Conference on Machine Learning, pages 115123, 1995. URL http://citeseer.nj.nec. com/cohen95fast.html. Non cit e 241

242

BIBLIOGRAPHIE

W.W. Cohen and Y. Singer. A simple, fast, and eective rule learner. In Proc. of AAAI conference, pages 335342, 1999. URL http://www-2.cs.cmu.edu/ e ~wcohen/slipper/. Non cit T.M. Cover. Geometrical and statistical properties of systems of linear inqequalities with application in pattern recognition. IEEE Transactions on Electronic Computers, 14 :326334, 1965. Non cit e T.F. Cox and M.A.A. Cox. Multi-dimensional scaling, volume 28 of monographs on statistics and applied probability. Chapman & Hall/CRC, second edition, 2001. Non cit e P. Demartines and J. Hrault. Curvilinear component analysis : A selfe organizing neural network for non linear mapping of data sets. IEEE Transactions on Neural Networks, 8(1) :148154, 1997. Non cit e F. Denis and R. Gilleron. Apprentissage ` partir dexemples, 2000. URL http: a //www.grappa.univ-lille3.fr. Non cit e T. Dietterich. An experimental comparison of three methods for constructing ensembles of decision trees : bagging, boosting, randomization. Machine Learning, 40(2), 1999. URL http://citeseer.ist.psu.edu/ dietterich98experimental.html. Non cit e R. Duda and P. Hart. Pattern Classication and Scene Analysis. John Wiley & Sons, 1973. Non cit e Th. Foucart. Lanalyse des donnes. Presses Universitaires de Rennes, 1997. e ISBN : 2-86847-260-5. Non cit e R. Fourer. Nonlinear programming frequently asked questions, 2004. URL www-unix.mcs.anl.gov/otc/Guide/faq/nonlinear-programming-faq. html. Non cit e B. Fritzke. Growing cell structures a self-organizing network for unsupervised and supervised learning. Neural Networks, 7(9), 1994. Non cit e J. Gibb. Back propagation family album. Technical Report C/TR96-05, Macquarie University, Dpt of Computing, 1996. Non cit e R. Gilleron and M. Tommasi. Dcouverte de connaissances ` partir de donnes, e a e 2000. URL http://www.grappa.univ-lille3.fr. Non cit e F. Girosi and T. Poggio. Networks and the best approximation property. Technical Report AI Memo 1164, MIT AI Lab, October 1989. URL http: //citeseer.ist.psu.edu/52821.html. Non cit e

BIBLIOGRAPHIE

243

MIR group at Vienna University of Technology. Music information retrieval. site web : http://www.ifs.tuwien.ac.at/mir/playson.html. Non cit e J. Han and M. Kamber. Data mining, Concepts and techniques. MorganKaufmann, 2001. Non cit e J. Han, J. Pei, and Y. Yin. Mining frequent patterns without candidate generation. In Proc. ACM Intl Conf. on the Management of Data (SIGMOD), 2000. Non cit e E. Hartman, J. Keeler, and J. Kowalski. layered neural network with gaussian hidden units as universal approximators. neural computation, 2(2) :210215, 1990. Non cit e R. Hilborn and M. Mangel. the ecologist detective confronting models with data. Princeton University Press, 1997. Non cit e G. Hinton and S. Roweis. Stochastic neighbor embedding. In Proc. NIPS, 200. Non cit e T.K. Ho. The random subspace method for constructing decision forests. IEEE PAMI, 20(8) :832844, 1998. URL http://citeseer.ist.psu.edu/ ho98random.html. Non cit e K. Hornik. Approximation capabilities of multilayer feedforward networks. Neural Networks, 4 :251257, 1991. Non cit e Information Technology Service. Handling missing or incomplete data, 2004. URL http://www.utexas.edu/its/rc/answers/general/gen25. html. Non cit e T. Joachims. A probabilistic analysis of the rocchio algorithm with TD.IDF for text categorization. Technical Report CMU-CS-96-118, Carnegie-Mellon Institute, 1996. Non cit e D.R. Jones, C.D. Perttunen, and B.E. Stuckman. Lipschitzian optimization without the lipschitz constant. Jal of Opt. Theory and Applications, 79(1) : 157181, 1993. Non cit e T. Kohonen. Self-Organized Maps, volume 30 of Series in Information Sience. Springer, 3rd edition edition, 2001. Non cit e T. Kohonen, S. Kaski, K. Lagus, J. Salojrvi, J. Honkela, V. Paatero, and A. a Saarela. Self-organization of a massive document collection. IEEE Transactions on neural networks, 11(3), 2000. Non cit e K. Lagus, T. Honkela, S. Kaski, and T. Kohonen. WEBSOM for textual data mining. Articial Intelligence review, 13 :345364, 1999. Non cit e

244

BIBLIOGRAPHIE

Y. Le Cun, L. Bottou, G.B. Orr, and K-R. Mller. Ecient backprop. In G.B. u Orr and K-R. Mller, editors, Neural networks : tricks of the trade. springer, u 1998. URL http://citeseer.nj.nec.com/lecun98efficient.html. Non cit e L. Lebart, A. Morineau, and M. Piron. Statistique exploratoire multidimensionnelle. Dunod, 1997. ISBN : 2-10-004001-4. Non cit e G.J. MacLachlan and T. Krishnan. The EM algorithm and extensions. Wiley, 1997. Non cit e J. Malik, S. Belongie, T. Leung, and J. Shi. Contour and texture analysis for image segmentation. International Journal of Computer Vision, 43(1) :727, 2001. URL http://citeseer.ist.psu.edu/malik01contour.html. Non cit e M. Meil. Comparing clusterings. Technical Report 419, University of Washa ington, Seattle, WA, USA, 2002. URL http://www.stat.washington.edu/ www/research/reports/2002/tr418.ps. Non cit e T. Mitchell. Machine Learning. Mc Graw-Hill, 1997. 0-07-115467-1. Non cit e H. Motulsky and A. Christopoulos. Fitting models to biological data using linear and nonlinear regression A practical guide to curve tting. GraphPad Software Inc., 2003. URL http://www.graphpad.com. Non cit e A. Ng, M. Jordan, and Y. Weiss. on spectral clustering : Analysis and an algorithm. In Proc. NIPS. MIT Press, 2002. Non cit e K. Nigam and R. Ghani. Analyzing the eectiveness and applicability of cotraining. In Proc. of Information and Knowledge Management, pages 8693, 2000. URL http://citeseer.ist.psu.edu/699622.html. Non cit e P. Perona and W.T. Freeman. A factorization approach to grouping. In Proc. of the European Conference on Computer Vision, volume 1406 of Lecture Notes in Computer Science, page 650 :670. Springer-Verlag, 1998. URL http: //citeseer.ist.psu.edu/perona98factorization.html. Non cit e C. Peterson, T. Rgnvaldsson, and L. Lnnblad. Jetnet. Technical Report o o CERN-TH.7135/94, CERN, 1993. URL http://www-dapnia.cea.fr/Spp/ Experiences/OPAL/opalcern/nnbegin.html. Non cit e W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery. numerical recipes in C. Cambridge University Press, 1988. URL http://www.nr.com. Non cit e R. Quinlan. C4.5 : programs for machine learning. Morgan-Kaufmann, 1993. Non cit e

BIBLIOGRAPHIE

245

S.T. Roweis and L.K. Saul. Nonlinear dimensionality reduction by locally linear embedding. Science, 290, 2000. Non cit e W.S. Sarle. Neural network FAQ, 1997a. neural/FAQ.html. Non cit e URL ftp://ftp.sas.com/pub/

W.S. Sarle. Measurement theory : Frequently asked questions, 1997b. URL http://ftp.sas.com/pub/neural/measurement.html. Non cit e W.S. Sarle. Prediction with missing inputs, 1998. URL http://ftp.sas.com/ pub/neural/missing.ps. Non cit e L.K. Saul and S.T. Roweis. Think globally, t locally : unsupervised learning of low dimensional manifolds. Journal of Machine Learning Research, 4 : 119155, 2003. URL http://www.jmlr.org. Non cit e R.E. Schapire. The strength of weak learnability. Machine Learning, 5(2) : 197227, 1989. Non cit e C. Shannon. A mathematical theory of communication. The Bell System Technical Journal, 27, 1948. URL http://cm.bell-labs.com/cm/ms/what/ shannonday/shannon1948.pdf. Non cit e J.R. Shewchuk. an introduction to the conjugate gradient method without the agonizing pain, 1994. URL http://www-2.cs.cmu.edu/~jrs/jrspapers. html. Non cit e D.A. Spielman and S-H. Teng. Spectral partitioning works : planar graphs and nite element meshes. In IEEE Symposium on Foundations of Computer Science, pages 96105, 1996. URL http://citeseer.ist.psu.edu/ spielman96spectral.html. Non cit e J.B. Tenebaum, V. de Silva, and J.C. Langford. A global geometric framework for nonlinear dimensionality reduction. Science, 290 :23192323, 2000. Non cit e D. Ullman. Data mining lecture notes, 2000. URL http://www-db.stanford. edu/~ullman/mining/mining.html. Non cit e G.I. Webb. Ecient search for association rules. In Knowledge Discovery and Data Mining, pages 99107, 2000. URL http://citeseer.nj.nec.com/ webb00efficient.html. Non cit e websom@websom.hut.. Websom web site, 1999. URL http://websom.hut. fi/websom. Non cit e

246

BIBLIOGRAPHIE

Y. Weiss. segmentation using eigenvectors : a unifying view. In Proc. of the International Conference on Computer Vision, 1999. URL http://www.cs. huji.ac.il/~yweiss/iccv99.pdf. Non cit e I. Witten and E. Franck. Data mining, Practical Machine Learning Tools and Techniques with Java Implementations. Morgan-Kaufmann, 2000. Non cit e Y. Yang. an evaluation of statistical approaches to text categorization. Journal of Information Retrieval, 1(1/2) :6788, 1999. URL http://www-2.cs.cmu. edu/~yiming/publications.html. Non cit e

Vous aimerez peut-être aussi