logo

Clustering nell'apprendimento automatico

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.

Clustering nell'apprendimento automatico

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 Clustering basato sulla densità Clustering basato su modelli di distribuzione Clustering gerarchico Clustering fuzzy

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 nell'apprendimento automatico

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 nell'apprendimento automatico

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 nell'apprendimento automatico

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 nell'apprendimento automatico

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:

    Algoritmo K-Means:L'algoritmo k-means è uno degli algoritmi di clustering più popolari. Classifica il set di dati dividendo i campioni in diversi gruppi di varianze uguali. Il numero di cluster deve essere specificato in questo algoritmo. È veloce con meno calcoli richiesti, con la complessità lineare di SU). Algoritmo di spostamento della media:L'algoritmo di spostamento della media cerca di trovare le aree dense nella densità uniforme dei punti dati. È un esempio di modello basato sul centroide, che funziona sull'aggiornamento dei candidati affinché il centroide diventi il ​​centro dei punti all'interno di una determinata regione.Algoritmo DBSCAN:Sta in piedi per il clustering spaziale basato sulla densità di applicazioni con rumore . È un esempio di modello basato sulla densità simile allo spostamento della media, ma con alcuni notevoli vantaggi. In questo algoritmo, le aree ad alta densità sono separate dalle aree a bassa densità. Per questo motivo, i cluster possono essere trovati in qualsiasi forma arbitraria.Clustering di massimizzazione delle aspettative utilizzando GMM:Questo algoritmo può essere utilizzato come alternativa all'algoritmo k-medie o per quei casi in cui K-medie può fallire. Nel GMM si presuppone che i punti dati siano distribuiti gaussiani.Algoritmo gerarchico agglomerativo:L'algoritmo gerarchico agglomerativo esegue il clustering gerarchico dal basso verso l'alto. In questo, ogni punto dati viene trattato inizialmente come un singolo cluster e poi successivamente unito. La gerarchia dei cluster può essere rappresentata come una struttura ad albero.Propagazione per affinità:È diverso dagli altri algoritmi di clustering in quanto non richiede di specificare il numero di cluster. In questo, ciascun punto dati invia un messaggio tra la coppia di punti dati fino alla convergenza. Ha O(N2T) complessità temporale, che è il principale svantaggio di questo algoritmo.

Applicazioni del clustering

Di seguito sono riportate alcune applicazioni comunemente note della tecnica di clustering nel Machine Learning:

    Nell’identificazione delle cellule tumorali:Gli algoritmi di clustering sono ampiamente utilizzati per l'identificazione delle cellule cancerose. Divide i set di dati cancerosi e non cancerosi in diversi gruppi.Nei motori di ricerca:I motori di ricerca lavorano anche sulla tecnica del clustering. Il risultato della ricerca viene visualizzato in base all'oggetto più vicino alla query di ricerca. Lo fa raggruppando oggetti dati simili in un gruppo lontano dagli altri oggetti dissimili. Il risultato accurato di una query dipende dalla qualità dell'algoritmo di clustering utilizzato.Segmentazione della clientela:Viene utilizzato nelle ricerche di mercato per segmentare i clienti in base alle loro scelte e preferenze.In biologia:Viene utilizzato nel flusso di biologia per classificare diverse specie di piante e animali utilizzando la tecnica di riconoscimento delle immagini.Nell'uso del suolo:La tecnica del clustering viene utilizzata per identificare l'area con uso del territorio simile nel database GIS. Questo può essere molto utile per scoprire per quale scopo dovrebbe essere utilizzato un particolare terreno, ovvero per quale scopo è più adatto.