FR 2685795 A1 19930702 FR 9116160 A 19911226 PROCEDE DE SEGMENTATION POLYTOMIQUE La présente invention a pour objet un procédé de segmentation polytomique, étant bien entendu qu'elle peut inclure la segmentation dichotomique. La segmentation, ou répartition arborescente d'individus (objets quelconques, images, systèmes, données diverses,) est connue sous les appellations anglaises de "decision tree" ou "tree classifier". La segmentation polytomique est utilisée dans le domaine de l'analyse de données, de la reconnaissance de formes et de la discrimination, voire de la classification automatique de données Les méthodes de segmentation classiques sont dites "dichotomiques" L'emploi de ces méthodes sur des variables explicatives (représentation mono ou multidimensionnelle d'une mesure) fournit une interprétation booléenne de la variable à expliquer (interprétation ou type attaché à la mesure) Le résultat de ces méthodes de segmentation classiques se présente sous forme de fonctions binaires simples à employer. Dans un processus d'analyse de données ou de discrimination séparé en une phase d'inférence (apprentissage) et une phase décisionnelle (généralisation), ces méthodes offrent des avantages certains: Durant la phase d'apprentissage, elles permettent de mesurer le pouvoir de discrimination des variables explicatives et de fournir une description facilement interprétable de l'analyse discriminante. Durant la phase de généralisation, outre l'extrême rapidité de classement (décisions à seuils en nombre fini), l'utilisateur peut influencer le classement d'un individu en incluant dans les critères de segmentation des connaissances a priori suivant l'effet qu'il recherche La règle de décision obtenue ressemble aux méthodes de décision par approximations successives courantes dans le raisonnement humain, et permet d'élaborer entre l'utilisateur et le calculateur une interactivité très claire que l'on ne retrouve pas dans les autres méthodes de discrimination. Pour ne citer que les plus utilisées de ces autres méthodes: l'analyse discriminante classique fournit des règles de décision exprimées sous forme d'expressions algébriques souvent difficiles à utiliser; la méthode des K plus proches voisins est sensible à la métrique utilisée et reste, malgré les récents travaux sur des variantes plus rapides, très coûteuse en temps de calcul. Les méthodes classiques présentent cependant les inconvénients suivants Une méthode de segmentation classique est basée sur un découpage binaire sur la ou les variables de la mesure Lorsque le choix ou l'interprétation à donner de la mesure est binaire (choix N'1 ou choix N' 2), elles sont parfaitement adaptées, mais lorsqu'il faut choisir entre plusieurs choix possibles (> 2) on peut aboutir à des conflits de décision lorsque l'on refait plusieurs fois la segmentation avec des couples de choix différents, par exemple: X est inconnu et peut appartenir aux classes N'1, N' 2 ou N' 3 lère phase: classe NW 1 contre classe N' 2 + classe N' 3 X est affecté à la classe N'1 2 ème phase: classe N' 2 contre classe N O 1 + classe N' 3 X est affecté aux classes NW 1 + No 3 3 ème phase: classe N' 3 contre classe N O 1 + classe N O 2 X est affecté à la classe N' 3 Une telle situation est due aux erreurs d'affectation durant chaque phase et conduit à une indétermination De plus, on a multiplié le nombre de phases, donc le nombre de risques d'indécision et on a augmenté le coût d'une décision (en temps et/ou en matériel). Certaines variantes choisissent à chaque pas les meilleures (au sens d'une critère spécifique) classes ou les meilleurs ensembles de classes à opposer deux à deux. Dans ce dernier cas, on limite le nombre de phases à une seule, et on limite aussi les risques d'indécision mais on complique alors l'interprétation a posteriori de l'analyste en augmentant le nombre de tests et de segments par lesquels passe la mesure. Une dernière contrainte des méthodes classiques vient de leur caractère non-paramétrique, c'est-à-dire que la recherche de la coupure optimale entre deux classes est faite par un comptage des données de chaque côté de la coupure, ce qui rend difficile, d'une part, la généralisation de la méthode lorsque les propriétés statistiques des mesures sont connues, et d'autre part conduit à des temps de calculs prohibitif lorsque le nombre et la richesse des mesures deviennent importants. De telles méthodes sont par exemple décrites dans les ouvrages suivants BREIMAN L, FRIEDMAN JH, OHLSEN RA et STONE CJ: "Classification and Regression trees" Editions WADSWORTH 1984 CELEUX G et LECHEVALIER Y:"Méthodes de segmentation non- paramétriques, Revue de statistiques appliquées" Vol XXX, 4 pp 39-53 1982 FRIEDMAN JH: " A recursive partitienary decision rule for non parametric classification" IEEE Trans-Computer pp 404-408 Avril 1977 GUEGUEN A et NAKACHE JP: "Méthode de discrimination basée sur la construction d'un arbre de décision binaire", Revue statistique appliquée, XXXVI, 1 pp 19-38 1988. BERGONIER H et BOUCHARENC L: "Methode de segmentation basée sur la théorie de l'information", Prix M DASSAULT 1967. La présente invention a pour objet un procédé de segmentation qui permette de classifier le plus simplement et le plus rapidement possible des individus en prenant en compte un ou plusieurs critères, et ce, quel que soit le nombre de classes envisagées. Selon le procédé de l'invention, on constitue une base de données à partir de plusieurs populations d'individus représentatives de classes d'individus à discriminer pour lesquels on dispose d'une loi statistique les définissant sur au moins une variable caractéristique, et à défaut, on estime les lois inconnues à l'aide des données, après avoir ordonné les populations sur chaque variable caractéristique, on segmente la base de données, en au moins autant de parties qu'il en apparaissait dans ladite base de données, en fixant des coupures discriminant les classes ordonnées prises deux à deux, et on classe chaque nouvel individu dont on connaît la valeur de ses variables caractéristiques dans la classe la plus probable pour la partie o se trouve l'individu Dans le cas o l'on dispose de plusieurs variables caractéristiques, on choisit celle offrant la meilleure discrimination possible entre classes par minimisation de la variance à l'intérieur des classes et maximisation de la variance entre classes. Selon un des aspects de l'invention, les coupures sont calculées à partir de la connaissance ou de l'estimation des paramètres descriptifs des lois statistiques voisines deux à deux. Selon un aspect du procédé de l'invention, la segmentation est effectuée tant qu'il reste des impuretés significatives dans les classes De façon avantageuse, on effectue à chaque nouvelle segmentation au moins un test d'arrêt imposant l'arrêt de la segmentation dès que la réduction des impuretés n'est plus effective De préférence, les tests d'arrêt comprennent au moins l'une des vérifications suivantes: seuil d'impureté acceptable pour une classe, population minimale d'une classe, nombre maximal de classes, nombre maximal de niveaux de segmentation. La présente invention sera mieux comprise à la lecture de la description détaillée de plusieurs modes de mise en oeuvre, pris à titre d'exemples non limitatifs. On va d'abord décrire un algorithme de segmentation dans le cas de deux classes Soit une base de données de N individus décrits dans un espace de représentation R par n variables quantitatives: chaque individu X est représenté par i un vecteur R,(X il, Xi 2 Xi 3 Xin) De plus cette base de données est partitionnée en deux classes W 1 et W 2 telles que: Card (W) = N 1 et Card (W 2) = N 2 avec N 1 + N 2 = N Chaque individu X est affecté a priori à l'une des :1 deux classes W 1 ou W 2 On se place dans le cas de la théorie Bayésienne de la décision Il faut donc introduire sur R une mesure, fonction de décision, ou fonction caractéristique h (X) qui permette de classer un individu X quelconque, dans une des deux classes précitées. On utilise comme fonction de décision, les fonctions caractéristiques des densités de probabilité, estimées sur une base de données d'apprentissage T{(X, W)}. J En pratique, seules les lois gaussiennes sont envisagées ci-dessous, mais il est bien entendu que l'invention n'est pas limitée à ces lois, et la mise en oeuvre du procédé de l'invention avec d'autres lois sera aisée pour l'homme de l'art à la lecture de la présente description En prenant les logarithmes des densités de probabilité, les fonctions caractéristiques sont de la forme: h.(X) = {(X X)t Z (X Xi)} + lLog I Zl 2 Log (p(Wj))l soit d (X) le premier terme de h (X), qui n'est autre que la J J distance de Mahalanobis t l( - d.(X) = (X X) (X X) J J 3 Dans la plupart des cas, le deuxième terme de h (X) est négligeable devant d (X) En le négligeant, la fonction de décision devient particulièrement simple: on classe X dans la classe W dont la distance d (X) est la plus petite Si les classes sont équiprobables, la surface séparatrice est un hyperplan. Dans le cas de variables monodimensionnelles, cette séparatrice se ramène à un point X* représentant la séparatrice optimale entre les classes W 1 et W 2 Ces classes sont définies, dans le cas de lois de probabilité gaussiennes, par la moyenne et l'écart type de leurs individus. On va maintenant examiner le cas d'une seule variable explicative (n=l) Dans le cas de deux classes définies chacune par une gaussienne monodimensionnelle, le point X* qui sépare optimalement les deux classes se détermine de la façon suivante: dl(X*) = d 2 (X*) (X* X)2 (X* X)2 i 2 2 2 1 2 On peut montrer très facilement que le point X* appartient au segment lX 1; X 2 La formule ci-dessus se réécrit alors: (X*-x) (X* X) 1 = _ 2 ai 2 X + X i -* 1 2 2 t 2 Par analogie avec la mécanique on peut dire que le point X* représente le centre de gravité des points X 1 et X 2 de masse et 1 i 2 Ayant déterminé le point X*, on découpe en deux sous- ensembles la base données T(X, Wj) de la façon suivante V X T Xi E T 1 si Xi S 5 X* i V X ET- Xi E T 2 si X > X* Schématiquement, la procédure de segmentation se représente sous la forme d'un arbre dichotomique X* Xi c X* I | Tl l xi > X* | T 2 l Avec Card {T} + Card {T 2} = Card {T} Dans chacune des partitions de T, T 1 et T 2) on réitère la procédure en considérant que chaque segment fils obtenu à l'itération 7 devient segment père à l'itération 7 + 1 pour être partitionné à son tour en deux segments fils Notons qu'un segment père ne pourra être découpé que si le nombre de classes est supérieur à deux de façon significative (chaque classe est suffisamment représentée). Une telle procédure permet de construire un arbre de segmentation dichotomique o la variable explicative sélectionnée est toujours la même et o seule la valeur du seuil de segmentation est amenée à être modifiée. Le procédé de l'invention peut être étendu au cas de plusieurs variables explicatives On va d'abord décrire le choix de la variable explicative la plus discriminante Si l'espace de représentation est de dimension p il est nécessaire de choisir judicieusement la variable explicative suivant laquelle on partitionnera la population d'individus La variable explicative sélectionnée doit offrir la meilleure discrimination possible au sens de l'analyse discriminante (minimisation de la variance à l'intérieur des classes et maximisation de la variance entre les classes). On cherche, pour chaque variable explicative X, la valeur du seuil optimal X* (j= 1, p), et on définit une nouvelle j j mesure W 12 permettant de chiffrer la discrimination apportée par la segmentation suivant la variable X entre les classes W et w 2. 2 f P CXIW)) 12 E 2 P CX, W) Log P i(X) avec Log logarithme népérien X individu bien classé par la segmentation et NX, W P(X, W) = N NX W. P(Xl W) = N. Ni P(X) = X N N: Nombre total d'individus, toutes classes confondues NX: Nombre d'individus bien classés toutes classes confondues N: Nombre total d'individus de la classe W. 1 1 NXW: Nombre d'individus de la classe W bien classés i On calcule W 12 pour chaque variable X et on slectionne la variable X pour laquelle 2 k sélectionne la variable Xk pour laquelle W 12 12; V j # k (j = 1, p) Le nuage d'individus est segmenté suivant le seuil X*k correspondant à la variable Xk La représentation de ce partitionnement correspond au schéma ci-dessous: Xk(i) ' X*k e I Choix de Xk Détermination de I l I X*k Xk (i) > X*k 2 1 Sur chacun des nouveaux segments fils, on réitère la procédure de la même façon. On construit à l'aide de ce procédé un arbre de segmentation o à chaque niveau le nombre total d'individus est constant (population d'individus présents dans le segment père origine), mais o le nombre de représentants par segment fils est strictement inférieur au nombre d'individus contenus dans le segment père: Card (E 1) + Card ( 2) = Card () Card (ei) on fixe une limite à la segmentation par des tests d'arrêt. On peut définir à l'aide de ces critères de segmentation une condition de découpage d'un segment quelconque S Si sur l'ensemble des individus contenus dans le segment S, la variable descriptive présente une dichotomie de ses caractéristiques, on envisage de partager ce segment en deux segments fils; mais, dans le cas o les individus des deux classes sont très mélangés, la segmentation n'apportant pas de discrimination supplémentaire, elle est inutile, voire néfaste. i f On définit donc deux nouveaux critères W 12 et W 2: wi 2 Critère initial, ou a priori, mesurant le mélange des classes dans le segment S. wf 2 Critère final, ou a posteriori, mesurant le mélange des classes sur l'ensemble des segments fils de S. Ces critères s'énoncent: w 2: Equivalent au critère W 12 défini pour le choix de la variable à segmenter. f w 12 Somme des critères W 12 sur l'ensemble des segments fils. i 1 Ayant calculé ces deux critères, on teste la différence D f 12 l 12 12) Pour que la segmentation ait un sens, il faut que D soit positif Si ce n'est pas le cas, on ne traite pas le segment S qui devient alors segment terminal (on arrive à la "feuille" de la structure arborescente). Le critère de division d'un segment est basé sur une réduction de l'impureté de ce segment Si cette réduction est effective, on autorise la segmentation, sinon on déclare le segment terminal. Néanmoins, la seule recherche de la réduction de il l'impureté peut conduire à de très nombreuses divisions, l'arbre est très grand et donne, à la fin de la phase décisionnelle une probabilité de classement trop optimiste, loin du taux de classement réel obtenu avec la base de données de test en phase décisionnelle. Pour éviter cela, une batterie de tests supplémentaires, connus en soi, complète le procédé de l'invention Ce sont: seuil sur l'impureté acceptable pour un segment population minimale d'un segment (pourcentage de la population du segment origine); nombre maximal de segments nombre maximal de niveaux dans l'arbre de segmentation. On remarquera que le procédé de l'invention étant basé sur une estimation paramétrique des densités de probabilité des différentes populations, le nombre d'individus présents dans un segment doit être suffisant pour que l'erreur sur l'estimation des paramètres ne soit pas trop importante. Si un segment fils vérifie le test d'arrêt de la procédure, il est affecté à la classe de points majoritaires dans ce segment et devient segment terminal, il ne sera plus segmenté. La procédure est appliquée à un autre segment fils et se poursuit tant qu'il reste un segment non terminal. Après le découpage d'un segment, on ne choisit pas de diviser systématiquement le segment contenant la partition complémentaire à celle précédemment traitée On retient le segment qui donne la meilleure valeur du critère de discrimination wc 12 défini ci-dessus. Donc à l'itération Y, on dispose de K segments non terminaux, et on cherche pour segment la variable X, du seuil de i J segmentation X* et du critère O î 12 On choisit de poursuivre la procédure à l'itération '+ 1 en traitant le segment S tel que: w 12 (S) = max lmax l 2 (Skll 12 k li I 1 La phase d'apprentissage (ou phase descriptive) permet de construire un arbre de segmentation dichotomique Un segment non terminal possède toujours deux segments fils définis à partir du segment père par seuillage sur une variable déterminée A tout segment terminal est dédiée la classe unique ou la classe majoritaire des individus de ce segment. Pour classer un nouvel individu on lui fait subir, depuis le segment originel, la série de tests correspondant à son cheminement dans l'arbre, et lorsqu'il tombe dans un segment terminal on lui attribue la classe correspondant à ce dernier segment. Le procédé de l'invention, exposé cidessus dans le cas de deux classes peut être étendu aux problèmes multiclasses en considérant chaque classe vis-à-vis de toutes les autres. Selon l'art a ntérieur, dans le cas de K classes présentes dans l'échantillon d'apprentissage, on construit K arbres de segmentation dichotomiques, o chaque segment père donne un segment fils dédié à la classe traitée, et un second segment fils dédié à toutes les autres classes confondues La procédure d'apprentissage est alors moins rapide, ainsi que la phase décisionnelle De plus, si chacune des K séquences est considérée indépendante des autres, les affectations peuvent être multiples: en effet si un individu est identifié comme appartenant à une classe déterminée, parce qu'il est tombé dans un segment terminal étiqueté comme partie de cette classe lors de la phase descriptive, rien ne s'oppose à ce qu'il subisse une identification différente lors d'une des K-1 phases décisionnelles qu'il devra subir Si un tel cas se produit l'individu étant impossible à classer, on ne peut que le rejeter. Sur l'ensemble de la population test de nombreux objets peuvent ainsi être rejetés, entraînant une diminution sensible du pouvoir de discrimination. Le procédé de l'invention est un procédé permettant de classer de façon unique un individu, ceci à partir d'un seul arbre de segmentation construit durant une seule phase d'apprentissage L'arbre obtenu n'est plus dichotomique: chaque segment père est divisé en au moins autant de segments fils qu'il existe de classes significatives. On va d'abord examiner le cas d'une seule variable On a vu, dans le cas de deux classes que l'on peut séparer optimalement deux gaussiennes par le point X*, intersection de la séparatrice avec l'axe des barycentres des nuages d'individus. Dans le cas de classes multiples, ce point XI est i toujours compris dans le segment lXV, X i+ 1 l, donc si on dénombre K classes, on peut déterminer les K-1 points X*i (U= 1, K-1) séparant deux à deux les classes Wi et Wi+ 1 ordonnées suivant l'ordre croissant des barycentres X (j=l, k) de chacune des K classes projetées sur la variable explicative X o W 1 W 2 Wi WK I I + I > 1 ' i 2 ' 2 Xj, oi XK' o K X 1 i 5 X 2 iSXi S XK On réarrange donc les paramètres caractéristiques de la variable à expliquer de façon à satisfaire cet agencement des barycentres suivant la variable explicative X De la même façon que précédemment on détermine les seuils X*i (i= 1, K-1) par la formule: * X + X X = X i+l Xi 1 i 3 +O i C Ci+l La division de la population se faisant comme ci- dessous: si X classes d'individus. Le procédé de l'invention peut être étendu directement au cas multivariables Si chaque individu est décrit par n variables explicatives x (j=l, n) dans R, on peut calculer pour J chacune de ces variables le seuil optimal X* Il convient ensuite J de choisir parmi ces N variables celle qui offre la meilleure discrimination possible Cette descrimination est mesurée en lui associant un indice de précision interne du segment, qui mesure l'adéquation entre la partition, la variable explicative sélectionnée et la classe Cette mesure est dérivée de l'indice j w 12 défini précédemment, et étendue au cas multiclasses: w J: indice de précision interne du segment S suivant la s variable explicative X J K P(XlWi) 2 = E E P(X, Wi) Log P(x) > 12 = 3 l P (X)J i=l X K représente le nombre total de classes présentes dans le segment S Le segment S est alors divisé en un nombre de segments fils correspondant au nombre de classes représentatives parmi les K correspondant au nombre de classes représentatives parmi les K classes représentées dans ce segment Comme dans le cas dichotomique, la division suivante sera celle présentant l'indice de précision le plus fort. On pratique le test d'arrêt de la façon suivante Un segment fils sera terminal s'il vérifie le test d'arrêt défini dans le cas de deux classes (réduction de l'impureté, précision maximale, nombre minimal d'individus dans le segment) On lui affecte alors la classe des points majoritaires dans ce segment. La procédure se poursuit tant qu'il reste un segment non terminal. Selon une variante du procédé de l'invention, on procède en découpant les segments pères suivant un nombre de segments fils supérieur au nombre de classes significatives, ceci pour tenir compte des modalités multiples d'une ou de plusieurs classes ou pour créer des segments de rejet dans lesquels on place les données trop confuses pour être segmentées de façon efficace. Selon une autre variante, on adopte une autre définition mathématique du calcul des coupures optimales à partir de choix paramétriques différents, par exemple en mettant en oeuvre des lois de probabilités autres que les lois gaussiennes. Selon encore une autre variante, on utilise des variables qualitatives préalablement recodées de façon numérique, par exemple en codant des couleurs par leur longueur d'onde, ou par exemple si on a des individus grands, moyens et petits, on attribue des valeurs numériques à leur surface ou à leur volume. R E V E N D I C A T I O N S 1 Procédé de segmentation, caractérisé par le fait qu'on constitue une base de données à partir de plusieurs populations d'individus représentatives de classes d'individus à discriminer pour lesquels on dispose d'une loi statistique les définissant sur au moins une variable caractéristique, et à défaut, on estime les lois inconnues à l'aide des données, après avoir ordonné les populations sur chaque variable caractéristique, on segmente la base de données, en au moins autant de parties qu'il en apparaissait dans ladite base de données, en fixant des coupures discriminant les classes ordonnées prises deux à deux, et on classe chaque nouvel individu dont on connaît la valeur de ses variables caractéristiques dans la classe la plus probable pour la partie o se trouve l'individu. 2 Procédé selon la revendication 1, caractérisé par le fait que lorsque l'on dispose de plusieurs variables caractéristiques, on choisit celle offrant la meilleure discrimination possible entre classes par minimisation de la variance à l'intérieur des classes et maximisation de la variance entre classes. 3 Procédé selon la revendication 1 ou 2, caractérisé par le fait que les coupures sont calculées à partir de la connaissance ou de l'estimation des paramètres descriptifs des lois statistiques voisines deux à deux. 4 Procédé selon l'une des revendications 1 à 3, caractérisé par le fait quela segmentation est effectuée tant qu'il reste des impuretés significatives dans les classes. Procédé selon l'une des revendications précédentes, caractérisé par le fait que l'on effectue à chaque nouvelle segmentation au moins un test d'arrêt imposant l'arrêt de la segmentation dès que la réduction des impuretés n'est plus effective. 6 Procédé selon la revendication 4, caractérisé par le fait que les tests d'arrêt comprennent au moins l'une des vérifications suivantes: seuil d'impureté acceptable pour une classe, population minimale d'une classe, nombre maximal de classes, nombre maximal de niveaux de segmentation.