Come capire gli svantaggi di K-significa


365

K-medie è un metodo ampiamente utilizzato nell'analisi dei cluster. Secondo la mia comprensione, questo metodo NON richiede NESSUNA ipotesi, ovvero forniscimi un set di dati e un numero predefinito di cluster, k, e applico solo questo algoritmo che minimizza la somma degli errori al quadrato (SSE), all'interno del cluster al quadrato errore.

Quindi k-means è essenzialmente un problema di ottimizzazione.

Ho letto del materiale sugli svantaggi di k-mean. Molti di loro dicono che:

  • k-mean presuppone che la varianza della distribuzione di ciascun attributo (variabile) sia sferica;
  • tutte le variabili hanno la stessa varianza;
  • la probabilità precedente per tutti i k cluster è la stessa, cioè ogni cluster ha un numero approssimativamente uguale di osservazioni;

Se una di queste 3 assunzioni viene violata, allora k-mean fallirà.

Non riuscivo a capire la logica dietro questa affermazione. Penso che il metodo k-mean non faccia sostanzialmente ipotesi, minimizza solo il SSE, quindi non riesco a vedere il collegamento tra minimizzare il SSE e quei 3 "presupposti".


49
Direi che il numero di cluster è già abbastanza un presupposto.
njzk2,

30
I presupposti chiave di k-medie sono: 1. ci sono k cluster. 2. SSE è l' obiettivo giusto da minimizzare. 3. tutti i cluster hanno lo stesso SSE. 4. tutte le variabili hanno la stessa importanza per ogni cluster. Questi sono presupposti piuttosto forti ...
Anony-Mousse,

2
Alla tua seconda domanda (pubblicata come risposta, quindi eliminata): se vuoi capire k-mean come problema di ottimizzazione simile alla regressione lineare, capiscilo come quantizzazione . Cerca di trovare l'approssimazione dei minimi quadrati dei dati usando istanze. Vale a dire se in realtà hai sostituito ogni punto con il centroide più vicino. k
Anony-Mousse,

2
@ Anony-Mousse, ho letto del materiale e in seguito ho avuto il seguente pensiero: significa che un modello statistico (piuttosto che un metodo di ottimizzazione) presuppone che ci siano k cluster sottostanti e che la dispersione dei dati sia puramente normale rumore casuale con uguale varianza. Ciò è analogo all'assunzione di un modello di regressione lineare semplice. Quindi (credo, non ho trovato un articolo) secondo una versione del teorema di Gauss-Markov, medie ti fornirà uno stimatore coerente della media dei cluster k sottostanti che abbiamo assunto per i nostri dati. k -kk
KevinKim,

1
Di seguito ho aggiunto un'illustrazione alla mia risposta di un set di dati in cui si potrebbe supporre che k-mean funzioni davvero bene (tutti i cluster della stessa forma) e tuttavia rimane bloccato nei minimi locali; e persino 1000 iterazioni non hanno trovato il risultato ottimale.
Anony-Mousse,

Risposte:


273

Mentre mi piace molto la risposta di David Robinson qui, ecco alcune critiche aggiuntive su k-medie.

Clustering di dati non cluster

Esegui k-mean su dati uniformi e otterrai comunque cluster! Non ti dice quando i dati non si raggruppano e può portare la tua ricerca in un vicolo cieco in questo modo.

K significa su dati uniformi

Sensibile alla scala

Il ridimensionamento dei set di dati cambierà completamente i risultati. Anche se questo non è male, non rendersi conto che è necessario prestare maggiore attenzione al ridimensionamento dei dati è negativo. Fattori di scala sono aggiunti parametri nascosti in k-significa che "default" a 1 e quindi sono facilmente trascurata, eppure hanno un impatto maggiore (ma ovviamente questo vale per molti altri algoritmi, anche).d

Questo è probabilmente ciò che hai definito "tutte le variabili hanno la stessa varianza". Tranne che idealmente, dovresti anche considerare il ridimensionamento non lineare quando appropriato.

