Algoritmi di clustering

I set di dati di machine learning possono avere milioni ma non tutti gli algoritmi di clustering sono scalabili in modo efficiente. Clustering di molti algoritmi calcolano la somiglianza tra tutte le coppie di esempi, significa che il tempo di esecuzione aumenta al quadrato del numero di esempi \(n\), indicata come \(O(n^2)\) nella notazione della complessità. \(O(n^2)\) gli algoritmi non sono per i set di dati con milioni di esempi.

L'algoritmo k-means ha un complessità di \(O(n)\), il che significa che l'algoritmo scala in modo lineare con \(n\). Questo algoritmo sarà il fulcro di questo corso.

Tipi di clustering

Per un elenco esaustivo dei diversi approcci al clustering, vedi Un sondaggio completo sugli algoritmi di clustering Xu, D. & Tian, Y. Anna Dati. Sci (2015) 2: 165. Ogni approccio è il più adatto a di una particolare distribuzione di dati. Questo corso illustra brevemente quattro comuni approcci.

Clustering basato su centroidi

Il centroid di un cluster è il media aritmetica di tutti i punti in un cluster Kubernetes. Il clustering basato su Centroid organizza i dati in categorie non gerarchiche cluster. Gli algoritmi di clustering basati su centroidi sono efficienti ma sensibili le condizioni iniziali e gli outlier. Tra questi, K-means è il ampiamente utilizzato. Richiede che gli utenti definiscano il numero di centroidi, k e funziona bene con cluster di dimensioni all'incirca uguali.

Esempi raggruppati in cluster utilizzando il clustering basato su centroide.
           Le linee mostrano i bordi tra i cluster.
Figura 1: esempio di clustering basato su baridi.

Clustering basato sulla densità

Il clustering basato sulla densità connette aree contigue ad alta densità di esempio in cluster. Ciò consente di scoprire un numero qualsiasi di cluster di qualsiasi forma. I valori anomali non vengono assegnati ai cluster. Questi algoritmi hanno difficoltà cluster di densità diversa e dati con dimensioni elevate.

Esempi raggruppati in due cluster mediante il clustering basato sulla densità.
      I cluster non sono separabili linearmente.
Figura 2: esempio di clustering basato sulla densità.

Clustering basato sulla distribuzione

Questo approccio di clustering presuppone che i dati siano composti da dati distribuibili, come Distribuzioni gaussiane: Nella Figura 3, l'algoritmo basato sulla distribuzione raggruppa i dati in tre distribuibili. Con l'aumento della distanza dal centro di distribuzione, la probabilità che un punto appartenga alla distribuzione diminuisce. Spettacolo delle band che diminuiscono di probabilità. Quando non puoi presumere che un particolare distribuzione dei dati sottostante, dovresti utilizzare un algoritmo diverso.

Esempi raggruppati utilizzando il clustering basato sulla distribuzione. L'ombreggiatura della densità degli esempi in ogni cluster mostra il modo in cui i cluster vengono mappati alle distribuzioni.
Figura 3: esempio di clustering basato sulla distribuzione.

Clustering gerarchico

Il clustering gerarchico crea una struttura di cluster. Clustering gerarchico, non sorprende che sia particolarmente adatto a dati gerarchici, come le tassonomie. Consulta Confronto di 61 genomi di Escherichia coli sequenziati di Oksana Lukjancenko, Trudy Wassenaar e Dave Ussery per un esempio. È possibile scegliere un numero qualsiasi di cluster tagliando l'albero al livello giusto.

Animali raggruppati in base a un albero gerarchico.
Figura 4: esempio di un albero gerarchico che raggruppa gli animali.