Partitionnement par recuit simulé

publicité
Partitionnement par recuit simulé∗
Eduardo Piza–Volio†
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 un nouvel algorithme de classification automatique du type partitionnement, qui utilise
la technique du recuit simulé. Cette technique se caractérise par la recherche des optima globaux, à
l’opposé des méthodes traditionnelles de classification qui recherchent de optima locaux. La méthode
est basée sur l’algorithme de transferts de Régnier, quoique ce dernier est plutôt deterministe; par
contre, notre algorithme est du type stochastique.
Mots–clés: classification automatique, inertie intra–classes, programme de recuit, optimisation stochastique.
1
Introduction
Dans une autre communication [11], nous examinons les raisons d’étudier les méthodes d’optimisation
dites stochastiques pour résoudre le problème de la recherche d’une partition P = (C1 , C2 , . . . , Ck ) d’un
ensemble Ω = {1, 2, . . . , n} en k classes. Il est facile de montrer [4] que la maximisation de l’inertie
inter–classes B, qui est utilisée dans [11], est équivalente à la minimisation de l’inertie intra–classes:
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` , xi les données
observées pour l’individu i, pi est le poids de l’individu i et d est une distance euclidienne. Ce sera ce
dernier critère que l’on utilisera ici.
2
La technique du recuit simulé
Le recuit simulé a été formulé originalement par Kirkpatrick, Gelat & Vecchi [5] en 1983, et de façon
indépendante par C̆erny en 1985. Le but de la méthode est de trouver les optima globaux des problèmes
d’optimisation combinatoire.
Cette méthode simule numériquement le processus physique appelé de recuit, qui décrit l’évolution
d’un système physique d’un état désordonné vers un état ordonné: au début, on rechauffe le matériau
pour le porter à l’état liquide; après, on le refroidit on diminuant lentement la température, jusqu’à
obtenir un état solide très stable. La méthode du recuit simulé est basée sur un résultat de la mecanique
statistique, qui établit que, pour une température T , l’équilibre thermique du système est atteint si la
∗ 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]
‡ e-mail: [email protected]
probabilité d’être dans un état avec une énergie de E, est proportionnelle à exp(−E/κB T ), où κB est la
constante de Boltzmann.
Pour simuler l’évolution du système physique, Metropolis et al. ont introduit le principe suivant, connu
sous le nom de règle d’acceptation de Metropolis: “à partir d’une configuration du système, on fait une
modification élémentaire de celui-ci. Alors, si l’énergie du système diminue, on accepte la modification; ou
bien, si l’énergie augmente en ∆E, la modification peut être acceptée avec une probabilité exp(−∆E/T ),
où T est la température du système en ce moment”.
Dans un problème d’optimisation stochastique itérative, le recuit simulé utilise le principe précédent.
On introduit un paramètre de contrôle c ∈ IR+ qui joue le rôle de la température du système physique.
Ce paramètre permettra de conditionner le nombre des états qu’on peut accéder à partir de chaque
état, de même que la probabilité d’accéder à chacun d’entre eux. L’état optimal sera alors atteint si la
valeur de c est diminuée lentement et de façon bien contrôlée. On montre que le recuit simulé trouve,
asymptotiquement, un optimum global de la fonction f à optimiser [1, 7].
Initialement, le paramètre c de contrôle a une grande valeur et on génère une suite d’états du problème:
étant donné un état, on génère le suivant, qui peut être accepté suivant la règle d’aceptation de Metropolis.
Le paramètre de contrôle est diminué par niveaux, générant ainsi une suite d’états qui permetront au
système de s’approcher à l’équilibre de ce niveau. L’algorithme s’arrête pour une petite valeur de c
telle que pratiquement aucune nouvelle génération n’est acceptée. On retient alors comme solution du
problème traité, l’état qui optimise f parmi les états de la succession générée.
3
Description de l’algorithme proposé
L’algorithme commence par le choix au hasard d’une partition P de Ω en k classes. A partir de cette
partition, on commence à itérer pour les différentes valeurs du paramètre de contrôle c. Pour obtenir une
nouvelle partition P 0 , on suit un schéma transferts aléatoires, par opposition à la méthode de transferts
de Régnier [8], qui est complétement déterministe:
1. On choisit aléatoirement un individu x ∈ Ω.
2. On choisit aléatoirement un indice ` ∈ {1, . . . , k}.
3. On introduit x dans la classe C` .
Remarque: Suivant cette procédure de génération de nouvelles partitions, une classe peut se vider. Dans
ce cas, on conserve quand même l’indice de classe, car dans un pas postérieur la classe peut de nouveau
avoir des éléments. De toutes façons, on sait [7] que la partition optimale doit avoir exactement k classes
(la partition optimale en k classes possède une inertie W inférieure ou égale à la partition optimale en
k − 1 classes).
Ce mécanisme de génération possède les caractéristiques suivantes:
• Il y a une réversibilité entre les partitions: en effet, si on passe de la partition P à la partition P̃ en
un nombre fini de pas, il est alors possible de retourner sur la partition P en faisant les transferts
inverses.
• Il y a une connexité: en effet, étant donné deux partitions quelconques P et P 0 de Ω en k classes,
on peut passer de P à P 0 dans un nombre fini de générations aléatoires d’individus et d’indices, par
des simples transferts d’individus.
• Le voisinage SP de la partition P est formé par toutes les partitions obtenues par une modification
de P , définie par le transfert d’un seul objet x ∈ Ω. Vu que pour chaque x ∈ Ω il y a k − 1 transferts
possibles, et qu’il y a n éléments dans Ω, alors le cardinal de SP est |SP | = n(k − 1).
Par ce qui précède, il est évident que la probabilité de générer l’état i0 = P 0 à partir de l’état i = P
1
est Gii0 = n(k−1)
, qui ne dépend pas de l’état spécifique du système à ce moment. Ces conditions sont
importantes parce qu’elles sont suffisantes pour montrer que, théoriquement, le recuit simulé converge
asymptotiquement vers un minimum global de la fonction objectif W (P ) [1].
3.1
Programme de recuit utilisé
Dans toute implémentation du recuit simulé, on doit définir avec toute précision quatre aspects, appelés
le programme de recuit:
(i) Valeur initiale du paramètre de contrôle c0 : nous utilisons l’approche traditionnelle de Kirkpatrick
et al., qui consiste à estimer c0 à partir d’un certain nombre de tirages à blanc. Alors, c0 :=
+
+
∆W / ln(χ−1
est la moyenne des changements dans W pour des partitions qui font
0 ), où ∆W
augmenter l’inertie, et χ0 est un taux initial d’acceptation, donné par l’utilisateur, pour les partitions
qui font augmenter W . Ce calcul se fait de façon adaptative. Ainsi, on garantit qu’au début de
l’algorithme la règle de Metropolis acceptera en moyenne 100χ0 % des partitions qui font augmenter
l’inertie [1]. Nous avons utilisé avec succès la valeur de χ0 = 0.8.
(ii) Méthode de refroidissement: on calcule le paramètre de contrôle ct+1 d’un niveau à partir du
précédent par: ct+1 := λ · ct , où λ ∈ [0.85, 0.97]. Dans nos exemples, la valeur λ = 0.9 a donné de
bons résultats.
(iii) Longueur des chaı̂nes d’itérations: Nous utilisons avec succès le valeur min{20000, 100n(k − 1)}.
Cependant, les itérations s’arrêtent pour une chaı̂ne si on a accepté min{500, 10n(k − 1)} partitions
qui font augmenter W .
(iv) Critère d’arrêt: Nous utilisons un nombre maximal de 150 itérations de la valeur du paramètre
de contrôle ct , mais l’algorithme s’interrompt si dans les m dernières chaı̂nes, on n’a pas accepté
aucune nouvelle partition suivant la règle de Metropolis. Dans nos implémentations, nous utilisons
m = 4.
3.2
Quelques propriétés simplificatrices
Pour l’implémentation, il est important de simplifier le calcul de la variation∆W de W lors du transfert
d’un individu xi de la classe Cj vers la classe C` . Cette variation est [7]:
∆W =
µ` · pi 2
µj · pi 2
d (g` , xi ) −
d (gj , xi ).
µ` + pi
µj − pi
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.
4
Résultats numériques
Nous avons appliqué l’algorithme de partitionnement proposé sur divers tableaux de données. On montre
ici les résultats sur le tableau de notes scolaires [9], qui contient les notes de 9 élèves en cinq matières.
Le tableau de données est montré dans le tableau 1.
Jean
Alain
Anne
Monique
Didier
André
Pierre
Brigitte
Evelyne
Maths
6
8
6
14.5
14
11
5.5
13
9
Sciences
6
8
7
14.5
14
10
7
12.5
9.5
Français
5
8
11
15.5
12
5.5
14
8.5
12.5
Latin
5.5
8
9.5
15
12.5
7
11.5
9.5
12
Gym
8
9
11
8
10
13
10
12
18
Tableau 1: Tableau des notes scolaires
L’algorithme a été appliqué afin d’obtenir 2, 3 et 4 classes. En moins de 10 secondes on a obtenu les
résultats montrés dans la tableau 2, qui coincident avec les resultats optimaux globaux, bien connus pour
ce tableau de données. Ces résultats sont les mêmes que ceux obtenus pour l’algorithme génétique [11] et
la recherche tabou[6], et ils sont supérieurs à ceux obtenus par la méthode de nuées dynamiques (recherche
d’une partition en 2, 3 et 4 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
# classes
2 classes
W = 28.19
3 classes
W = 16.81
4 classes
W = 10.47
classes
{Jean, Alain, André, Anne, Pierre}
{Evelyne, Brigitte, Didier, Monique}
{Jean, Alain, André}
{Anne, Pierre, Evelyne}
{Brigitte, Didier, Monique}
{Jean, Alain}
{Anne, Pierre, Evelyne}
{André, Brigitte}
{Didier, Monique}
Math
7.30
12.63
8.33
6.83
13.83
7.00
6.83
12.00
14.25
Centres de gravité
Sci
Fra
Lat
7.60
8.70
8.30
12.63
12.13
12.25
8.00
6.17
6.83
7.83
12.50
11.00
13.67
12.00
12.33
7.00
6.50
6.75
7.83
12.50
11.00
11.25
7.00
8.25
14.25
13.75
13.75
Gym
10.20
12.00
10.00
13.00
10.00
8.50
13.00
12.50
9.00
Tableau 2: Partitions en 2, 3 et 4 classes – Tableau des notes scolaires
de l’arbre hiérarchique au niveau où on trouve 2, 3 ou 4 classes, selon le cas). On peut voir ces résultats
comparatifs dans [11].
Les résultats de l’algorithme sur deux autres exemples, les poissons d’Amiard et la sociomatrice de
Thomas (voir [2]), sont montrés dans le tableau 3.
# 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 3: 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,
on obtient des résultats supérieures pour le recuit simulé par rapport à la recherche tabou.
5
Conclusions
Nous avons développé un algorithme de classification automatique par partitions, en utilisant la technique
du recuit simulé. On a obtenu de très bons résultats sur plusieurs tableaux de données; ces résultats sont
comparables ou supérieurs en temps et en qualité avec ceux obtenus par les méthodes classiques.
Notre algorithme cherche des partitions sous–optimales très proches de la partition optimale globale,
dans un temps et un espace de taille polynomiale. Jusqu’à présent, nous n’avons pas trouvé un ensemble
de données tel que les méthodes traditionnelles trouvent de meilleurs résultats que notre algorithme.
D’autre part, les résultats obtenus avec le recuit simulé sont meilleurs ou égaux à ceux obtenus avec
un algorithme génétique [11] ou la recherche tabou [6].
Références
[1] Aarts, E.; Korst, J. (1990) Simulated Annealing and Boltzmann Machines. John Wiley & Sons, Chichester.
[2] Cailliez, F.; Pagès, J.P. (1976) Introduction à l’Analyse des Données. SMASH, Paris.
[3] Celeux, G.; Govaert, G. (1991) “A classification EM algorithm for clustering and two stochastic versions”, Rapport de
Recherche No. 1364, INRIA-Rocquencourt, Le Chesnay.
[4] Diday, E.; Lemaire, J.; Pouget, J.; Testu, F. (1982) Eléments d’Analyse de Données. Dunod, Paris.
[5] Kirkpatrick, S.; Gelatt, D.; Vecchi, M.P. (1983) “Optimization by simulated annealing”, Science 220, 671-680.
[6] Murillo, A.; Trejos, J. (1996) “Classification tabou basée en transferts”, communication proposée aux IV Journées de
la Société Francophone de Classification, Vannes.
[7] 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.
[8] Régnier, S. (1965) “Sur quelques aspects mathématiques des problèmes de la classification automatique”, I.C.C. Bull.,
Vol. 4, pp. 175–191.
[9] Schektman, Y. (1988) Analyse et Traitement Informatique de Données. Cours de D.E.A., Université Paul Sabatier.
[10] Siarry, P.; Dreyfus, G. (1988) La Méthode du Recuit Simulé. IDSET, Paris.
[11] 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