Inoltre, tieni presente che è solo euristico ridimensionare ogni asse per ottenere una varianza unitaria . Questo non garantisce che k-mean funzioni. Il ridimensionamento dipende dal significato del set di dati. E se hai più di un cluster, vorresti che ogni cluster (indipendentemente) avesse la stessa varianza in ogni variabile.

Ecco un classico controesempio di set di dati che k-mean non può raggruppare. Entrambi gli assi sono iid in ogni cluster, quindi sarebbe sufficiente farlo in 1 dimensione. Ma i cluster hanno varianze variabili e k-mean li divide in modo errato.

K-mean non può raggruppare questo set di dati

Non credo che questo controesempio per k-mean sia coperto dai tuoi punti:

  • Tutti i cluster sono sferici (iid gaussiani).
  • Tutti gli assi hanno la stessa distribuzione e quindi varianza.
  • Entrambi i cluster hanno 500 elementi ciascuno.

Tuttavia, k-mean fallisce ancora gravemente (e peggiora se aumento la varianza oltre lo 0,5 per il cluster più grande) Ma: non è l'algoritmo che ha fallito. Sono le ipotesi che non valgono . K-mean funziona perfettamente, sta solo ottimizzando il criterio sbagliato.

Anche su set di dati perfetti, può rimanere bloccato in un minimo locale

Di seguito è riportato il migliore di 10 cicli di k-medie sul set di dati classico A3. Questo è un set di dati sintetici, progettato per k-medie . 50 grappoli, ciascuno di forma gaussiana, ragionevolmente ben separati. Eppure, solo con k-mean ++ e 100 iterazioni ho ottenuto il risultato atteso ... (sotto sono 10 iterazioni di k-mean regolari, per esempio).

k-significa sul set di dati A3

Troverai rapidamente molti cluster in questo set di dati, dove k-mean non è riuscito a trovare la struttura corretta. Ad esempio, in basso a destra, un cluster è stato suddiviso in tre parti. Ma non c'è modo, k-mean sposterà uno di questi centroidi in un posto completamente diverso del set di dati: è intrappolato in un minimo locale (e questa era già la migliore delle 10 corse!)

E ci sono molti di questi minimi locali in questo set di dati. Molto spesso quando si ottengono due campioni dallo stesso cluster, si bloccherà nel minimo in cui questo cluster rimane diviso e invece si uniscono altri due cluster. Non sempre, ma molto spesso. Quindi hai bisogno di molte iterazioni per avere una scelta fortunata. Con 100 iterazioni di k-mean, ho ancora contato 6 errori e con 1000 iterazioni ho ottenuto questo fino a 4 errori. K-mean ++ dal modo in cui pondera i campioni casuali, funziona molto meglio su questo set di dati.

I mezzi sono continui

Sebbene sia possibile eseguire k-mean su dati binari (o dati categoriali con una codifica a caldo) i risultati non saranno più binari. Quindi ottieni un risultato, ma potresti non essere in grado di interpretarlo alla fine, perché ha un tipo di dati diverso rispetto ai tuoi dati originali.

Presupposto nascosto: vale la pena minimizzare SSE

Questo è essenzialmente già presente nella risposta sopra, ben dimostrata con regressione lineare. Ci sono alcuni casi d'uso in cui k-mean ha perfettamente senso. Quando Lloyd ha dovuto decodificare i segnali PCM, conosceva il numero di toni diversi e l'errore al quadrato minimo riduce al minimo la possibilità di errori di decodifica. E nella quantizzazione dei colori delle immagini, minimizzate anche gli errori di colore quando riducete la palette. Ma sui tuoi dati, la somma delle deviazioni quadrate è un criterio significativo da minimizzare?

Nel precedente controesempio, la varianza non vale la pena minimizzare, perché dipende dal cluster. Invece, un modello di miscela gaussiana dovrebbe essere adatto ai dati, come nella figura seguente:

Modellazione di miscele gaussiane

