web-dev-qa-db-fra.com

Qu'est-ce qui rend la mesure de distance en k-médoïde "meilleure" que k-signifie?

Je lis la différence entre le clustering k-means et le clustering k-medoid.

Soi-disant, il y a un avantage à utiliser la mesure de distance par paire dans l'algorithme k-médoïde, au lieu de la somme plus familière de la métrique de type distance euclidienne au carré pour évaluer la variance que nous trouvons avec les k-moyennes. Et apparemment, cette métrique de distance différente réduit en quelque sorte le bruit et les valeurs aberrantes.

J'ai vu cette affirmation mais je n'ai pas encore vu de bon raisonnement quant aux mathématiques derrière cette affirmation.

Qu'est-ce qui rend la mesure de distance par paire couramment utilisée dans k-medoid meilleure? Plus exactement, comment l'absence d'un terme quadratique permet-elle aux k-médoïdes d'avoir les propriétés souhaitables associées au concept de prendre une médiane?

26
Matt O'Brien

1. K-medoid est plus flexible

Tout d'abord, vous pouvez utiliser des k-medoids avec toute mesure de similitude . Cependant, K-means peut ne pas converger - il ne doit vraiment être utilisé qu'avec des distances cohérentes avec la moyenne . Donc par exemple Absolute Pearson Correlation ne doit pas être utilisé avec k-means, mais il fonctionne bien avec k-medoids.

2. Robustesse du médoïde

Deuxièmement, le médoïde utilisé par les k-médoïdes est à peu près comparable à la médiane (en fait, il y a aussi les k-médianes, ce qui est comme K- signifie mais pour la distance de Manhattan). Si vous consultez la littérature sur la médiane, vous verrez de nombreuses explications et exemples pourquoi la médiane est plus robuste aux valeurs aberrantes que la moyenne arithmétique. Essentiellement, ces explications et exemples valent également pour le médoïde. Il s'agit d'une estimation plus plus robuste d'un point représentatif que la moyenne utilisée dans les k-moyennes.

Considérez cet exemple à une dimension:

[1, 2, 3, 4, 100000]

La médiane et la médoïde de cet ensemble sont 3 . La moyenne est 20002.

Selon vous, lequel est le plus représentatif de l'ensemble de données? La moyenne a l'erreur quadratique inférieure, mais en supposant qu'il pourrait y avoir une erreur de mesure dans cet ensemble de données ...

Techniquement, la notion de point de rupture est utilisée en statistique. La médiane a un point de rupture de 50% (c'est-à-dire que la moitié des points de données peut être incorrecte et le résultat n'est toujours pas affecté), tandis que la moyenne a un point de rupture de 0 (c'est-à-dire qu'une seule grande observation peut donner une mauvaise estimation).

Je n'ai pas de preuve, mais je suppose que le médoïde aura un point de rupture similaire à la médiane.

3. k-medoids est beaucoup plus cher

C'est le principal inconvénient. Habituellement, PAM prend beaucoup plus de temps à exécuter que k-means. Comme il s'agit de calculer toutes les distances par paires, c'est O(n^2*k*i); tandis que k-means s'exécute dans O(n*k*i) où généralement, k fois le nombre d'itérations est k*i << n.

30
Anony-Mousse

Je pense que cela a à voir avec la sélection du centre pour le cluster. k-means sélectionnera le "centre" du cluster, tandis que k-medoid sélectionnera le membre "le plus centré" du cluster. Dans un cluster avec des valeurs aberrantes (c'est-à-dire des points éloignés des autres membres du cluster), k-means placera le centre du cluster vers les valeurs aberrantes, tandis que k-medoid sélectionnera l'un des membres les plus groupés (le medoid) comme centre.

Cela dépend maintenant de la raison pour laquelle vous utilisez le clustering. Si vous vouliez simplement classer un tas d'objets, vous ne vous souciez pas vraiment de l'emplacement du centre; mais si le regroupement a été utilisé pour former un décideur qui classera désormais les nouveaux objets en fonction de ces points centraux, alors k-medoid vous donnera un centre plus proche de l'endroit où un humain placerait le centre.

Dans les mots de wikipedia:

"Il [k-médoïde] est plus robuste au bruit et aux valeurs aberrantes par rapport aux k-moyennes car il minimise une somme de dissemblances par paire au lieu d'une somme de distances euclidiennes au carré."

Voici un exemple:

Supposons que vous souhaitiez regrouper sur une dimension avec k = 2. Un cluster a la plupart de ses membres autour de 1000 et l'autre autour de -1000; mais il y a une valeur aberrante (ou bruit) à 100000. Il appartient évidemment au cluster autour de 1000, mais k-means placera le point central loin de 1000 et vers 100000. Cela peut même rendre certains des membres du cluster 1000 (disons un membre avec la valeur 500) à affecter au cluster -1000. k-medoid sélectionnera l'un des membres autour de 1000 comme médoïde, il en sélectionnera probablement un qui est supérieur à 1000, mais il ne sélectionnera pas de valeur aberrante.

6
Eli Algranti

Juste une petite note ajoutée à la réponse de @ Eli, K-medoid est plus robuste au bruit et aux valeurs aberrantes que k-means parce que ce dernier sélectionne le centre du cluster, qui n'est principalement qu'un "point de vertu", d'autre part le premier choisit le "objet réel" du cluster.

Supposons que vous ayez cinq points 2D dans un cluster avec les coordonnées de (1,1), (1,2), (2,1), (2,2) et (100,100). Si nous ne considérons pas les échanges d'objets entre les clusters, avec k-means vous obtiendrez le centre du cluster (21.2,21.2) qui est assez distrait par le point (100,100). Cependant, avec k-medoid choisira le centre parmi (1,1), (1,2), (2,1) et (2,2) selon son algorithme.

Voici une applet amusante ( applet EM Mirkes, K-means et K-medoids. University of Leicester, 2011 ) que vous pouvez générer de manière aléatoire un ensemble de données dans le plan 2D et comparer k-medoid et k-means processus d'apprentissage.

3
lennon310