Interpretazione del risultato del clustering di k-media in R


12

Stavo usando le kmeansistruzioni di R per eseguire l'algoritmo k-mean sul set di dati dell'iride di Anderson. Ho una domanda su alcuni parametri che ho ottenuto. I risultati sono:

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

In questo caso, cosa significa "Cluster significa"? È la media delle distanze di tutti gli oggetti all'interno del cluster?

Anche nell'ultima parte ho:

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

Quel valore dell'88,4%, quale potrebbe essere la sua interpretazione?


4
Per favore , non attraversare la posta! stackoverflow.com/q/14524818/429846
Ripristina Monica - G. Simpson

No, è solo la media di tutti gli oggetti all'interno del primo cluster (3 in totale). Puoi ottenere l'88,4% di iris.km $ betweenss / iris.km $ totss
dfhgfh

Leggi qualsiasi articolo su k-means . Quindi dovrebbe essere ovvio che cosa significano i clsuter ... K-significa che non è basato sulla distanza . Riduce al minimo le varianze, ovvero: "somma delle deviazioni quadrate".
Ha QUIT - Anony-Mousse il

Supponi che la tua media sia 0. Fai i conti. Controlla se l'assunzione di cui sopra fa la differenza. Vivi felicemente da allora in poi. Profitto!
mia

Risposte:


23

Se si calcola la somma delle distanze al quadrato di ciascun punto dati alla media globale del campione, si ottiene total_SS. Se, invece di calcolare una media campione globale (o 'centroide'), ne calcoli uno per gruppo (qui ci sono tre gruppi) e quindi calcoli la somma delle distanze al quadrato di questi tre mezzi con la media globale, ottieni between_SS. (Nel calcolare questo, moltiplichi la distanza quadrata di ciascuna media dalla media globale per il numero di punti dati che rappresenta.)

Se non ci fosse un modello evidente di raggruppamento, i tre mezzi dei tre gruppi sarebbero vicini alla media globale, e between_SSsarebbero una frazione molto piccola di total_SS. Qui è vero il contrario, il che dimostra che i punti dati si raggruppano abbastanza ordinatamente nello spazio quadridimensionale in base alla specie.


14

K-mean non è un algoritmo di clustering basato sulla distanza .

K-significa ricerca della somma minima di assegnazione dei quadrati , ovvero minimizza la varianza non normalizzata (= total_SS) assegnando punti ai centri del cluster.

Per far convergere k-medie, sono necessarie due condizioni:

  • la riassegnazione dei punti riduce la somma dei quadrati
  • ricalcolare la media riduce la somma dei quadrati

Poiché esiste solo un numero finito di combinazioni, non è possibile ridurre all'infinito questo valore e l'algoritmo deve convergere a un certo punto in un ottimale locale .

Ogni volta che intendi cambiare le funzioni di assegnazione, hai il rischio di non interrompere più l'algoritmo, come un cane che insegue la propria coda. In sostanza, entrambi i passaggi devono concordare la funzione obiettivo. Sappiamo che la media aritmetica è la scelta ottimale rispetto alla somma dei quadrati . E per il primo passo, possiamo semplicemente calcolare per ogni media e scegliere quale sia il minimo. Tecnicamente, non esiste un calcolo della distanza qui . Matematicamente, l'assegnazione della somma minima dei quadrati equivale all'assegnazione di una distanza euclidea quadrata chiusa, che (se si sprecano i cicli della CPU per il calcolo ) equivale a un'assegnazione minima della distanza euclidea. Quindi l' intuizione ji(xiμji)2jsqrt di assegnare ogni punto alla media più vicina è corretto, ma non ciò che fa il problema di ottimizzazione.

between_SS probabilmente è la somma ponderata dei quadrati tra due mezzi, per misurare la separazione dei centri del cluster (nota: centri del cluster, non confronta i cluster effettivi - tecnicamente, la cella Voronoi del cluster tocca la cella Voronoi dei cluster vicini).

Nota che con k-significa che puoi migliorare la qualità ingenua del cluster aumentando k. La qualità misurata qui è un valore matematico, che potrebbe non corrispondere ai requisiti degli utenti. L'iride è in realtà un buon esempio, in cui k-mean converge spesso a risultati non soddisfacenti, anche dato l'informazione esterna che dovrebbero esserci esattamente 3 cluster.

Se vuoi una variazione basata sulla distanza di k-medie , guarda i k-medoidi . Qui la convergenza è assicurata sostituendo la media con il medoide:

  • Ogni oggetto è assegnato al cluster più vicino (da una misura di distanza arbitraria)
  • Il centro del cluster viene aggiornato sull'oggetto più centrale del cluster, ovvero con la distanza media più piccola rispetto a tutti gli altri.

In ogni passaggio, la somma delle distanze si riduce; esiste un numero finito di combinazioni, pertanto l'algoritmo deve terminare al minimo locale.


punto interessante +1
Cam.Davidson.Pilon

1
Perché non esiste un calcolo della distanza qui (in kmean)? Per calcolare la varianza è necessario calcolare la distanza di ciascun elemento dalla media, quindi è chiaramente coinvolto il calcolo della distanza, no?
Julian,

La varianza di solito non è definita in termini di distanza, ma come "valore atteso della deviazione al quadrato dalla media".
Ha QUIT - Anony-Mousse,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.