(Ma questo non è neanche l'ultimo metodo. È altrettanto facile costruire dati che non soddisfano i presupposti della "miscela di k distribuzioni gaussiane", ad esempio aggiungendo molto rumore di fondo)

Troppo facile da usare male

Tutto sommato, è troppo facile lanciare k-mean sui tuoi dati, e tuttavia ottenere un risultato (è praticamente casuale, ma non te ne accorgerai). Penso che sarebbe meglio avere un metodo che può fallire se non hai capito i tuoi dati ...

K-significa come quantizzazione

Se vuoi un modello teorico di ciò che fa k-significa, consideralo un approccio di quantizzazione , non un algoritmo di clustering.

L'obiettivo di k-medie - minimizzare l'errore al quadrato - è una scelta ragionevole se si sostituisce ogni oggetto con il centroide più vicino. (Ha molto meno senso se si ispezionano i gruppi di dati originali IMHO.)

Ci sono ottimi casi d'uso per questo. Mi viene in mente il caso d'uso originale PCM di Lloyd, o ad esempio la quanizzazione del colore (Wikipedia) . Se si desidera ridurre un'immagine a k colori, è non desidera sostituire ogni pixel con il baricentro più vicino. Minimizzare la deviazione del colore quadrata quindi non misura L2 optimality nell'immagine ravvicinamento utilizzando solo colori.k

Questa quantizzazione è probabilmente abbastanza simile all'esempio di regressione lineare. La regressione lineare trova il miglior modello lineare . E k-mean trova (a volte) la migliore riduzione ai valori k di un set di dati multidimensionale. Dove "migliore" è l'errore meno quadrato.

IMHO, k-mean è un buon algoritmo di quantizzazione (vedi la prima immagine in questo post - se vuoi approssimare il set di dati a due punti, questa è una scelta ragionevole!). Se si desidera eseguire l'analisi dei cluster come nella struttura di rilevamento, k-mean non è la scelta migliore per IMHO. Tende a raggrupparsi quando non ci sono cluster e non è in grado di riconoscere varie strutture che vedi molto nei dati.


Stampa fine: tutte le immagini sono state generate con ELKI . I dati sono stati generati utilizzando il .xmlformato di generazione dei dati, ma sono così semplici che non vale la pena condividerli.


17
(Solo da notare - probabilmente non è una buona idea parlare della "risposta sopra", poiché l'ordine di risposta che un lettore vede può essere variabile. Ad esempio, se impostano l'ordine di visualizzazione su "attivo", allora la tua risposta è in realtà quello sopra!)
Silverfish,

1
@ Anony-Mousse Questa risposta è davvero fantastica. Ma fino ad ora, ho quasi dimenticato cosa intendiamo di solito dicendo "k-mean funzionerà in alcune condizioni e fallirà in altre condizioni". Che cosa significa la parola "lavoro" o "errore" in questo contesto? "Funziona" significa che la soluzione generata da k-mean 'apparirà visivamente ragionevole'? Questo è un po 'vago. O "lavoro" significa se k-mean fornisce una soluzione che è la stessa della "soluzione standard", cioè pre-generiamo un set di dati e utilizziamo k-mean. In questo contesto "lavoro" ha senso, ma in realtà i dati non sono pre-generati da una certa distribuzione.
Kevin Kim

Di solito le persone si riferiscono ad alcune verità fondamentali, ad es. Come sono stati generati i dati o ad alcune etichette nascoste dall'algoritmo. Il confronto con i dati generati preferirà gli algoritmi che ottimizzano il modello che è stato utilizzato per la generazione (ad esempio GMM e k-medie per i gaussiani). E anche su dati reali ed etichettati questa valutazione riguarda la riproduzione di un risultato noto . Quando consideri l'aspetto esplorativo / di scoperta della conoscenza, dove vuoi imparare qualcosa di nuovo . Ma è tutto ciò che abbiamo.
Anony-Mousse,

Funzionerebbe meglio sul set di dati A3 se fosse adeguato al numero di cluster effettivamente presenti come determinato a priori? k
TMOTTM,

@TMOTTM questo è con k scelto dalla conoscenza precedente. Il migliore di 10 giri tutti con il "corretto" k scelto a priori.
Anony-Mousse,

450

Che bella domanda, è un'opportunità per mostrare come si esaminerebbero gli svantaggi e le ipotesi di qualsiasi metodo statistico. Vale a dire: crea alcuni dati e prova l'algoritmo su di esso!

Prenderemo in considerazione due delle tue assunzioni e vedremo cosa succede all'algoritmo k-mean quando tali assunzioni vengono interrotte. Seguiremo i dati bidimensionali poiché è facile da visualizzare. (Grazie alla maledizione della dimensionalità , l'aggiunta di ulteriori dimensioni può rendere questi problemi più gravi, non meno). Lavoreremo con il linguaggio di programmazione statistica R: puoi trovare il codice completo qui (e il post nel modulo blog qui ).

Deviazione: Quartetto di Anscombe

Innanzitutto, un'analogia. Immagina che qualcuno abbia sostenuto quanto segue:

Ho letto del materiale sugli svantaggi della regressione lineare - che si aspetta una tendenza lineare, che i residui sono normalmente distribuiti e che non ci sono valori anomali. Ma tutta la regressione lineare sta minimizzando la somma degli errori quadrati (SSE) dalla linea prevista. Questo è un problema di ottimizzazione che può essere risolto indipendentemente dalla forma della curva o dalla distribuzione dei residui. Pertanto, la regressione lineare non richiede presupposti per funzionare.

Bene, sì, la regressione lineare funziona minimizzando la somma dei residui quadrati. Ma questo di per sé non è l'obiettivo di una regressione: quello che stiamo cercando di fare è tracciare una linea che funge da predittore affidabile e imparziale di y basato su x . Il teorema di Gauss-Markov ci dice che minimizzare il SSE raggiunge questo obiettivo, ma che il teorema si basa su alcuni presupposti molto specifici. Se queste ipotesi sono rotti, è comunque possibile ridurre al minimo lo SSE, ma potrebbe non farenulla. Immagina di dire "Guidi un'auto premendo il pedale: guidare è essenzialmente un" processo di spinta del pedale ". Il pedale può essere premuto indipendentemente dalla quantità di gas nel serbatoio. Pertanto, anche se il serbatoio è vuoto, è comunque possibile premere il pedale e guidare la macchina. "

Ma parlare costa poco. Diamo un'occhiata ai dati freddi, difficili. O in realtà, dati inventati.

inserisci qui la descrizione dell'immagine

Questi sono in effetti i miei dati inventati preferiti : il Quartetto di Anscombe . Creato nel 1973 dallo statistico Francis Anscombe, questo delizioso intruglio illustra la follia di fidarsi ciecamente dei metodi statistici. Ognuno dei set di dati ha la stessa pendenza di regressione lineare, intercetta, valore p e - eppure a prima vista possiamo vedere che solo uno di essi, I , è appropriato per la regressione lineare. In II suggerisce la forma sbagliata, in III è distorta da un singolo outlier- e in IV non c'è chiaramente alcuna tendenza!R2

Si potrebbe dire "La regressione lineare funziona ancora in quei casi, perché sta minimizzando la somma dei quadrati dei residui". Ma che vittoria di Pirro ! La regressione lineare traccerà sempre una linea, ma se è una linea insignificante, a chi importa?

Quindi ora vediamo che solo perché è possibile eseguire un'ottimizzazione non significa che stiamo raggiungendo il nostro obiettivo. E vediamo che inventare dati e visualizzarli è un buon modo per ispezionare i presupposti di un modello. Aspetta quell'intuizione, ne avremo bisogno tra un minuto.

Presupposto rotto: dati non sferici

Sostieni che l'algoritmo k-mean funzionerà bene su cluster non sferici. Grappoli non sferici come ... questi?

inserisci qui la descrizione dell'immagine

