I modelli di unsupervised learning vengono utilizzati per tre attività principali, il clustering, associazione e riduzione della dimensionalità. Di seguito definiremo ciascun metodo di apprendimento ed evidenzieremo algoritmi e approcci comuni per condurli in modo efficace.
Clustering
Il clustering è una tecnica di data mining che raggruppa dati non etichettati in base alle loro somiglianze o differenze. Gli algoritmi di clustering vengono utilizzati per gestire oggetti di dati non elaborati e non classificati in gruppi rappresentati in base alle strutture o ai modelli presenti nelle informazioni. Gli algoritmi di clustering possono essere classificati in alcuni tipi, nello specifico esclusivi, sovrapposti, gerarchici e probabilistici.
Clustering esclusivo e sovrapposto
Il clustering esclusivo è una metodo di raggruppamento che stabilisce che un punto dati può esistere solo in un cluster. Questo metodo viene anche definito clustering "hard". L'algoritmo di clustering K-means è un esempio di clustering esclusivo.
- Il clustering K-means è un esempio comune di un metodo di clustering esclusivo in cui i punti dati vengono assegnati in K gruppi, dove K rappresenta il numero di cluster in base alla distanza dal baricentro di ciascun gruppo. I punti dati più vicini a un determinato baricentro saranno raggruppati in cluster sotto la stessa categoria. Un valore K più grande sarà indicativo di raggruppamenti più piccoli con maggiore granularità mentre un valore K più piccolo avrà raggruppamenti più grandi e meno granularità. Il clustering K-means è comunemente usato nella segmentazione del mercato, nel clustering dei documenti, nella segmentazione delle immagini e nella compressione delle immagini.
I cluster sovrapposti differiscono dal clustering esclusivo in quanto consentono ai punti dati di appartenere a più cluster con gradi di appartenenza separati. Il clustering k-means "Soft" o "fuzzy" è un esempio di clustering sovrapposto.
Clustering gerarchico
Il clustering gerarchico, noto anche come analisi dei cluster gerarchici (hierarchical cluster analysis, HCA), è un algoritmo di clustering non supervisionato che può essere classificato in due modi; può essere agglomerante o divisivo. Il clustering agglomerante è considerato un "approccio bottom-up" (dal basso verso l'alto). I suoi punti dati vengono inizialmente isolati come raggruppamenti separati, quindi vengono uniti in modo iterativo sulla base della loro somiglianza fino a quando non viene raggiunto un cluster. Per misurare la somiglianza vengono solitamente utilizzati quattro metodi differenti:
- Collegamento di Ward: questo metodo afferma che la distanza tra due cluster è definita dall'aumento della somma dei quadrati dopo che i cluster sono stati uniti.
- Collegamento medio: questo metodo è definito dalla distanza media tra due punti in ciascun cluster
- Collegamento completo (o massimo): questo metodo è definito dalla distanza massima tra due punti in ogni cluster
- Collegamento singolo (o minimo): questo metodo è definito dalla distanza minima tra due punti in ogni cluster
La distanza euclidea è la metrica più comune utilizzata per calcolare queste distanze; tuttavia, nella letteratura sul clustering sono citate anche altre metriche, come la distanza Manhattan.
Il clustering divisivo può essere definito come l'opposto del clustering agglomerante; infatti utilizza un approccio "top-down" (dall'alto verso il basso). In questo caso, un singolo cluster di dati viene diviso in base alle differenze tra i punti di dati. Il clustering divisivo non è usato comunemente, ma vale comunque la pena di annotarlo nel contesto del clustering gerarchico. Questi processi di clustering vengono solitamente visualizzati utilizzando un dendrogramma, un diagramma ad albero che documenta l'unione o la suddivisione dei punti di dati ad ogni iterazione.
Clustering probabilistico
Un modello probabilistico è una tecnica non supervisionata che aiuta a risolvere i problemi legati alla stima della densità o del clustering "soft". Nel clustering probabilistico, i punti dati sono raggruppati in cluster in base alla probabilità che appartengano a una particolare distribuzione. Il modello GMM (Gaussian Mixture Model) è uno dei metodi di clustering probabilistico più comunemente utilizzati.
- I modelli GMM sono classificati come modelli misti, il che significa che sono costituiti da un numero imprecisato di funzioni di distribuzione di probabilità. I GMM sono principalmente utilizzati per determinare a quale distribuzione di probabilità gaussiana, o normale, appartiene uno specifico elemento dati. Se sono note la media o la varianza, è possibile determinare a quale distribuzione appartiene un dato punto di dati. Tuttavia, nei GMM, queste variabili non sono note, quindi si presume che esista una variabile latente o nascosta per raggruppare i punti di dati in modo appropriato. Sebbene non sia necessario utilizzare l'algoritmo di Expectation-Maximization (EM), questo è comunemente usato per stimare le probabilità di assegnazione di un determinato punto di dati ad uno specifico cluster di dati.
Regole di associazione
Una regola di associazione è un metodo basato su regole per trovare relazioni tra variabili in un determinato dataset. Questi metodi sono usati frequentemente per l'analisi market basket, permettendo alle aziende di capire meglio le relazioni tra i diversi prodotti. Comprendere le abitudini di consumo dei clienti permette alle aziende di sviluppare migliori strategie di cross-selling e motori di consigli. Alcuni esempi di queste strategie possono essere notate nel suggerimento "I clienti che hanno acquistato questo articolo hanno anche comprato" di Amazon o nella playlist "Discover Weekly" di Spotify. Sebbene esistano diversi algoritmi utilizzati per generare regole di associazione, come Apriori, Eclat e FP-Growth, l'algoritmo Apriori è il più utilizzato.
Algoritmi Apriori
Gli algoritmi Apriori sono stati resi popolari attraverso analisi dei panieri di mercato, portando a diversi motori di consigli per piattaforme musicali e rivenditori online. Sono utilizzati all'interno di dataset transazionali per identificare set di articoli frequenti, o raccolte di articoli, per identificare la probabilità di acquistare un prodotto dato l'acquisto di un altro prodotto. Ad esempio, se ascolto la radio dei Black Sabbath su Spotify, iniziando con la loro canzone "Orchid", una delle altre canzoni su questo canale sarà probabilmente una canzone dei Led Zeppelin, come "Over the Hills and Far Away". Questo suggerimento si basa sulle abitudini di ascolto personali e di altri. Gli algoritmi Apriori utilizzano un albero di hash per contare il set di articoli, esplorando il dataset in ampiezza.
Riduzione della dimensionalità
Sebbene un numero maggiore di dati generalmente dia risultati più accurati, può anche influire sulle prestazioni degli algoritmi di machine learning (ad esempio a causa dell'overfitting) e può anche rendere difficile la visualizzazione dei dataset. La riduzione della dimensionalità è una tecnica utilizzata quando il numero di caratteristiche, o dimensioni, in un determinato dataset è troppo elevato. Riduce il numero di input di dati a una dimensione gestibile preservando il più possibile l'integrità del dataset. È comunemente usata nella fase di pre-elaborazione dei dati e ci sono alcuni diversi metodi di riduzione della dimensionalità che possono essere usati, come:
Analisi del componente principale (Principal component analysis, PCA)
L'analisi PCA è un tipo di algoritmo di riduzione della dimensionalità utilizzato per ridurre le ridondanze e comprimere i dataset tramite l'estrazione delle caratteristiche. Questo metodo utilizza una trasformazione lineare per creare una nuova rappresentazione dei dati, producendo un insieme di "componenti principali". Il primo componente principale è la direzione che massimizza la varianza del dataset. Sebbene anche la seconda componente principale trovi la massima varianza nei dati, è completamente non correlata alla prima componente principale, producendo una direzione perpendicolare, o ortogonale, alla prima componente. Questo processo si ripete in base al numero di dimensioni, in cui un successivo componente principale rappresenta la direzione ortogonale rispetto ai componenti precedenti con la maggior varianza.
Decomposizione ai valori singolari (Singular value decomposition, SVD)
L'analisi SVD rappresenta un altro approccio alla riduzione della dimensionalità che fattorizza una matrice, A, in tre matrici di basso rango. SVD è indicato dalla formula, A = USVT, dove U e V sono matrici ortogonali. S è una matrice diagonale e i valori S sono considerati valori singolari della matrice A. Alla stregua dell'analisi PCA, questa analisi viene comunemente utilizzata per ridurre il rumore e comprimere i dati, come i file di immagine.
Autoencoder
Gli autoencoder sfruttano le reti neurali per comprimere i dati e quindi ricreare una nuova rappresentazione dell'input dei dati originali. Guardando l'immagine seguente, è possibile vedere che il livello nascosto agisce da collo di bottiglia per comprimere il livello di input prima della ricostruzione all'interno del livello di output. La fase dal livello di input al livello nascosto è indicata come "codifica", mentre la fase dal livello nascosto al livello di output è noto come "decodifica".