Uma vez que, aparentemente, essa é agora uma pergunta canônica, e ainda não foi mencionada aqui:
Uma extensão natural dos meios k para usar métricas de distância diferentes da distância euclidiana padrão em é usar o truque do kernel . Isso se refere à idéia de mapear implicitamente as entradas para um espaço Hilbert de alta ou infinita dimensão, onde as distâncias correspondem à função de distância que queremos usar e executar o algoritmo nesse local. Ou seja, deixando seja algum mapa de recursos, de modo que a métrica desejada possa ser escrita , executamos k-means nos pontos . Em muitos casos, não podemos calcular o mapa explicitamente, mas nós podemosRdφ:Rp→Hdd(x,y)=∥φ(x)−φ(y)∥H{φ(xi)}φcalcule o kernel . Nem todas as métricas de distância se encaixam nesse modelo, mas muitas se encaixam, e existem funções definidas em strings, gráficos, imagens, distribuições de probabilidade e muito mais ...k(x,y)=⟨φ(x),φ(y)⟩H
Nesta situação, no algoritmo k-means padrão (Lloyd's), podemos atribuir pontos facilmente aos seus clusters, mas representamos os centros de cluster implicitamente (como combinações lineares dos pontos de entrada no espaço de Hilbert). Encontrar a melhor representação no espaço de entrada exigiria encontrar uma média de Fréchet , o que é bastante caro. Portanto, é fácil obter atribuições de cluster com um kernel, mais difícil de obter os meios.
O artigo a seguir discute esse algoritmo e o relaciona ao agrupamento espectral:
I. Dhillon, Y. Guan e B. Kulis. K-means do kernel, cluster espectral e cortes normalizados. KDD 2005.