Forse questo non è quello che ti aspettavi, ma è un modo perfettamente ragionevole per costruire cluster. Guardando questa immagine, noi umani riconosciamo immediatamente due gruppi naturali di punti: non si possono confondere. Quindi vediamo come fa k-mean: i compiti sono mostrati a colori, i centri imputati sono mostrati come X.

inserisci qui la descrizione dell'immagine

Beh, che 'Non è giusto. K-mean stava cercando di inserire una spina quadrata in un foro rotondo - cercando di trovare dei bei centri con sfere pulite intorno a loro - e fallì. Sì, sta ancora minimizzando la somma di quadrati all'interno del cluster, ma proprio come nel Quartetto di Anscombe sopra, è una vittoria di Pirro!

Potresti dire "Questo non è un buon esempio ... nessun metodo di clustering potrebbe trovare correttamente cluster così strani". Non vero! Prova il clustering gerarchico a collegamento singolo :

inserisci qui la descrizione dell'immagine

Azzeccato! Questo perché il clustering gerarchico a collegamento singolo fa le ipotesi giuste per questo set di dati. (C'è tutta un'altra classe di situazioni in cui fallisce).

Potresti dire "Questo è un caso unico, estremo, patologico". Ma non lo è! Ad esempio, puoi rendere il gruppo esterno un semicerchio anziché un cerchio, e vedrai che k-mean fa ancora terribilmente (e il clustering gerarchico funziona ancora bene). Potrei facilmente affrontare altre situazioni problematiche, e questo è solo in due dimensioni. Quando si raggruppano dati 16-dimensionali, possono sorgere tutti i tipi di patologie.

Infine, dovrei notare che k-mean è ancora recuperabile! Se inizi trasformando i tuoi dati in coordinate polari , il clustering ora funziona:

inserisci qui la descrizione dell'immagine

Ecco perché è essenziale comprendere i presupposti alla base di un metodo: non ti dice solo quando un metodo ha degli svantaggi, ma ti spiega come risolverli.

Presupposto rotto: cluster di dimensioni irregolari

Che cosa succede se i cluster hanno un numero irregolare di punti - ciò spezza anche il cluster k - significa? Bene, considera questo gruppo di cluster, di dimensioni 20, 100, 500. Ho generato ciascuno da un gaussiano multivariato:

inserisci qui la descrizione dell'immagine

Sembra che k-mean potrebbe probabilmente trovare quei cluster, giusto? Tutto sembra essere generato in gruppi ordinati e ordinati. Quindi proviamo k-mean:

inserisci qui la descrizione dell'immagine

Ahia. Quello che è successo qui è un po 'più sottile. Nella sua ricerca per ridurre al minimo la somma dei quadrati all'interno del cluster, l'algoritmo k-mean dà più "peso" ai cluster più grandi. In pratica, ciò significa che è felice di lasciare che quel piccolo cluster finisca lontano da qualsiasi centro, mentre usa quei centri per "dividere" un cluster molto più grande.

Se giochi un po 'con questi esempi ( codice R qui! ), Vedrai che puoi costruire molti più scenari in cui k-mean fa un errore imbarazzante.

Conclusione: nessun pranzo libero

C'è una costruzione affascinante nel folklore matematico, formalizzata da Wolpert e Macready , chiamata "Nessun teorema del pranzo libero". Probabilmente è il mio teorema preferito nella filosofia dell'apprendimento automatico e apprezzo qualsiasi possibilità di sollevarlo (ho già detto che adoro questa domanda?) L'idea di base è dichiarata (non rigorosamente) come questa: "Quando viene calcolata la media in tutte le possibili situazioni, ogni algoritmo si comporta ugualmente bene ".

