Il clustering o analisi dei cluster è un metodo di apprendimento senza supervisione utilizzato nel Machine Learning e nell’analisi dei dati che organizza i dati in modo che i punti di dati dello stesso gruppo (o cluster) siano più simili tra loro rispetto a quelli di altri gruppi. Il clustering aiuta a dare un senso a insiemi di dati complessi e di grandi dimensioni, rivelando pattern e tendenze o effettuando previsioni su dati non etichettati.
Come funziona il clustering
Il clustering prevede diverse fasi principali, tra cui la preparazione dei dati, la definizione di una misura di similarità, la scelta del giusto algoritmo di clustering, la valutazione e il perfezionamento dei cluster.
Nel clustering si misura la similarità tra punti di dati e si raggruppano i punti che hanno una misura di similarità maggiore rispetto ai dati di qualsiasi altro cluster. Il concetto di “similarità” varia a seconda del contesto e dei dati ed è un aspetto fondamentale dell’apprendimento senza supervisione. È possibile utilizzare diverse misure di similarità, tra cui quella euclidea, quella probabilistica, la distanza del coseno e la correlazione.
Tipi di algoritmi di clustering
Gli algoritmi di clustering si suddividono in due grandi gruppi:
- Hard clustering: quando ogni punto di dati appartiene a un solo cluster, come il comune metodo k-means.
- Soft clustering: quando ogni punto di dati può appartenere a più di un cluster, come nel caso dei modelli di mistura gaussiana.
Esistono diversi algoritmi di clustering e ognuno di essi implica un approccio peculiare al raggruppamento dei dati. Questi metodi presentano ingenti variazioni in termini di meccanica e casi d’uso ideali. I tipi più comuni di algoritmi di clustering utilizzati nel Machine Learning sono i seguenti.
- Il clustering gerarchico costruisce una gerarchia di cluster a più livelli creando un albero di cluster.
- Il clustering k-means suddivide i dati in k cluster distinti in base alla distanza dal centroide di un cluster.
- I modelli di mistura gaussiana formano i cluster come una mistura di componenti multivariate di densità normale.
- Il clustering spaziale basato sulla densità (DBSCAN) raggruppa i punti vicini tra loro in aree ad alta densità, tenendo traccia degli outlier nelle regioni a bassa densità. Può gestire forme non convesse arbitrarie.
- Le mappe auto-organizzanti utilizzano reti neurali che apprendono la topologia e la distribuzione dei dati.
- Il clustering spettrale trasforma i dati di input in una rappresentazione basata su un grafico in cui i cluster sono separati meglio rispetto allo spazio delle caratteristiche originarie. Il numero di cluster può essere stimato studiando gli autovalori del grafico.
- I modelli di Markov nascosti possono essere utilizzati per scoprire pattern nelle sequenze, come i geni e le proteine in bioinformatica.
- Il fuzzy c-means (FCM) raggruppa i dati in N cluster, con ogni punto di dati del set di dati che appartiene secondo un certo grado a ogni cluster.
Clustering per apprendimento senza supervisione
L’apprendimento senza supervisione è un tipo di algoritmo di Machine Learning utilizzato per trarre inferenze da dati non etichettati senza l’intervento umano. Il clustering è il metodo di apprendimento senza supervisione più comune. Applica algoritmi di clustering per esplorare i dati e trovare pattern o raggruppamenti nascosti nei dati senza alcuna conoscenza preliminare delle etichette dei gruppi. Utilizzando questi gruppi e pattern, il clustering aiuta a estrarre informazioni utili dai dati non etichettati e a rivelare le strutture intrinseche al loro interno.
Perché il clustering è importante
Il clustering è un ambito fondamentale dell’intelligenza artificiale. Svolge un ruolo importante in vari domini, offrendo preziose informazioni sui dati e scoprendo modelli e pattern che non sono immediatamente evidenti. In caso di dati non etichettati, in cui la relazione intrinseca tra i punti di dati è nascosta ma necessaria per rivelare informazioni utili, il clustering aiuta a scoprire tali relazioni e a organizzare i dati non etichettati in gruppi significativi.
Raggruppando elementi simili, il clustering riduce la complessità dei dati in modo da potersi concentrare sul comportamento dei gruppi piuttosto che dover gestire una miriade di singoli punti di dati. Il clustering può quindi essere utilizzato per l’analisi esplorativa dei dati e per l’apprendimento con semi-supervisione. In quest’ultimo caso, il clustering viene utilizzato come fase di pre-elaborazione prima dell’apprendimento con supervisione per ridurre la quantità di dati che deve essere elaborata da un modello di Machine Learning e migliorare l’accuratezza della modellazione predittiva.
Il clustering viene utilizzato frequentemente anche in applicazioni come il rilevamento di anomalie, la segmentazione di immagini e il riconoscimento di pattern. In particolare, il clustering può essere applicato nelle seguenti aree per identificare pattern e sequenze:
- I cluster possono rappresentare i dati invece del segnale grezzo nei metodi di compressione dei dati.
- I cluster indicano regioni di immagini e nuvole di punti LIDAR negli algoritmi di segmentazione.
- Il clustering può contribuire a individuare gli outlier o le anomalie all’interno di un set di dati.
- Nell’imaging medico, gli algoritmi di clustering possono essere utilizzati per separare le immagini in regioni di interesse, ad esempio per differenziare il tessuto sano dai tumori o per segmentare il cervello in materia bianca, materia grigia e liquido cerebrospinale.
- Il clustering viene utilizzato nei sistemi informativi geografici (GIS) per analizzare le immagini satellitari o le fotografie aeree in modo da individuare l’espansione urbana o i pattern di utilizzo del territorio o monitorare i cambiamenti delle aree urbane nel tempo.
- Il clustering genetico e l’analisi delle sequenze sono utilizzati in bioinformatica.
Clustering con MATLAB
Utilizzando MATLAB® con Statistics and Machine Learning Toolbox™, è possibile identificare pattern e feature applicando metodi di clustering a propria scelta e dividendo i dati in gruppi o cluster. Con Image Processing Toolbox™ è possibile eseguire il clustering sui dati delle immagini.
Preparazione dei dati
Per ottenere risultati di clustering accurati ed efficienti, è fondamentale pre-elaborare i dati e gestire i valori mancanti e gli outlier. Puoi pulire e pre-elaborare i dati in modo programmatico utilizzando le funzioni integrate o in modo interattivo mediante l’applicazione Data Cleaner.
Algoritmi di clustering
MATLAB supporta tutti i più diffusi algoritmi di clustering, che possono essere applicati con funzioni integrate, come la funzione kmeans
. È possibile utilizzare l’attività Cluster Data di Live Editor per eseguire interattivamente clustering k-means e gerarchico. Utilizzando l’attività, è possibile generare automaticamente il codice MATLAB per il live script.
È anche possibile eseguire il clustering nearest-neighbor in Simulink utilizzando il blocco KNN Search. Il blocco accetta un punto di interrogazione e restituisce i punti k nearest-neighbor nei dati osservativi, utilizzando un oggetto di ricerca nearest-neighbor.
Visualizzazione e valutazione dei risultati del clustering
Quando i dati non contengono divisioni naturali che indicano il numero appropriato di cluster, è possibile utilizzare criteri di valutazione diversi, come gap o silhouette, per determinare quanto i dati si adattano a un particolare numero di cluster. Inoltre è possibile visualizzare i cluster per esaminare i risultati del clustering. Ad esempio, è possibile utilizzare un grafico di un dendrogramma per visualizzare il clustering.
Clustering per immagini
È possibile eseguire la segmentazione di immagini (usando la funzione imsegkmeans
) e la segmentazione di volumi (usando la funzione imsegkmeans3
) su immagini effettuando il clustering su regioni di pixel in base a similarità di colore o forma. Si può creare un’immagine segmentata etichettata utilizzando un algoritmo di clustering specifico. Ad esempio, nell’imaging medico è possibile rilevare ed etichettare i pixel di un’immagine o i voxel di un volume 3D che rappresentano un tumore nel cervello o in altri organi di un paziente. Utilizzando gli strumenti MATLAB, è possibile elaborare e analizzare le immagini per un’ampia gamma di applicazioni, dalla diagnosi delle malattie alla classificazione del territorio.
Risorse
Amplia le tue conoscenze consultando la documentazione, gli esempi, guardando video e molto altro ancora.
Argomenti correlati
Scopri argomenti simili comunemente utilizzati con i prodotti MATLAB e Simulink.
30 giorni di prova gratuita
Per iniziareSeleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)