2009 - méthodes de classification - k-means

Upload: franck-dernoncourt

Post on 10-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 2009 - Mthodes de classification - k-means

    1/47

    Methodes de classification :

    k-means

    Patrice Bertrand1

    1Universite Paris-Dauphine

    M1 Miage & D - AFD - 2009 / 2010

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    2/47

    Plan

    1 Introduction

    2 Structures classificatoires

    3 Les donnees

    4 Methode des k-means

    http://goforward/http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    3/47

    Plan

    1 Introduction

    2 Structures classificatoires

    3 Les donnees

    4 Methode des k-means

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    4/47

    Plan

    1 Introduction

    2 Structures classificatoires

    3 Les donnees

    4 Methode des k-means

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    5/47

    Plan

    1 Introduction

    2 Structures classificatoires

    3 Les donnees

    4 Methode des k-means

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    6/47

    Introduction

    Classification automatique : ensemble de methodes ayant

    pour objectif de decouvrir des groupes homog enes,appelees classes, dans les donnees.

    Capacite basique des etres vivants : grouper des objets

    similaires pour produire une classification. Nommer et

    Classer sont des activites essentiellement similaires. Exemple 1 : Documents decrits par leurs mots-cles. On

    cherche les classes de mots-cles telles que les mots duneclasse apparaissent dans le plus possible de listes demots-cles communes.

    Exemple 2 (Marketing) : Pour effectuer un test de marche

    dans un pays, on classe les nombreuses villesenvisageables sur la base de leur taille, du revenu de leurs

    habitants, etc ... On effectue ensuite le test dans une ville

    de chaque classe obtenue.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    7/47

    Methodes de plus en plus utilisees en Data Mining : de

    janvier 2006 a debut avril 2007, il y a eu 222 267 brevetsindustriels deposes aux Etats Unis, dont 500 se servant de

    la classification.

    Plusieurs explications :

    Flux croissant des donnees,

    Augmentation de la puissance des ordinateurs,

    Diffusion croissante des logiciels dedies au traitementstatistique des donnees,

    Besoin de simplifier les jeux de donnees de tailleimportante.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    8/47

    Structures classificatoires

    RecouvrementUn ensemble R = {E1, . . . , Ekm} de parties Ek de E non vides,est appele recouvrement de E si la reunion des elements de Rest egale a E, et si aucune partie Ek nest incluse dans uneautre partie Ek :

    kmk=1

    Ek = E et Ek Ek si k= k.

    Les elements de R sont appeles des classes.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    9/47

    E : ensemble des objets a classer.

    Partition

    Un ensemble P= {E1, . . . , Ekm} de parties Ek non vides de E,est appele partition de E si la reunion des elements de Pestegale a E, et si aucun element de Pnintersecte un autreelement de P :

    kmk=1

    Ek = E et Ek Ek = si k= k.

    Les elements de P sont appeles des classes.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    10/47

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    11/47

    E : ensemble des objets a classer.

    Hi erarchie

    Un ensemble H = {E1, . . . , Ekm} de parties Ek non vides de E,est appele hi erarchie sur E si H contient E et ses singletons, etsi deux parties sont dans H, alors soit elles sont disjointes, soitelles sont incluses lune dans lautre :

    1) E H ;

    2) Pour tout x E, {x} H ;

    3) Pour tout Ek

    , Ek

    H,

    Ek Ek = ou Ek Ek ou Ek Ek.

    Les elements de H sont appeles des classes.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    12/47

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    13/47

    Les donnees

    Premier type : tableau individus x variables.

    Variable 1 Variable 2 ...

    objet 1 7 6 ...

    objet 2 10 8.3 ...objet 3 13 11.4 ...

    objet 4 1.7 14 ...objet 5 13 11 ...

    Differents types de variables :

    Qualitative binaire nominale qualitative ordinale

    Quantitative

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    14/47

    Deuxieme type : tableau individus x individus.

    distances A B C D E

    A 0B 7.40 0

    C 7.56 8.62 0

    D 5.01 6.03 12.47 0

    E 12.43 6.55 4.66 9.28 0

    Mesures de la dissemblance entre 2 objets : dissimilarites distances distances euclidiennes (distance du Khi-deux)

    Mesures de la ressemblance entre 2 objets : coefficients de similarite coefficient de correlation, covariance coefficients de concordance

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    15/47

    Soit d une application de E E dans R+ :

    (x, y) E E d(x, y) R+

    Notons :

    (1) d(x, x) = 0 pour tout x E

    (2) d(x, y) = 0 x = y

    (3) d(x, y) = d(y, x) pour tout x, y E

    (4) d(x, z) d(x, y) + d(y, z) pour tout x, y, z E (inegalitetriangulaire)

    (5) d(x, z) max{d(x, y), d(y, z)} pour tout x, y, z E(inegalite ultrametrique)

    dissimilarite : (1) + (3),

    indice de distance : (2) + (3),distance : (2) + (3) + (4),

    distance ultrametrique : (2) + (3) + (5).

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    16/47

    Quelques distances usuelles

    d : (x, y)

    E

    E

    d(x, y)R+

    Distance usuelle dans le plan :

    d(x, y) =

    (x1 y1)2 + (x2 y2)2

    avec x = (x1, x2)t et y = (y1, y2)

    t.

    Distance usuelle dans lespace euclidien de dimension p :

    d(x, y) = p

    i=1

    (xi yi)2

    avec x = (x1, . . . , xp)t et y = (y1, . . . , yp)

    t.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    17/47

    Quelques distances particulieres

    Distance l : d(x, y) = maxi=1,...,p | xi yi |.

    Distance l1 : d1(x, y) =

    pi=1

    | xi yi |.

    Distance dP associee a une partition P= {E1, . . . , Ek} :

    - dP(x, y) = 1 si x et y ne sont pas classes ensemble par P,

    - dP(x, y) = 0 si x = y,

    - dP(x, y) = dans les autres cas (0 < < 1).

    on verifie que dP est toujours une ultrametrique.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    18/47

    Partitionnement

    Objectif : construction dune partition dun ensemble

    dobjets dont on connat les distances deux a deux. Partition en k classes dun ensemble E dobjets (rappel) :P= {E1, . . . , Ek}.

    Ej = , pour tout j,

    kj=1

    Ej = E,

    Ej Ej = si j= j.

    Critere : on recherche des classes les mieux separees etles plus homogenes possibles.

    Complexite combinatoire : la taille de lensemble despartitions en k classes est de lordre de kn/k! :N(5, 2) = 15 ; N(10, 3) = 9330 ;

    N(50, 4) = 5.3 1028 ; N(100, 5) = 6.6 1067.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    19/47

    Methodes de type k-means

    Traitement rapide densembles de taille elevee ;

    Optimisation locale dun critere de type inertie ;

    Hypothese usuelle : les individus peuvent etre representespar des points de Rp muni dune distance euclidienne ;

    Algorithme de base : methode des centres mobiles(Forgy, 1965).

    Diverses variantes :

    k-means (Mac Queen, 1967)

    Nuees dynamiques (Diday, 1971)

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    20/47

    Inerties

    Partition : P= {E1, . . . , Ek}

    On note g le centre de gravite de E :

    g =xE

    p(x)x,

    ou p(x) designe le poids de lobjet x.

    On note gj le centre de gravite de la j eme classe Ej :

    gj =xEj

    p(x)

    pjx,

    ou pj =xEj

    p(x) designe le poids de la classe Ej.

    Inertie de la j eme classe : Ij = xEj

    p(x)

    pjd2(x, gj).

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    21/47

    Decomposition de linertie totale

    Inertie intra-classe :

    IW =

    j

    pjIj =

    j

    pjxEj

    p(x)pj

    d2(x, gj)

    IW =

    j

    xE

    j

    p(x)d2(x, gj)

    Inertie inter-classe : IB =

    j

    pjd2(gj, g)

    Decomposition :IT = IB + IW,

    ou IT est linertie totale : IT =xE

    p(x)d2(x, g).

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    22/47

    Algorithme des centres mobiles

    (1) Choisir arbitrairement k centres initiaux dans Rp :

    c1, . . . , ck

    (2) Affectation :pour chaque centre cj, definir la classe Ej

    comme etant lensemble des elements de E qui sont plusproches de cj que de tout autre centre cj avec j= j

    .

    (3) Repr esentation :pour tout j {1, . . . , k}, definir cj commeetant le centre de gravite de Ej :

    cj =xEj

    p(x)

    pjx.

    (4) Repeter (2) et (3) tant que E1

    , . . . , Ek

    changent.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    23/47

    Remarques

    Chaque solution trouvee est un optimum local pour lecritere qui consiste a minimiser linertie intra-classe IW :

    IW =

    j

    xEj

    p(x)d2(x, gj)

    En pratique, les logiciels arretent algorithme si :

    a) le critere IW (inertie intra-classe) cesse de decrotre de

    facon sensible ;

    b) un nombre maximal diterations (fixe a priori) a ete atteint.

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    24/47

  • 8/8/2019 2009 - Mthodes de classification - k-means

    25/47

    Initialisation

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    26/47

    Affectation de lobjet

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    27/47

    Etape daffectation

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    28/47

    Etape de representation (1/2)

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    29/47

    Etape de representation (2/2)

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    30/47

    Etape daffectation

    Mi ` j d

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    31/47

    Mise a jour des centres

    Et d t ti

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    32/47

    Etape de representation

    Et d ff t ti

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    33/47

    Etape daffectation

    Mi ` j d t

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    34/47

    Mise a jour des centres

    Etape de representation

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    35/47

    Etape de representation

    Convergence des k means (1)

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    36/47

    Convergence des k-means (1)

    Etape m : on affecte les points x aux centres cj(m) qui sont les

    c.d.g. des classes a letape m 1.

    v(m) =

    j

    xEj(m)

    p(x)d2(x, cj(m))

    inertie intra-classe a letape m :

    IW(m) =

    j

    xEj(m)

    p(x)d2(x, gj(m))

    Dapres le theoreme de Huyghens,

    v(m) = IW(m) +

    j

    pjd2(gj(m), cj(m))

    Donc,

    v(m) IW(m)

    Convergence des k means (2)

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    37/47

    Convergence des k-means (2)

    Etape m+ 1 : on affecte les points aux centres les plus proches.

    v(m+ 1) =

    j

    xEj(m+1)

    p(x)d2(x, cj(m+ 1))

    avec cj(m+ 1) = gj(m).

    inertie intra-classe a literation m (rappel) :

    IW(m) =

    j

    xEj(m)

    p(x)d2(x, gj(m))

    Il est clair queIW(m) v(m+ 1)

    Finalement,

    v(m) IW(m) v(m+ 1)

    Variantes

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    38/47

    Variantes

    Variante de Mac Queen, 1967.On ne reaffecte pas tous les objets avant de mettre a jourles centres cj : chaque reaffectation dun objet entrane la

    mise a jour de tous les centres cj.

    Cette methode sappelle la methode des k-means. Parabus, on utilise aussi tres frequemment ce terme pour

    designer la methode des centres mobiles.

    Extension par les nuees dynamiques de Diday, 1971.

    Les centres cj ne sont pas necessairement les centres degravite des classes Ej, mais peuvent etre un ensemble depoints de Ej, la droite de regression du nuage de points

    forme par Ej, etc ...

    Limitations des k -means

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    39/47

    Limitations des k-means

    Lutilisateur doit choisir le nombre k de classes et il ny a

    pas de critere unique pour determiner le meilleur nombrede classes ;

    Lorsque les classes ne sont pas bien separees, lesk-means tendent a trouver uniquement des classes

    spheriques, de meme effectif et de meme volume.

    Plusieurs initialisations peuvent conduire a plusieurspartitions tres differentes dans leur composition, mais tresproches et quasi-optimales au sens du critere IW.

    Choix du nombre de classes et forme

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    40/47

    Choix du nombre de classes et forme

    des classes

    Formes fortes ou groupements stables

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    41/47

    Formes fortes ou groupements stables

    Les partitions obtenues dependent des centres cj initiauxchoisis.

    formes fortes ou groupements stables :

    ne retenir que les ensembles dobjets qui ont ete classes

    ensemble par chaque partition obtenue.

    Soit s partititions P1, . . . ,Ps issues de s initialisations.

    Partition produit : Chaque classe de est indexee par

    un s-uplet (j1,j2, . . . ,js) et contient tous les individus ayantappartenu simultanement a la classe j1 de P1, puis a laclasse j2 de P2, . . ., puis a la classe js de Ps. Les classesde contenant plus dun individu, seront appelesgroupements stables.

    Exemple #1 de groupements stables :

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    42/47

    Exemple #1 de groupements stables :

    P11 2 3

    1 18 25 12 55P2 2 6 30 0 36

    3 2 1 35 38

    26 56 47 129Effectifs des groupements stables

    Exemple #2 de groupements stables :

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    43/47

    Exemple #2 de groupements stables :

    1 2 3 4 5 6

    Partition 1 127 188 229 245 151 60Partition 2 232 182 213 149 114 110Partition 3 44 198 325 99 130 204

    Effectifs de 3 partitions en 6 classes

    36 = 216 groupements possibles.

    Gr. 1 a 10 168 118 114 107 88 83 78 26 22 16Gr. 11 a 20 15 14 12 12 12 11 10 7 7 7

    Gr. 21 a 30 6 6 4 4 4 4 3 3 3 3Gr. 31 a 40 3 3 3 2 2 2 2 2 2 2Gr. 41 a 50 1 1 1 1 1 1 1 1 1 1

    50 groupements stables non vides ranges par effectifs

    decroissants

    Complexite de lalgorithme

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    44/47

    Complexite de l algorithme

    1. Initialisation les centres initiaux (ou noyaux) cj(0) desclasses sont choisis aleatoirement.

    2. Affectation de chaque objet a letape i, lobjet x estaffecte a la classe Cj si :

    d(x, cj(i)) = min1jk

    d(x, cj(i))

    3. Mise a jour le centre de chaque classe est recalcule.

    4. Test de convergence arret si aucun centre nest change.

    Complexite en 0(npkT), avec n= nbre dobjets, p = nbre de

    variables, k = nbre de classes et T = nbre diterations.

    Exemple :

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    45/47

    Exemple :

    Soient six points du plan ayant pour coordonnees :

    abscisse (x) ordonnee (y)P1 -2 2

    P2 -2 -1

    P3 0 -1

    P4 2 2P5 -2 3

    P6 3 0

    Calcul de la partition obtenue en prenant pour centres

    initiaux : c1(1,1) et c2(2, 3). Calcul de la partition obtenue en prenant pour centres

    initiaux : c1(1, 2) et c2(1, 1).

    Inerties intra-classes des deux partitions obtenues.

    Formes fortes (ou groupements stables).

    Programme en R

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    46/47

    g

    x c(-2,-2,0,2,-2,3)

    y c(2, -1,-1,2,3,0)

    don matrix(data=c(x,y), nr=6, nc=2)

    ctre c(-1,2,-1,3)

    ctre1 matrix(data=ctre, nr=2, nc=2)

    cl1 kmeans(don,ctre1,algorithm=Lloyd)

    plot(don, col = cl1$cluster)

    points(cl1$centers, col = 1 : 2, pch = 8, cex=2)

    Exercice

    http://find/http://goback/
  • 8/8/2019 2009 - Mthodes de classification - k-means

    47/47

    Soit un ensemble E de 5 objets caracterises par des scoresreels : E = {1, 2, 18, 20, 31}. On suppose que chacun des

    objets est muni du poids 1/5, et que les distances entre cesobjets sont mesures par la distance euclidienne usuelle. Oncherche une partition en 3 classes de cet ensemble E. On va

    appliquer la methode des k-means en prenant comme centresdes classes les centres de gravite.1) Partition determinee par la methode des k-means si lon

    prend pour centres initiaux les objets 1, 2, 18.2) Partition determinee par la methode des k-means si les

    centres initiaux sont 18, 20, 31.

    3) Partition determinee par la methode des k-means si lapartition initiale est {{1}, {2, 18}, {20, 31}}.4) Liste des formes fortes.5) Inerties intra-classe des partitions obtenues en 1) et 2) et

    determination de la meilleure partition.

    http://find/http://goback/