Sembra controintuitivo? Considera che per ogni caso in cui un algoritmo funziona, potrei costruire una situazione in cui fallisce terribilmente. La regressione lineare presuppone che i dati cadano lungo una linea, ma cosa succede se segue un'onda sinusoidale? Un test t presuppone che ogni campione provenga da una distribuzione normale: cosa succede se si lancia un valore anomalo? Qualsiasi algoritmo di risalita in pendenza può rimanere intrappolato nei massimi locali e qualsiasi classificazione supervisionata può essere ingannata in eccesso.

Cosa significa questo? Significa che i presupposti sono da dove viene il tuo potere! Quando Netflix ti consiglia i film, si presume che se ti piace un film, ti piacciono quelli simili (e viceversa). Immagina un mondo in cui ciò non era vero e i tuoi gusti sono perfettamente casuali e sparsi casualmente tra generi, attori e registi. Il loro algoritmo di raccomandazione fallirebbe terribilmente. Avrebbe senso dire "Beh, sta ancora minimizzando alcuni errori quadrati previsti, quindi l'algoritmo funziona ancora"? Non è possibile creare un algoritmo di raccomandazione senza fare alcune ipotesi sui gusti degli utenti, proprio come non è possibile creare un algoritmo di cluster senza fare alcune ipotesi sulla natura di tali cluster.

Quindi non accettare solo questi inconvenienti. Conoscili, in modo che possano informare la tua scelta di algoritmi. Comprenderli, in modo da poter modificare l'algoritmo e trasformare i dati per risolverli. E amali, perché se il tuo modello non potrebbe mai essere sbagliato, significa che non sarà mai giusto.



50
+1 per questa risposta appassionata. Mi è particolarmente piaciuto l'esempio di trasformazione polare, quei trucchi intelligenti non smettono mai di stupire il mio cervello matematicamente ignorante.
Mugen,

20
+ 1, questa è una risposta assolutamente meravigliosa che fa un ottimo lavoro nel mostrare come le ipotesi si guastano senza impantanarsi nei dettagli dell'analisi.
Louis Cialdella,

15
+1 Una delle cose comuni che le persone continuano a lamentarsi è che le cose teoriche non funzionano nella pratica. Ma quando chiedo "i tuoi dati si adattano alle ipotesi del modello?" Ho semplicemente uno sguardo vuoto dai loro volti. La tua risposta e soprattutto la sezione finale mi hanno reso davvero felice.
TenaliRaman,

9
+1 Wow, sono in giro da un po 'ma penso di non aver mai visto una risposta per ottenere più di 50 voti in un giorno. Questo è un risultato davvero impressionante.
amoeba,

7
La trasformazione polare, per come la vedo io, è principalmente utile qui come primo esempio privo di gergo verso le tecniche di clustering del kernel - dove questo tipo di pre-trasformazione è come far funzionare i metodi di apprendimento lineare.
Mikael Vejdemo-Johansson il

7

Vorrei solo aggiungere alla risposta di @ DavidRobinson che il clustering alla varianza totale minima del cluster è in realtà un problema di ottimizzazione combinatoria , di cui k-Means è solo una tecnica - e data la natura "one shot", locale della "discesa più ripida", anche abbastanza male . Inoltre, cercare di migliorare sostanzialmente le "ossa nude" dei K-Mezzi in qualche modo (ma rapidamente!) Capire dove dovrebbero essere i semi del cluster, è condannato fin dall'inizio: poiché i semi incidono (drasticamente!) Sui cluster finali, ammonta a a "sapere" qual è l'ottimale ... prima di elaborarlo.

