Classification tabou basée en transferts

publicité
Classification tabou basée en transferts∗
Alex Murillo-Fernández
Javier Trejos-Zelaya†
Programa de Investigación en Modelos y Análisis de Datos (PIMAD)
Escuela de Matemática
Universidad de Costa Rica
2060 San José, Costa Rica
Tel.: (506) 207 5574, Fax.: (506) 207 4024
Abstract
On propose una méthode de classification par partitions qui utilise la technique de la recherche
tabou, basée sur les transferts, afin d’obtenir des classes bien séparées entre elles et les plus homogènes.
L’algorithme proposé fait une recherche dirigée afin de trouver la partition optimale du critère de
l’inertie intra-classes. On montre le fonctionnement de l’algorithme sur un exemple simple.
Mots-clés: classification automatique, transferts, inertie intra-classes, optimisation combinatoire.
1
Introduction
La classification automatique par partitions cherche la meilleure partition, en un nombre fixé de classes,
d’un ensemble d’individus Ω, selon une fonction qui mesure l’adéquation de la partition. La fonction la
plus utilisée dans le cas quantitatif est l’inertie intra-classes. Dans [7] et [5] nous expliquons les raisons
de l’utilisation des “techniques modernes” d’optimisation dans le problème de partitionnement. Dans cet
article, on propose une méthode de classification automatique par partitions, basée dans la méthode de
transferts, en utilisant la technique combinatoire de la recherchetabou.
F. Glover [3] a proposé, au début des années 70, une procédure heuristique de “haut niveau” appelée
recherche tabou, qui est utilisée avec succès pour résoudre des problèmes d’optimisation. La recherche
tabou se caractérise pour son habilité à échaper aux optima locaux.
Généralement, les méthodes d’optimisation combinatoire possèdent deux phases importantes: une de
construction et une autre d’amélioration; la recherche tabou s’insère dans la phase d’amélioration. La
recherche tabou est une technique itérative qui se déplace, à chaque étape, d’un état s d’un problème
d’optimisation combinatoire, vers un état s0 qui fournit la meilleure valeur de la fonction de coût f dans
V ? , où V ? est un sous-ensemble d’un voisinage N (s) de s; f (s0 ) peut être meilleure ou non à f (s).
Il existe deux différences essentielles entre une technique d’amélioration locale et la procédure expliquée
précédemment. La première différence est le fait qu’on peut se déplacer vers un état s0 pire que l’état de
départ s, et la deuxième différence est que l’ensemble V ? est celui qui guide la recherche tabou.
Quelques aspects importants de la recherche tabou sont:
1. La recherche tabou fait une utilisation systématique de la mémoire, puisque du fait de pouvoir
accepter des états pires s0 que les états de départ s, il peut avoir des cycles; on introduit donc
un structure de mémoire telle qu’on interdise ou pénalise certains mouvements qui pourraient faire
revenir le système sur un état visité récemment; ce sont ces mouvements qu’on appelle tabou.
Cela conduit à une orientation générale de l’ensemble V ? , qui sera généré de façon contrôlée, non
aléatoire.
∗ Recherche partiellement financée par l’Université du Costa Rica et le Conseil National pour les Recherches Scientifiques
et Technologiques (CONICIT).
† e-mail: [email protected]
2. Les contraintes tabou peuvent être violées dans certaines circonstances. Quand un mouvement
tabou fournit un état meilleur que n’importe quel autre état visité, sa condition tabou peut être
levée; ce critère est appelé critère d’aspiration.
3. Vu que la liste des mouvements tabous doit avoir une longueur finie, un mouvement reste tabou
seulement pendant un certain nombre d’itérations, ce qui oblige à une stratégie d’oubli.
2
Recherche tabou d’une partition par transferts
P
Soit Ω un ensemble de n individus, notés xi et munis de poids positifs pi tels que i pi = 1, sur lesquels
on a mesuré p variables quantitatives xj . On propose une méthode pour trouver une partition de Ω en k
classes, basée sur la technique de la recherche tabou et qui utilise le principe des transferts de S. Régnier
[6].
Si P = (C1 , . . . , Ck ) est une partition de Ω en k classes, alors l’inertie intra-classes de P est:
W (P ) =
k X
X
pi d2 (xi , g` )
`=1 i∈C`
P
où g` = µ1` xi ∈C` pi xi est le centre de gravité de la classe C` , µ` le poids de la classe C` , et d est une
distance euclidienne.
Un mouvement dans la recherche tabou sera le transfert d’un individu d’une classe dans une autre
classe. Si P est la partition de Ω avant le mouvement et P 0 la partition après celui-ci, alors la valeur du
mouvement est donnée par:
∆W = W (P ) − W (P 0 ).
Tel que nous l’avons expliqué dans [5], on peut simplifier le calcul de ∆W de façon à avoir:
∆W =
µ` · pi 2
µj · pi 2
d (g` , xi ) −
d (gj , xi ).
µ` + pi
µj − pi
où Cj est la classe de l’individu xi traité avant le transfert et C` est la classe après le transfert. De
même, nous avons des expressions qui simplifient le calcul de l’inertie de la classe Cj et de la classe
C` si le transfert est accepté, ainsi que le calcul des centres de gravité de ces classes modifiées. Les
démonstrations de ces résultats peuvent être trouvées dans [4].
Les valeurs des mouvements fournissent un bon critère pour représenter la qualité d’un mouvement,
même si on peut en utiliser d’autres.
Pour modéliser le problème de partitionnement, on utilisera un vecteur de taille n, dont chaque
entrée est un nombre entre 1 et k, qui représente la classe à laquelle appartient l’individu correspondant.
L’initialisation de la méthode se fait aléatoirement, c’est-à-dire on affecte un nombre aléatoire entre 1 et
k à chaque entrée du vecteur qui représente la partition P . Cependant, cette partition initiale peut aussi
être fournie par un expert.
On appelera le voisinage d’une partition P , l’ensemble de partitions générées à partir de P par un
mouvement, c’est-à-dire, par le transfert d’un individu. On notera N (P ) le voisinage de P .
Un mouvement sera appelé tabou s’il a été considéré dans une des m dernières itérations. Les dernières
itérations induisent ainsi une liste tabou, dont la longueur est un des paramètres de l’algorithme. Si cette
longueur est trop petite alors les cycles apparaitront, mais si elle est trop longue on serait peut-être
contraint dans l’habilité désirée de monter les “vallées profondes”.
On remarquera que dans l’algorithme, on introduit dans la liste tabou l’inertie intra-classes W (P ) au
lieu de la partition P . En effet, la partition P1 = (2, 1, 1, 1, 1) est égale à la partition P2 = (1, 2, 2, 2, 2);
vu que, pour des données réelles, il est très peu probable que l’on trouve deux partitions différentes avec
la même inertie intra-classes, nous avons pris cette décision qui nous a donné d’excellents résultats.
Un mouvement de N (P ) est admissible s’il n’est pas tabou ou bien si le critère d’aspiration élimine
son statut tabou. V ? est l’ensemble de tous les mouvements admissibles de N (P ). Dans une itération,
on choisit le meilleur mouvement P 0 de V ? et la liste tabou est actualisée avec la valeur de W (P ), même
si W (P 0 ) > W (P ). L’algorithme fait des itérations jusqu’à un nombre maximal d’itérations donné par
l’utilisateur.
4
3
2
1
•
• •
• •
1 2 3 4 5
Figure 1: Graphique des points à classifier.
2.1
Exemple simple d’exécution de l’algorithme
On a construit un exemple simple pour ilustrer le fonctionnement de l’algorithme. Les données sont des
points de IR2 : x1 = (1, 1), x2 = (2, 1), x3 = (4, 2), x4 = (5, 1) et x5 = (4, 4). Dans la représentation des
points de la figure 1, on peut apprécier que la partition optimale en 3 classes serait: {x1 , x2 }, {x3 , x4 }, {x5 }.
La longueur de la liste tabou est 5 et le nombre maximum d’itérations 10, mais ici on montre seulement les
résultats des 4 premières itérations. Disons que la partition initiale, choisie aléatoirement, est (1, 1, 1, 1, 1).
Itération
Classification
Inertie W
0
1
11111
1 1 ou 3 1
1 1 ou 1 3
1 1 ou 1 1
2 1 ou 1 1
1 2 ou 1 1
3.52
2.15
3.00
3.35
2.55
2.15
2
1
1
1
1
1
2
1
1
1
1
1
2
1
1
1
1
3
1
1
1
1
1
3
1
1
1
1
1
3
Est-il tabou?
Meilleur admissible
∗
Le ∗ montre le meilleur mouvement admissible. Les vecteurs qui sont dans la deuxième colonne (celle de
Classification) forment le voisinage de la partition initiale. On peut remarquer qu’il y a deux mouvements
admissibles qui fournissent la meilleure valeur de l’inertie, et que les deux correspondent à la même
partition.
Itération
Classification
Inertie W
1
2
31111
11111
21111
3 2 1 1 1 ou 3 1 1 1 2
33111
31211
31311
31121
31131
31113
2.15
3.52
2.15
1.07
1.17
2.13
3.13
1.47
3.07
2.87
Est-il tabou?
Meilleur admissible
Oui
Oui
∗
Dans cette itération il y a deux mouvements tabou, dont un est la partition de départ et l’autre est égal
au dernier mouvement; cependant, il y a un autre mouvement qui améliore beaucoup l’inertie intra-classe.
Itération
Classification
Inertie W
2
3
32111
12111
2 2 1 1 1 ou 3 3 1 1 1
31111
3 2 2 1 1 ou 3 2 1 1 2
3 2 3 1 1 ou 3 2 1 3 1
32121
32113
1.07
3.00
1.17
2.15
1.50
2.00
1.30
2.00
Est-il tabou?
Meilleur admissible
∗
Oui
Oui
Dans cette itération on peut remarquer la différence entre l’algorithme proposé et un algorithme de
descente, car on accepte un mouvement dont l’inertie (0.77) est plus grande que l’inertie du mouvement
précédent (0.67). Ce mouvement sert à sortir de la vallée d’un minimum local et on continue la recherche
dans une autre vallée.
Itération
Classification
Inertie W
3
4
33111
13111
2 3 1 1 1 ou 3 2 1 1 1
31111
33211
33311
33121
33131
33112
33113
1.17
3.00
1.07
2.15
1.10
2.07
0.50
2.13
0.30
2.33
Est-il tabou?
Meilleur admissible
Oui
Oui
∗∗∗
A partir de cette itération, on trouve l’optimum global, qui était connu dès le début. Cet optimum est
signalé par ∗ ∗ ∗.
algorihtmes génétiques. Ces résultats comprennent aussi une comparaison avec le méthode des nuées
dynamiques et la classification hiérachique selon le critère de Ward.
Nous avonc appliqué l’algorithme sur plusieurs tableaux de données, réels et simulés. Dans le tableau
1 on montre les résultats sur deux exemples, les poissons d’Amiard (matrice 23 × 16) et la sociomatrice
de Thomas (matrice 24 × 24), pour 3, 4 et 5 classes. Ce tableau contient aussi les résultats obtenus avec
d’autres méthodes que nous proposons (en utilisant le recuit simulé [5] et un algorithme génétique [7]),
ainsi qu’avec la méthode des nuées (recherche d’une partition en 3,4 et 5 classes, selon le cas, qui sont
représentées par leur centre de gravité, on faisant une initialisation aléatoire des noyaux) et la classification
hiérarchique suivant le critère de Ward (coupure de l’arbre hiérarchique au niveau où on trouve 3, 4 ou
5 classes, selon le cas).
# classes
3 classes
4 classes
5 classes
RS
32213
18281
14497
Poissons d’Amiard
RT
AG
MND
32213
32213
32213
18281
22456
28058
14497
20474
14497
CAH
33149
19589
14497
RS
271.83
235.03
202.58
Sociomatrice de Thomas
RT
AG
MND
271.83
272.98
271.83
235.03
250.76
241.00
202.35
223.78
202.23
CAH
279.33
239.37
204.67
Tableau 1: Résultats de W pour le recuit simulé (RS), la recherche tabou (RT), l’algorithme génétique
(AG), la méthode des nuées dynamiques (MND) et la classification hiérarchique selon Ward (CAH)
On peut voir que les résultats sont les mêmes pour le recuit simulé et pour la recherche tabou, et que
ceux–ci sont supérieurs à ceux de l’algorithme génétique. Cependant, sur le tableau des Iris de Fisher [4],
on obtient des résultats supérieures pour le recuit simulé par rapport à la recherche tabou.
3
Conclusion
Ce travail montre l’utilisation de la technique d’optimisation combinatoire appelée recherche tabou, dans
un problème de classification automatique. Les résultats obtenus sont assez bons et semblent montrer
l’habilité de la méthode proposée pour échapper des optima locaux. L’algorithme étudié élimine les cycles
et peut accepter de mouvements qui font augmenter l’inertie intra-classes, afin d’accéder à des régions
différentes pour éviter l’attraction des “vallées profondes”.
Références
[1] De los Cobos, S. (1994) La Técnica de la Búsqueda Tabú y sus Aplicaciones. Tesis Doctoral, Universidad Nacional Autónoma de México.
[2] Diday, E.; Lemaire, J.; Pouget, J.; Testu, F. (1982) Eléments d’Analyse de Données. Dunod, Paris.
[3] Glover, F.; Taillard, E. (1993) “Tabu search: an introduction”, Annals of Operations Research,
41(1-4): 1–28.
[4] Piza, E.; Trejos, J.; Murillo, A. (1994–1996) Clasificación Automática: Particiones Utilizando Algoritmos Genéticos y de Sobrecalentamiento Simulado. Informes de Investigación PI-114-94-228, Universidad de Costa Rica, San Pedro.
[5] Piza, E.; Trejos, J. (1996) “Partitionnement par recuit simulé”, communication proposée aux IV
Journées de la Société Francophone de Classification, Vannes.
[6] Régnier, S. (1965) “Sur quelques aspects mathématiques des problèmes de la classification automatique”, I.C.C. Bull., 4: 175–191.
[7] Trejos, J. (1996) “Un algorithme génétique de partitionnement”, communication proposée aux IV
Journées de la Société Francophone de Classification, Vannes.
Téléchargement