La question est:
Quelle est la différence entre les k-moyennes classiques et les k-moyennes sphériques?
K classique signifie:
Dans les k-moyennes classiques, nous cherchons à minimiser une distance euclidienne entre le centre du cluster et les membres du cluster. L'intuition derrière cela est que la distance radiale du centre du cluster à l'emplacement de l'élément devrait "avoir la même similitude" ou "être similaire" pour tous les éléments de ce cluster.
L'algorithme est:
- Définir le nombre de clusters (aka nombre de clusters)
- Initialiser en attribuant au hasard des points dans l'espace aux indices de cluster
- Répétez jusqu'à ce que convergent
- Pour chaque point, trouvez le cluster le plus proche et attribuez un point au cluster
- Pour chaque cluster, trouvez la moyenne des points membres et la moyenne du centre de mise à jour
- L'erreur est la norme de distance des clusters
K sphérique signifie:
Dans les moyennes k sphériques, l'idée est de définir le centre de chaque groupe de sorte qu'il rend à la fois uniforme et minimal l'angle entre les composants. L'intuition est comme regarder les étoiles - les points doivent avoir un espacement constant entre eux. Cet espacement est plus simple à quantifier en tant que "similitude cosinus", mais cela signifie qu'il n'y a pas de galaxies "voie lactée" formant de grandes bandes lumineuses à travers le ciel des données. (Oui, j'essaie de parler à grand-mère dans cette partie de la description.)
Version plus technique:
Pensez aux vecteurs, aux éléments que vous représentez sous forme de flèches d'orientation et de longueur fixe. Il peut être traduit n'importe où et être le même vecteur. ref
L'orientation du point dans l'espace (son angle par rapport à une ligne de référence) peut être calculée en utilisant l'algèbre linéaire, en particulier le produit scalaire.
Si nous déplaçons toutes les données de façon à ce que leur queue soit au même point, nous pouvons comparer les "vecteurs" par leur angle et regrouper ceux-ci en un seul cluster.
Pour plus de clarté, les longueurs des vecteurs sont mises à l'échelle, afin qu'elles soient plus faciles à comparer.
On pourrait y voir une constellation. Les étoiles d'un même cluster sont proches les unes des autres dans un certain sens. Ce sont mes globes oculaires considérés comme des constellations.
La valeur de l'approche générale est qu'elle nous permet de créer des vecteurs qui autrement n'ont pas de dimension géométrique, comme dans la méthode tf-idf, où les vecteurs sont des fréquences de mots dans les documents. Deux mots "et" ajoutés ne correspondent pas à un "le". Les mots sont non continus et non numériques. Ils ne sont pas physiques au sens géométrique, mais nous pouvons les concevoir géométriquement, puis utiliser des méthodes géométriques pour les manipuler. Les k-moyennes sphériques peuvent être utilisées pour se regrouper en fonction des mots.
Ainsi, les données (2d aléatoires, continues) étaient les suivantes:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢x10−0.80.20.8−0.70.9y1−0.80.10.30.10.20.9x2−0.2013−0.95240.20610.4787−0.72760.748y2−0.73160.3639−0.14340.1530.38250.6793groupBACBAC⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
Quelques points:
- Ils se projettent dans une sphère unitaire pour tenir compte des différences de longueur de document.
Travaillons à travers un processus réel et voyons à quel point (mauvais) mon "globe oculaire" était.
La procédure est la suivante:
- (implicite dans le problème) connecter les queues des vecteurs à l'origine
- projet sur la sphère unitaire (pour tenir compte des différences de longueur de document)
- utiliser le clustering pour minimiser la " dissemblance cosinus "
J=∑id(xi,pc(i))
où
d(x,p)=1−cos(x,p)=⟨x,p⟩∥x∥∥p∥
(d'autres modifications seront bientôt disponibles)
Liens:
- http://epub.wu.ac.at/4000/1/paper.pdf
- http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.8125&rep=rep1&type=pdf
- http://www.cs.gsu.edu/~wkim/index_files/papers/refinehd.pdf
- https://www.jstatsoft.org/article/view/v050i10
- http://www.mathworks.com/matlabcentral/fileexchange/32987-the-spherical-k-means-algorithm
- https://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediction-machine-learning-and-statistics-spring-2012/projects/MIT15_097S12_proj1.pdf