Tuttavia, poiché la maggior parte dei problemi di ottimizzazione, può tuttavia essere suscettibile di una seria tecnica di ottimizzazione . Uno di questi si adatta molto da vicino alla struttura del problema (come richiede la NFL!), E certamente mostra i suoi risultati. Non voglio fare pubblicità qui (sarebbe - e giustamente - contro l'etichetta), quindi se sei interessato, leggi qui e fai il tuo giudizio.

Detto questo, concordo con @ttnphns che k-Means non identifica certamente una miscela gaussiana - le funzioni di costo dei due problemi sono completamente diverse. Si scopre che trovare la miscela gaussiana più adatta (in termini di probabilità del modello dati i dati) è anche un problema di ottimizzazione combinatoria - e uno per il quale esiste anche una seria tecnica di ottimizzazione . Ancora una volta, nessuna pubblicità: puoi giungere alle tue conclusioni qui - dirò solo che l'algoritmo discusso lì può, infatti, identificare correttamente i cluster come l'ultima immagine nel post di @ DavidRobinson . Persino correttamente (cioè, in un modo matematicamente ben definito) risolve il problema perenne degli outlier, cioè, punti dati che non appartengono a nessuno dei cluster perché sono completamente casuali (notoriamente, deragliano completamente i K-Me, ad esempio). Questo viene fatto facendo in modo che una distribuzione aggiuntiva e uniforme competa con i gaussiani ... e lo splendido risultato è che su dati distribuiti uniformemente, in effetti riporta che non c'è nulla lì dentro (non l'ho mai visto altrove).

Ora ovviamente, secondo la NFL, e come giustamente sottolineato , anche le miscele gaussiane ottimali a livello globale con un'identificazione anomala si basano su un'ipotesi precedente, vale a dire che i dati sono, in effetti, distribuiti normalmente. Fortunatamente, grazie alla Legge dei Grandi Numeri, numerosi fenomeni naturali si conformano a tale ipotesi.

DISCLAIMER: con le mie più sentite scuse, ho scritto entrambi i documenti sopra e gli algoritmi di cui discutono.

PS Ho incontrato Macready in una conferenza una volta - un ragazzo estremamente brillante e simpatico!


Si supponga che questa sia una risposta alla domanda.
Michael Chernick,

3
In realtà è una risposta, Michael: k-significa PRETENDE per risolvere quello che è in realtà un problema di ottimizzazione combinatoria ... eppure NON lo fa sicuramente (non seriamente in alcun modo)! Inoltre, k-Means assume (in base alla progettazione) distribuzioni sferiche, che sono così zoppe da farti piangere (moltiplicare una delle dimensioni per due e ottenere qualcosa di completamente diverso, qualunque sia il tuo seme "intelligente"!). E la questione dei valori anomali (presente in QUALSIASI dato del mondo reale che ho visto!) Semplicemente non viene nemmeno affrontata nei K-Mezzi, anche se distruggono completamente qualsiasi pretesa che i K-Mezzi possano avere del "serio" raggruppamento.
Emanuel Falkenauer,

1
@EmanuelFalkenauer, benvenuto nel sito. Sto votando (+1) per la tua risposta, ma è solo un po 'pretenzioso. In che modo K-mean può fingere qualcosa per qualcosa, non essendo un essere umano? Fa quello che fa, e non è male, per un metodo semplice / veloce.
ttnphns,

@ttnphns: grazie per l'accoglienza e il voto positivo! Beh, certo che k-Means non pretende nulla (è solo un pezzo di codice - il mio male!), Ma le persone che lo promuovono lo fanno - come ha scoperto l'OP. Concordo con la tua affermazione sul fatto che si tratta di un metodo "semplice / veloce", ma il grande problema è che fare affidamento sul suo output su uno qualsiasi dei dati più semplicistici è vicino al suicidio: non solo fa ipotesi che non sono rispettate dalla maggior parte del tempo, ma anche quando lo sono, fa un lavoro terribile. Semplicemente non risolvi un problema combinatorio con una discesa più ripida. ;-)
Emanuel Falkenauer,

6

Logicamente parlando, gli svantaggi di K-mean sono:

  • necessita di separabilità lineare dei cluster
  • è necessario specificare il numero di cluster
  • Algoritmi: la procedura di Loyds non converge al vero massimo globale anche con una buona inizializzazione quando ci sono molti punti o dimensioni

