Comme c'est apparemment maintenant une question canonique, et cela n'a pas encore été mentionné ici:
Une extension naturelle de k-moyen pour utiliser des métriques de distance autres que la distance euclidienne standard sur consiste à utiliser l' astuce du noyau . Cela fait référence à l'idée de mapper implicitement les entrées vers un espace de Hilbert aux dimensions élevées ou infinies, où les distances correspondent à la fonction de distance que nous souhaitons utiliser et où l'algorithme est exécuté. Soit une carte de caractéristiques telle que la métrique désirée puisse être écrite , nous k-means sur les points . Dans de nombreux cas, nous ne pouvons pas calculer explicitement map , mais nous pouvonsRdφ:Rp→Hdd(x,y)=∥φ(x)−φ(y)∥H{φ(xi)}φcalcule le noyau . Toutes les mesures de distance ne correspondent pas à ce modèle, mais bon nombre d'entre elles, et de telles fonctions sont définies sur des chaînes, des graphiques, des images, des distributions de probabilité, etc.k(x,y)=⟨φ(x),φ(y)⟩H
Dans cette situation, dans l'algorithme k-means standard (Lloyd's), nous pouvons facilement attribuer des points à leurs grappes, mais nous représentons les centres de la grappe de manière implicite (sous forme de combinaisons linéaires des points d'entrée dans l'espace de Hilbert). Pour trouver la meilleure représentation dans l'espace de saisie, il faudrait trouver une moyenne de Fréchet , ce qui est assez coûteux. Il est donc facile d’obtenir des assignations de grappes avec un noyau, mais plus difficile d’obtenir les moyens.
L'article suivant décrit cet algorithme et le relie au clustering spectral:
I. Dhillon, Y. Guan et B. Kulis. Noyau k-means, clustering spectral et coupes normalisées. KDD 2005.