Perché usiamo k-mean invece di altri algoritmi?


14

Ho studiato k-mean e questi sono ciò che ho ottenuto: k-mean è uno degli algoritmi più semplici che utilizza un metodo di apprendimento senza supervisione per risolvere i problemi noti del clustering. Funziona davvero bene con set di dati di grandi dimensioni.

Tuttavia, ci sono anche degli svantaggi di K-Means che sono:

  • Forte sensibilità a valori anomali e rumore
  • Non funziona bene con la forma del cluster non circolare - il numero di cluster e il valore iniziale del seme devono essere specificati in anticipo
  • Bassa capacità di superare l'ottimale locale.

C'è qualcosa di eccezionale in k-mean, perché sembra che gli svantaggi siano oltre le cose buone di k-mean.

Per favore, insegnami.


3
Non esiste un buon metodo o un buon algoritmo senza il contesto di un problema in cui viene utilizzato. Quindi usiamo k-

Risposte:


8

Altri algoritmi di clustering con funzionalità migliori tendono ad essere più costosi. In questo caso, k-means diventa un'ottima soluzione per il pre-clustering, riducendo lo spazio in piccoli spazi secondari disgiunti dove è possibile applicare altri algoritmi di clustering.


Più costoso come nel costo del programma? o ?
Teschio d'oro con motivo

5
Più costoso come lento e ad alta intensità di memoria.
Martin O'Leary,

Oh, capisco. Ci sono altri vantaggi oltre a quelli veloci, robusti e più facili da capire? E comunque grazie per le risposte @ MartinO'Leary e @ zeferino
Gold Skull with Pattern

6

K-mean è il più semplice. Per implementare ed eseguire. Tutto quello che devi fare è scegliere "k" ed eseguirlo più volte.

Gli algoritmi più intelligenti (in particolare quelli buoni) sono molto più difficili da implementare in modo efficiente (vedrai fattori di 100 volte nelle differenze di runtime) e hai molti più parametri da impostare.

Inoltre, molte persone non hanno bisogno di cluster di qualità . In realtà sono contenti di tutto ciò che lavora in remoto per loro. Inoltre, non sanno davvero cosa fare quando avevano cluster più complessi. K-significa, che modella i cluster usando il modello più semplice di sempre - un centroide - è esattamente ciò di cui hanno bisogno: massiccia riduzione dei dati ai centroidi .


0

K-medie è come l'algoritmo di ordinamento di Exchange. Facile da capire, aiuta ad entrare nell'argomento, ma non dovrebbe mai essere usato per qualcosa di reale, mai. Nel caso di Exchange Sort, anche Bubble Sort è migliore perché può arrestarsi in anticipo se l'array è parzialmente ordinato. Nel caso di K-medie, l'algoritmo EM è lo stesso algoritmo ma assume distribuzioni gaussiane per i cluster anziché l'assunzione di distribuzione uniforme di K-medie. K-medie è un caso limite di EM quando tutti i cluster hanno matrici di covarianza diagonali. La struttura gaussiana significa che i cluster si restringono avvolgendosi ai dati in un modo molto piacevole. Questo aggira le gravi obiezioni che sollevi correttamente nella domanda. E EM non è molto più costoso di K-significa, davvero. (Posso implementare entrambi in un foglio di calcolo Excel.) Ma per applicazioni di clustering serie,

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.