Interpretación del resultado de la agrupación de k-medias en R

12

Estaba usando las kmeansinstrucciones de R para realizar el algoritmo k-means en el conjunto de datos de iris de Anderson. Tengo una pregunta sobre algunos parámetros que obtuve. Los resultados son:

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000

En este caso, ¿qué significa "Cluster significa"? ¿Es la media de las distancias de todos los objetos dentro del grupo?

También en la última parte tengo:

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)

Ese valor del 88,4%, ¿cuál podría ser su interpretación?

James
fuente
44
¡Por favor no cruce la publicación! stackoverflow.com/q/14524818/429846
Restablecer Monica - G. Simpson el
No, es solo la media de todos los objetos dentro del primer grupo (3 en total). Puede obtener 88.4% por iris.km $ betweenss / iris.km $ totss
dfhgfh
Lea cualquier artículo sobre k-means . Entonces debería ser obvio cuáles son los medios clsuter ... K-means no se basa en la distancia . Minimiza las variaciones aka: "suma de desviaciones al cuadrado".
HA SALIDO - Anony-Mousse
Suponga que su media es 0. Haga los cálculos. Verifique si la suposición anterior hace la diferencia. Vive feliz a partir de entonces. ¡Lucro!
mia

Respuestas:

23

Si calcula la suma de las distancias al cuadrado de cada punto de datos a la media global de la muestra, obtendrá total_SS. Si, en lugar de calcular una media de muestra global (o 'centroide'), calcula una por grupo (aquí, hay tres grupos) y luego calcula la suma de las distancias al cuadrado de estas tres medias a la media global, obtendrá between_SS. (Al calcular esto, multiplica la distancia al cuadrado de cada media a la media global por el número de puntos de datos que representa).

Si no hubiera un patrón discernible de agrupamiento, las tres medias de los tres grupos estarían cerca de la media global y between_SSserían una fracción muy pequeña de total_SS. Lo opuesto es cierto aquí, lo que muestra que los puntos de datos se agrupan perfectamente en un espacio de cuatro dimensiones según la especie.

F. Tusell
fuente
14

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 ji(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.

HA SALIDO - Anony-Mousse
fuente
punto interesante +1
Cam.Davidson.Pilon
1
¿Por qué no hay cálculo de distancia aquí (en kmeans)? Para calcular la varianza es necesario calcular la distancia de cada elemento a la media, por lo que claramente hay un cálculo de distancia involucrado, ¿no es así?
Juliano
La varianza generalmente no se define en términos de distancia, sino como "valor esperado de la desviación al cuadrado de la media".
HA SALIDO - Anony-Mousse