Ma K-significa è meglio di quanto pensiamo di solito. Ne sono diventato abbastanza entusiasta dopo averlo testato con altri metodi di clustering (spettrale, densità ...) e LDA nella classificazione testuale di un milione di testi nella vita reale: K-medie aveva un'accuratezza molto migliore rispetto a LDA, ad esempio (88% vs 59%). Alcuni altri metodi di clustering erano buoni, ma K-mean era vicino ai vertici ... e più conveniente in termini di complessità.

Non ho mai letto di un metodo di clustering che è universalmente migliore su una vasta gamma di problemi. Non dire che K-mean sia universalmente migliore, solo che non esiste un supereroe di cluster universale per quanto ne so. Molti articoli, molti metodi, non una vera rivoluzione (nella mia personale esperienza limitata nel testarne alcuni).

Il motivo principale per cui gli svantaggi logici dei mezzi K sono spesso evidenti è che i punti di raggruppamento in un piano 2D sono qualcosa che raramente si fa nell'apprendimento automatico. Molte cose dall'intuizione geometrica che è vera in 2D, 3D ... sono irrilevanti in dimensioni piuttosto elevate o spazi vettoriali astratti (come un sacco di parole, un vettore di variabili ...)

Separabilità lineare: raramente devi gestire i cluster circolari nei dati di vita reale. È anche meglio supporre che non esistano in questi casi. Consentire all'algoritmo di cercarli consentirebbe di trovare cluster circolari dispari nel rumore. Il presupposto lineare in K-significa lo rende spesso più robusto.

Numero di cluster: spesso non esiste un vero numero ideale di cluster che desideri vedere. Per la classificazione del testo, ad esempio, ci possono essere 100 categorie, 105, 110 ... è tutto piuttosto soggettivo. Specificare il numero di cluster diventa equivalente a specificare una granularità globale. Tutti i metodi di clustering richiedono comunque una specifica di granularità.

10a lot

Ma tutti gli algoritmi di clustering hanno tali limiti. Ad esempio nel clustering spettrale: non è possibile trovare i veri autovettori, solo approssimazioni.

Per lo stesso tempo di calcolo, una libreria LDA abbastanza ottimizzata ha funzionato meno dei nostri mezzi K fatti in casa (non perfettamente ottimizzati). Da allora, penso un po 'diversamente.


1

Per comprendere gli svantaggi di K-medie, mi piace pensare a quale sia il modello dietro di esso.

KK

Kσ2Iσ2Kσ20

Cosa ci dice questo degli svantaggi di K-medie?

  1. K-significa conduce a gruppi che sembrano gaussiani multivariati.
  2. Poiché la varianza tra le variabili è la stessa, K-mean porta a cluster che sembrano sferici.
  3. K
  4. K significa che tende verso gruppi di uguali dimensioni.

K-mean è in realtà un algoritmo piuttosto restrittivo. Il vantaggio è che con i presupposti di cui sopra, è possibile eseguire l'algoritmo abbastanza rapidamente. Ma se le prestazioni del clustering sono la tua principale preoccupazione, K-medie è di solito troppo restrittivo in situazioni reali.


2
Non posso essere completamente d'accordo. Affermare che K-significhi essere un caso particolare di miscela gaussiana è molto più lungo. K-medie non assume un tipo specifico di distribuzione, come normale (quindi non è un terreno probabilistico). Presuppone cluster non sovrapposti (cioè nessun "mix"). Presuppone cluster sferici ma più preciso nel dire che assume poligoni convessi di cellule Voronoi. Forse è giusto dire che K-mean non "modella" nulla, non ha riferimenti diretti a un processo di generazione di dati. K significa "tende verso gruppi [di numero di punti] di uguale dimensione" - non necessariamente.
ttnphns,

4
@ttnphns Si può dimostrare che k-mean è davvero un caso speciale di GMM: en.wikipedia.org/wiki/K-means_clustering#Gaussian_Mixture_Model
TrynnaDoStat

It can be shown that. Con sufficiente estensione, qualsiasi cosa può essere "mostrata" come parentela, oltre la ragione.
ttnphns,

2
@ttnphns No, non tutto può essere mostrato matematicamente.
TrynnaDoStat,
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.