Vantaggi e svantaggi di K-means

K-means è utile ed efficiente in molti contesti di machine learning, ma ad alcuni i suoi determinati punti deboli.

Vantaggi di K-means

Implementazione relativamente semplice.

Si adatta a set di dati di grandi dimensioni.

Converge sempre.

Consente l'avvio a caldo delle posizioni dei centroidi.

Si adatta senza problemi ai nuovi esempi.

Può essere generalizzato in cluster di diversi forme e dimensioni, come gli ammassi ellittici.

Generalizzazione di K-means

Una semplice implementazione di K-means può avere difficoltà con gruppi di densità e dimensioni diverse. Il lato sinistro della Figura 1 mostra i cluster che ci aspettiamo di vedere, mentre sul lato destro sono mostrati i cluster proposti da K-means.

Due grafici uno accanto all'altro. Il primo mostra un set di dati con cluster un po' evidenti. Il secondo mostra uno strano raggruppamento di esempi dopo l'esecuzione di k-means.
Figura 1: esempio non generalizzato di K-means.

Per prestazioni migliori sui cluster sbilanciati come quelli mostrati nella Figura 1, si può generalizzare, ovvero adattare, k-means. La figura 2 mostra tre diversi in cluster con due diverse generalizzazioni. Il primo set di dati mostra K-means senza generalizzazione, mentre la seconda e la terza consentono ai cluster variano in larghezza.

Tre grafici che mostrano k-means senza generalizzazione, poi k-means
       che consente diverse larghezze, poi K-means consente diverse larghezze
       in più dimensioni.
Figura 2: clustering K-means con e senza generalizzazione.

Questo corso non spiega come generalizzare il linguaggio K-means, ma chi è interessato dovrebbe essere visualizzato Cluster – miscela gaussiana K-means di base di Carlos Guestrin della Carnegie Mellon University.

Svantaggi di K-means

\(k\) deve essere scelto manualmente.

I risultati dipendono dai valori iniziali.

Per \(k\)bassi, puoi mitigare questa dipendenza eseguendo diverse K-means con valori iniziali diversi e scegliendo il risultato migliore. Come \(k\) aumenta, è necessario il seding k-means per scegliere Per una discussione completa sul seeding di K-means, vedi "Un confronto Studio dei metodi di inizializzazione efficienti per il clustering K-means Algoritmo", di M. Emre Celebi, Hassan A. Kingravi e Patricio A. Vela.

Difficoltà nel clustering di dati di varie dimensioni e densità senza generalizzazione.

Difficoltà nel clustering degli outlier.

I centroidi possono essere trascinati da valori anomali oppure i valori anomali potrebbero avere un proprio cluster anziché essere ignorati. Valuta la possibilità di rimuovere o tagliare i valori anomali prima per il clustering.

Difficoltà di scalabilità con il numero di dimensioni.

Con l'aumento del numero di dimensioni nei dati, una somiglianza basata sulla distanza Misura converge a un valore costante tra determinati esempi. Riduci la dimensionalità utilizzando PCA sui dati delle caratteristiche o utilizzando il clustering spettrale per modificare il cluster dell'algoritmo.

Maledizione della dimensionalità e clustering spettrale

In questi tre grafici, osserva come, all'aumentare delle dimensioni, la deviazione standard la distanza tra gli esempi si riduce rispetto alla distanza media tra esempi. Questo convergenza significa che K-means diventa meno efficace nel distinguere tra con l'aumento della dimensionalità dei dati. Definito come la maledizione della dimensionalità.

Tre grafici che mostrano come la deviazione standard della distanza tra gli esempi diminuisce con l'aumento del numero di dimensioni
Figura 3: dimostrazione della maledizione della dimensionalità. Ogni grafico mostra le distanze in coppia tra 200 punti casuali.

Puoi evitare questa diminuzione delle prestazioni con il clustering spettrale, il che aggiunge all'algoritmo i passaggi di pre-clustering. Per eseguire l'analisi spettrale clustering:

  1. Ridurre la dimensionalità dei dati delle caratteristiche utilizzando l'analisi PCA.
  2. Proietta tutti i punti dati nel sottospazio inferiore dimensionale.
  3. Raggruppa i dati in questo sottospazio utilizzando l'algoritmo che hai scelto.

Consulta l'esercitazione su Spectral Clustering di Ulrike von Luxburg per maggiori informazioni sugli per il clustering.