Che cos'è il clustering?

Quando stai cercando informazioni su qualcosa, ad esempio musica, un approccio potrebbe essere quello di cercare gruppi o raccolte significative. Potresti organizzare la musica per genere, mentre il tuo amico potrebbe organizzare la musica per decennio. La scelta di raggruppare gli elementi ti aiuta a comprenderli meglio come singoli brani musicali. Potresti scoprire una grande affinità per il punk rock e suddividere ulteriormente il genere in diversi approcci o ascoltare musica da diverse località. D'altra parte, un amico potrebbe ascoltare la musica degli anni '80 e riuscire a capire in che modo la musica di quel genere era influenzata dal clima sociopolitico. In entrambi i casi, tu e il tuo amico avete imparato qualcosa di interessante sulla musica, anche se avete adottato approcci diversi.

Anche nel machine learning, spesso raggruppiamo gli esempi come primo passaggio per comprendere un argomento (set di dati) in un sistema di machine learning. Il raggruppamento di esempi senza etichetta è chiamato clustering.

Poiché gli esempi non hanno etichettazioni, il clustering si basa sul machine learning non supervisionato. Se gli esempi sono etichettati, il cluster diventa classificazione. Per una discussione più dettagliata sui metodi supervisionati e non supervisionati, consulta la pagina Introduzione alla risoluzione dei problemi di machine learning.

Un grafico che mostra tre cluster
Figura 1: esempi senza etichetta raggruppati in tre cluster.

Prima di poter raggruppare esempi simili, devi trovare esempi simili. Puoi misurare la somiglianza tra gli esempi combinando i dati delle caratteristiche degli esempi in una metrica, chiamata misura di somiglianza. Quando ogni esempio è definito da una o due funzionalità, è facile misurare la somiglianza. Ad esempio, puoi trovare libri simili dei loro autori. Man mano che il numero di funzionalità aumenta, creare una misura di somiglianza diventa più complessa. Più avanti vedremo come creare una misura di somiglianza in vari scenari.

Utilizzi del clustering

Il clustering ha una miriade di utilizzi in diversi settori. Alcune applicazioni comuni per il clustering includono:

  • segmentazione del mercato
  • analisi dei social network
  • raggruppamento di risultati di ricerca
  • diagnostica per immagini
  • segmentazione delle immagini
  • rilevamento di anomalie

Dopo il cluster, a ogni cluster viene assegnato un numero chiamato ID cluster. Ora puoi condensare l'intero set di funzionalità per un esempio nel suo ID cluster. Rappresentare un esempio complesso mediante un semplice ID cluster rende il clustering avanzato. Estendendo l'idea, il clustering dei dati può semplificare set di dati di grandi dimensioni.

Ad esempio, puoi raggruppare gli elementi in base a diverse funzionalità, come dimostrato negli esempi seguenti:

Esempi
  • Raggruppa le stelle in base alla luminosità.
  • Raggruppa gli organismi per informazione genetica in una tassonomia.
  • Raggruppare i documenti per argomento.

I sistemi di machine learning possono quindi utilizzare gli ID cluster per semplificare l'elaborazione di set di dati di grandi dimensioni. Pertanto, l'output del clustering funge da dati delle funzionalità per i sistemi ML a valle.

In Google, il clustering viene utilizzato per la generalizzazione, la compressione dei dati e la conservazione della privacy in prodotti come video di YouTube, app Google Play e brani musicali.

Generalizzazione

Quando alcuni esempi in un cluster hanno dati sulle caratteristiche mancanti, puoi dedurre i dati mancanti da altri esempi nel cluster.

Esempio
I video meno popolari possono essere raggruppati in video più popolari per migliorare i suggerimenti relativi ai video.

Compressione dati

Come già accennato, i dati delle caratteristiche per tutti gli esempi in un cluster possono essere sostituiti dall'ID del cluster pertinente. Questa sostituzione semplifica i dati delle funzionalità e consente di risparmiare spazio di archiviazione. Questi vantaggi diventano significativi se adattati a set di dati di grandi dimensioni. Inoltre, i sistemi di machine learning possono utilizzare l'ID cluster come input anziché l'intero set di dati delle funzionalità. Ridurre la complessità dei dati di input rende il modello ML più semplice e veloce da addestrare.

Esempio
I dati delle funzionalità per un singolo video di YouTube possono includere:
  • Dati degli spettatori su località, ora e dati demografici
  • Dati dei commenti con timestamp, testo e ID utente
  • tag video
Il clustering di video di YouTube ti consente di sostituire questo insieme di funzionalità con un singolo ID cluster, comprimendo così i tuoi dati.

Conservazione della privacy

Puoi preservare la privacy raggruppando gli utenti e associando i dati utente agli ID cluster anziché a utenti specifici. Per garantire che non sia possibile associare i dati utente a un utente specifico, il cluster deve raggruppare un numero sufficiente di utenti.

Esempio
Supponiamo che tu voglia aggiungere al modello la cronologia video degli utenti di YouTube. Invece di fare affidamento sullo User-ID, puoi raggruppare gli utenti e affidarti allo User-ID. Ora il modello non può associare la cronologia video a un utente specifico, ma solo a un ID cluster che rappresenta un ampio gruppo di utenti.