TD Méthodes de clustering (Réponses) M1-ATD Ioannis Partalas, Eric Gaussier D’après M.-R. Amini & E. Gaussier, Recherche d’information, Eyrolles 2013 1. Algorithme des k-moyennes (a) Montrer qu’entre les itérations t et t + 1 de l’algorithme 1 on a : (t+1) L(G1 (t+1) , . . . , GK (t) (t) (t) (t) (t) (t) ; r1 , . . . , rK ) ≤ L(G1 , . . . , GK ; r1 , . . . , rK ) Réponse : L’inégalité découle de la définition de la réaffectation des exemples : (t+1) Gk (t) (t) ← {d : ||d − rk ||22 ≤ ||d − rl ||22 , ∀l 6= k, 1 ≤ l ≤ K} (b) Montrer aussi que : (t+1) L(G1 (t+1) , . . . , GK (t+1) ; r1 (t+1) , . . . , rK (t+1) ) ≤ L(G1 (t+1) , . . . , GK (t) (t) ; r1 , . . . , rK ) Réponse : Considérons la fonction de coût pour une seule classe G : X L(G, z) = k d − z k2 d∈G = X k d − CG + CG − z k2 d∈G = X k d − CG k2 + d∈G = X X k CG − z k2 +2 d∈G X < d − CG, CG − z > d∈G k d − CG k2 +|G| k CG − z k2 +2 < d∈G X d −|G|CG, CG − z > d∈G | {z } |G|CG = L(G, CG) + |G| k CG − z k2 Nous avons de ce fait : 1 (t+1) L(G1 (t+1) , . . . , GK (t+1) ; r1 (t+1) , . . . , rK (t+1) ) ≤ L(G1 (t+1) , . . . , GK (t) (t) ; r1 , . . . , rK ) (c) En déduire que la fonction de coût de l’algorithme k-moyennes décroît à chaque itération. Réponse : D’après les questions (a) et (b) et en exploitant la positivité de la fonction considérée nous avons ∀t : (t+1) 0 ≤ L(G1 (t+1) , . . . , GK (t+1) ; r1 (t+1) , . . . , rK (t) (t) (t) (t) ) ≤ L(G1 , . . . , GK ; r1 , . . . , rK ) La fonction L décroit donc à chaque itération de l’algorithme. 2. Classification par méthodes agglomératives hiérarchiques ascendantes Question 1 Montrer que la méthode du lien unique est stable pour la meilleure fusion. On rappelle que la méthode du lien unique est fondée sur la distance entre classes : simlu (Gk , Gl ) = max d∈Gk ,d0 ∈Gl sim(d, d0 ) Réponse : Nous avons : (r+1) sim(Gk (r) (r) (r) (r) , G(r) ) = max(sim(Gk , Gmf (k) ), sim(Gk , Gl )) (r) (r) = sim(Gk , Gmf (k) ) Question 2 Quelle est la complexité de l’algorithme 3 qui utilise un tableau de meilleure fusion en lieu et place des files de priorité ? Réponse : O(N 2 ) Question 3 Expliquer pourquoi la stabilité de la meilleure fusion est importante pour le bon déroulement de cet algorithme (donner un exemple simple). 2 Réponse : La stabilité est importante car nous permet d’utiliser un tableau de meilleure fusion et ainsi mettre à jour la matrice C à chaque itération en O(N ). On peut considérer un exemple avec 4 documents et l’algorithme du lien complet et montrer qu’on ne peut pas utiliser un tableau de meilleure fusion car la stabilité de la meilleure fusion ne s’applique pas. Question 4 Montrer que la méthode par lien unique est monotone. (r+1) (r+1) Réponse : Si G1 6= G(r) et G2 6= G(r) , l’inégalité découle de la construction même du (r+1) (r+1) dendrogramme (sinon les deux classes G1 et G2 auraient été fusionnées avant les deux (r) (r) classes G1 et G2 ). (r+1) Supposons donc que G1 = G(r) . Nous avons : (r+1) sim(G1 (r+1) , G2 )= sim(d, d0 ) max (r) (r) (r+1) d∈G1 ∪G2 ,d0 ∈G2 Cette dernière quantité est équivalente à : max( sim(d, d0 ), max (r) (r+1) sim(d, d0 ), ) max (r) d∈G1 ,d0 ∈G2 (r+1) d∈G2 ,d0 ∈G2 et : (r) (r+1) max(sim(G1 , G2 (r) (r+1) (r) (r) (r) (r+1) ), sim(G2 , G2 )) (r) (r+1) Mais sim(G1 , G2 ) ≤ sim(G1 , G2 ) car sinon ce sont les classes G1 et G2 qui (r) (r+1) (r) (r) auraient été fusionnées à l’étape r. De même, sim(G2 , G2 ) ≤ sim(G1 , G2 ), ce qui montre la monotonicité du lien simple. 3