K-means no es un algoritmo de agrupamiento basado en la distancia .
K-means busca la asignación mínima de suma de cuadrados , es decir, minimiza la varianza no normalizada (= total_SS
) asignando puntos a los centros de agrupación.
Para que k-means converja, necesita dos condiciones:
- reasignar puntos reduce la suma de cuadrados
- volver a calcular la media reduce la suma de cuadrados
Como solo hay un número finito de combinaciones, no puede reducir infinitamente este valor y el algoritmo debe converger en algún momento a un óptimo local .
Cada vez que intente cambiar las funciones de asignación, corre el riesgo de que el algoritmo ya no termine, como un perro persiguiendo su propia cola. Esencialmente, ambos pasos tienen que estar de acuerdo con la función objetivo. Sabemos que la media aritmética es la opción óptima con respecto a la suma de cuadrados . Y para el primer paso, podemos calcular para cada media y elegir la que sea mínima. Técnicamente, no hay cálculo de distancia aquí . Matemáticamente, la asignación por la menor suma de cuadrados es igual a la asignación por distancia al cuadrado al cuadrado euclidiana, que (si desperdicia los ciclos de la CPU para la computación ) es igual a la asignación mínima de distancia euclidiana. Entonces la intuición j∑i(xi−μji)2jsqrt
de asignar cada punto a la media más cercana es correcto, pero no lo que hace el problema de optimización.
between_SS
probablemente es la suma ponderada de los cuadrados entre dos medios, para medir qué tan bien están separados los centros de los conglomerados (nota: centros de conglomerados, no compara los conglomerados reales: técnicamente, la celda de Voronoi del conglomerado toca la celda de Voronoi con conglomerados vecinos).
Tenga en cuenta que con k-significa que puede mejorar la calidad de agrupación ingenua aumentando k. La calidad medida aquí es un valor matemático, que puede no coincidir con los requisitos de los usuarios. Iris es en realidad un buen ejemplo, donde k-means a menudo converge a resultados menos que satisfactorios, incluso dada la información externa de que debería haber exactamente 3 grupos.
Si desea una variación de k-medias basada en la distancia , mire k-medoides . Aquí se asegura la convergencia reemplazando la media con el medoide:
- Cada objeto se asigna al grupo más cercano (mediante una medida de distancia arbitraria)
- El centro del clúster se actualiza al objeto más central del clúster, es decir, con la distancia promedio más pequeña a todos los demás.
En cada paso, la suma de distancias se reduce; hay un número finito de combinaciones, por lo tanto, el algoritmo debe terminar en algún mínimo local.