Il clustering o l'analisi dei cluster è una tecnica di apprendimento automatico che raggruppa il set di dati senza etichetta. Può essere definito come 'Un modo per raggruppare i punti dati in diversi cluster, costituiti da punti dati simili. Gli oggetti con le possibili somiglianze rimangono in un gruppo che ha meno o nessuna somiglianza con un altro gruppo.'
Lo fa trovando alcuni modelli simili nel set di dati senza etichetta come forma, dimensione, colore, comportamento, ecc., e li divide in base alla presenza e all'assenza di tali modelli simili.
È un apprendimento non supervisionato metodo, quindi non viene fornita alcuna supervisione all'algoritmo e si occupa del set di dati senza etichetta.
Dopo aver applicato questa tecnica di clustering, a ciascun cluster o gruppo viene fornito un ID cluster. Il sistema ML può utilizzare questo ID per semplificare l'elaborazione di set di dati grandi e complessi.
La tecnica del clustering è comunemente utilizzata per analisi statistica dei dati.
Nota: il clustering è in qualche modo simile a algoritmo di classificazione , ma la differenza sta nel tipo di set di dati che stiamo utilizzando. Nella classificazione lavoriamo con il set di dati etichettato, mentre nel clustering lavoriamo con il set di dati senza etichetta.
Esempio : Comprendiamo la tecnica del clustering con l'esempio reale di Mall: quando visitiamo un centro commerciale, possiamo osservare che le cose con utilizzo simile sono raggruppate insieme. Così come le magliette sono raggruppate in una sezione e i pantaloni in altre sezioni, allo stesso modo, nelle sezioni delle verdure, mele, banane, manghi, ecc., sono raggruppati in sezioni separate, in modo da poter scoprire facilmente le cose. Anche la tecnica del clustering funziona allo stesso modo. Altri esempi di clustering sono il raggruppamento di documenti in base all'argomento.
La tecnica di clustering può essere ampiamente utilizzata in vari compiti. Alcuni usi più comuni di questa tecnica sono:
- Segmentazione del mercato
- Analisi dei dati statistici
- Analisi delle reti sociali
- Segmentazione delle immagini
- Rilevamento anomalie, ecc.
Oltre a questi usi generali, è utilizzato da Amazzonia nel suo sistema di raccomandazioni per fornire le raccomandazioni secondo la ricerca passata di prodotti. Netflix utilizza questa tecnica anche per consigliare film e serie web ai propri utenti in base alla cronologia visualizzazioni.
Il diagramma seguente spiega il funzionamento dell'algoritmo di clustering. Possiamo vedere che i diversi frutti sono divisi in diversi gruppi con proprietà simili.
Tipi di metodi di clustering
I metodi di clustering sono ampiamente suddivisi in Raggruppamento difficile (il datapoint appartiene a un solo gruppo) e Clustering morbido (I punti dati possono appartenere anche ad un altro gruppo). Ma esistono anche altri approcci diversi al clustering. Di seguito sono riportati i principali metodi di clustering utilizzati nell'apprendimento automatico:
Clustering di partizionamento
È un tipo di clustering che divide i dati in gruppi non gerarchici. È anche conosciuto come il metodo basato sul centroide . L'esempio più comune di partizionamento del clustering è il file Algoritmo di clustering K-Means .
In questo tipo, il set di dati è diviso in un insieme di k gruppi, dove K viene utilizzato per definire il numero di gruppi predefiniti. Il centro del cluster viene creato in modo tale che la distanza tra i punti dati di un cluster sia minima rispetto al centroide di un altro cluster.
confronta la stringa java
Clustering basato sulla densità
Il metodo di clustering basato sulla densità collega le aree altamente dense in cluster e le distribuzioni di forma arbitraria vengono formate finché la regione densa può essere collegata. Questo algoritmo lo fa identificando diversi cluster nel set di dati e collega le aree ad alta densità in cluster. Le aree dense nello spazio dati sono divise l'una dall'altra da aree più sparse.
Questi algoritmi possono incontrare difficoltà nel raggruppare i punti dati se il set di dati ha densità variabili e dimensioni elevate.
Clustering basato su modelli di distribuzione
Nel metodo di clustering basato sul modello di distribuzione, i dati vengono divisi in base alla probabilità di appartenenza di un set di dati a una particolare distribuzione. Il raggruppamento viene effettuato assumendo comunemente alcune distribuzioni Distribuzione gaussiana .
L'esempio di questo tipo è il Algoritmo di clustering di massimizzazione delle aspettative che utilizza modelli di miscela gaussiana (GMM).
Clustering gerarchico
Il clustering gerarchico può essere utilizzato come alternativa al clustering partizionato poiché non è necessario specificare in anticipo il numero di cluster da creare. In questa tecnica, il set di dati viene diviso in cluster per creare una struttura ad albero, chiamata anche a dendrogramma . Le osservazioni o un numero qualsiasi di cluster possono essere selezionati tagliando l'albero al livello corretto. L'esempio più comune di questo metodo è il Algoritmo gerarchico agglomerativo .
Clustering fuzzy
Il clustering fuzzy è un tipo di metodo soft in cui un oggetto dati può appartenere a più di un gruppo o cluster. Ogni set di dati ha una serie di coefficienti di appartenenza, che dipendono dal grado di appartenenza al cluster. Algoritmo Fuzzy C-significa è l'esempio di questo tipo di clustering; a volte è noto anche come algoritmo Fuzzy k-means.
Algoritmi di clustering
Gli algoritmi di clustering possono essere suddivisi in base ai modelli spiegati sopra. Sono stati pubblicati diversi tipi di algoritmi di clustering, ma solo pochi sono comunemente utilizzati. L'algoritmo di clustering si basa sul tipo di dati che stiamo utilizzando. Ad esempio, alcuni algoritmi devono indovinare il numero di cluster nel set di dati specificato, mentre altri devono trovare la distanza minima tra le osservazioni del set di dati.
Qui stiamo discutendo principalmente algoritmi di clustering popolari che sono ampiamente utilizzati nell'apprendimento automatico:
Applicazioni del clustering
Di seguito sono riportate alcune applicazioni comunemente note della tecnica di clustering nel Machine Learning: