Projet 2 : Algorithme des k-moyennes
Vous devez rendre ce travail pour le 20 avril 2011, sous forme d’un rapport manuscrit
retra¸cant l’´etude d´ecrite ci-dessous. Ce rapport doit comporter l’analyse demand´ee des
fichiers de donn´ees, et les figures correspondantes.
1 Principe de l’algorithme
L’algorithme des k-moyennes, plus commun´ement appel´e k-means, est une ethode
couramment utilis´ee en analyse de donn´ees. Elle permet de partitionner une collection
d’individus en Kclasses, K´etant un nombre fix´e au pr´ealable par l’utilisateur. On
supposera dans la suite que les individus x,= 1,...,N, sont des vecteurs de IRq.
L’algorithme des k-moyennes se d´eroule de la fa¸con suivante :
1. Choisir kindividus au hasard. On note m1,...,mKces derniers. Ils constituent
les repr´esentants des Kclasses C1,...,CK, suppos´ees vides `a l’initialisation.
2. Affecter chaque individu `a l’une des classes, not´ee k0, en fonction du repr´esentant
le plus proche :
k0= arg min
1kKd(x,mk)
o`u d(·,·) est une m´etrique `a d´efinir soigneusement. Il peut s’agir par exemple de la
distance de Mahalanobis, d´efinie par
d(x,mk) = [(xmk)Σ1(xmk)]1
2
o`u Σest la matrice de covariance des donn´ees. On choisira Σ=Idans la suite,
except´e dans la derni`ere question de l’´enonc´e.
3. Calculer les nouveaux repr´esentants de chaque classe. Ils peuvent ˆetre d´efinis comme
´etant le barycentre des ´el´ements de chaque classe :
mk=1
|Ck|X
∈Ck
x(1)
4. Retourner `a l’´etape 2 si la condition d’arrˆet, `a d´efinir, n’est pas satisfaite.
La partition obtenue par l’algorithme des k-moyennes d´epend des repr´esentants de classe
initialement choisis. De fa¸con `a s’affranchir en partie de cette d´ependance, on ex´ecute
l’algorithme des k-moyennes, k´etant fix´e, avec des configurations initiales diff´erentes, et
on retient la meilleure partition. La qualit´e de la partition peut ˆetre mesur´ee par diverses
quantit´es, par exemple :
D=
K
X
i=1
X
x∈Ck
(xmk)Σ1(xmk)
o`u Σest la matrice de covariance des donn´ees pour ce qui concerne la distance de Ma-
halanobis. Cette quantit´e peut ˆetre utilis´ee pour d´efinir le crit`ere d’arrˆet de l’algorithme.
1
2 Travail `a effectuer
Le but de ce travail est de programmer et d’appliquer l’algorithme des k-moyennes sur
diff´erents jeux de donn´ees. Il est important d’apporter le plus grand soin `a l’interpr´etation
des r´esultats et du comportement de l’algorithme en fonction des param`etres que sont le
nombre kde classes, la configuration initiale, et la m´etrique choisie.
On dispose de 3 ensembles de donn´ees de 1000 individus chacun dans IR2(data1.txt,
data2.txt, data3.txt).
1. Visualiser ces donn´ees et ´evaluer qualitativement la epartition des points.
2. Appliquer l’algorithme des k-moyennes avec diff´erentes valeurs de k. Evaluer de
fa¸con quantitative la qualit´e des partitions obtenues en fonction de k, et conclure.
L’algorithme des k-moyennes peut ˆetre utilis´e pour effectuer une segmentation
d’images. Chaque pixel de l’image peut ˆetre caract´eris´e par sa couleur, cod´ee en RGB.
L’image `a segmenter peut donc ˆetre repr´esent´ee comme un ensemble d’individus de IR3,
comme illustr´e sur la figure ci-dessous.
1. Appliquer l’algorithme des k-moyennes sur l’image grenouille.jpg
2. Etudier l’influence des repr´esentants initiaux de classes sur le esultat final.
3. Etudier l’influence de ksur le r´esultat.
Pour am´eliorer le r´esultat, on se propose de prendre conjointement en compte la couleur
et la position de chaque pixel dans l’image. Les individus sont donc repr´esent´es par leur
couleur cod´ee en RGB, et leur indice de ligne et colonne. Appliquer l’algorithme des k-
moyennes afin de segmenter l’image `a partir de cette nouvelle repr´esentation. Reprendre
les questions ci-dessus avec cette nouvelle d´efinition des individus.
R
G
B
Figure 1 – Codage RGB pour la segmentation par l’algorithme des k-moyennes
2
1 / 2 100%