Dimensionality reduction, che cos’è?

Cos’è la dimensionality reduction? Siamo siamo sempre di più sommersi dai dati. Non a caso sentiamo parlare di big data sempre più spesso, anche se molto volte questo termine viene usato impropriamente. In questo articolo analizzeremo le principali tecniche di dimensionality

È importante quindi sfruttare i dati a nostro vantaggio, così come fanno le big tech company come Google e Facebook, ma come possiamo fare?

Curse of dimensionality

Uno dei problemi più grandi dei big data viene chiamato curse of dimensionality: abbiamo troppi dati a disposizione e non sappiamo come estrarre le informazioni importanti.

Esempio: l’occhio umano à in grado di percepire solo 3 dimensioni, come faccio a rappresentare graficamente un dato a più dimensioni?

Per affrontare questo problema vengono in soccorso delle metodologie di Dimensionality reduction come PCA, MDS (multidimensional scaling) o t-SNE.

Come possiamo creare grafici di dati multidimensionali?

PCA: dimensionality reduction con la minimizzazione di covarianza

dimensionality reduction PCA
Principal Component Analysis

Applichiamo una trasformazione lineare delle variabili (Xs) che proietta quelle originarie in un nuovo sistema cartesiano in cui la variabile con la maggiore varianza viene proiettata sul primo asse, la variabile nuova, seconda per dimensioni della varianza, sul secondo asse e così via.

In questo primo step però la dimensione del singolo punto rimane identico, c’è solo un cambio di coordinate (ortogonalizzazione). La riduzione delle dimensione avviene introducendo un errore. Al posto di considerare tutte le coordinate, prendiamo solo le prime k (generalmente k=2 o k=3) che hanno la maggiore varianza.

Può esserci d’aiuto perchè generalmente analizziamo i dati per trovare cluster, outliers o trends e quindi i le coordinate a bassa varianza possono essere poco utili.

In Python è molto facile applicare questa tecnica utilizzando la libreria sklearn (PCA doc).

Standardizzazione e scaling

Durante il processo di manipolazione dei dati molto spesso è importante effettuare la standardizzazione e lo scaling dei dati.

La standardizzazione è un procedimento che riconduce una variabile aleatoria distribuita secondo una media μ e varianza σ2, ad una variabile aleatoria con distribuzione “standard”, ossia di media zero e varianza pari a 1.

Per capire meglio la tecnica di PCA consiglio di studiare le nozioni base di varianza e matrice di covarianza, in quanto PCA si riconduce semplicemente alla minimizzazione della matrice di covarianze, trasformando quest’ultima in una matrice diagonale.

dimensionality reduction, matrice di covarianza
Esempio di matrice di covarianza

Ruolo di PCA nell’ InfoVis

PCA nell’InfoVis viene utilizzato soprattutto per:

  • osservare e scoprire clusters
  • identificare outliers
  • “triggerare” l’interazione selezionando punti (items) simili.

MDS: dimensionality reduction attraverso misura di somiglianza

Multidimensional Scaling

Il multidimensional scaling (MDS) è un mezzo per visualizzare il livello di somiglianza dei singoli casi di un set di dati. MDS viene utilizzato per tradurre “le informazioni sulle ‘distanze‘ a coppie tra un insieme di n oggetti o individui” in una configurazione di n punti mappati in uno spazio cartesiano astratto.

Wikipedia

L’input è un insieme di I elementi {t1, …, tI } su uno spazione Rn . Utilizza una matrice di dissimilarità (dissimilarity matrix) come ad esempio la distanza euclidea tra gli I elementi.

L’obiettivo è quello di trovare un mapping (transformazione) tale che la distanza è simile al coefficiente di dissimilarità

Praticamente

  1. Creiamo una matrice di dissimilarità, assegnando un punteggio di similarità ad ogni coppia di elementi (attribuiremo 0 a coppie totalmente differenti).
  2. Formuliamo un problema di ottimizzazione con la seguente funzione di costo:
dimensionality reduction MDS
problema di ottimizzazione MDS

Falsi positivi e falsi negativi

Quando utilizziamo PCA e MDS basandoci sulla distanza euclidea

Falsi positiviFalsi negativi
PCASiNo
MDSSiSi

t-SNE: dimensionality reduction non lineare

(t-distributed (Stochastic Neighbor Embedding)

  • Dimensionality reduction non lineare
  • Molto simile a MDS: usa il concetto di similarità tra punti in Rn
  • È differente rispetto la MDS euclidea, in quanto la similarità non è lineare e non è la distanza euclidea

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *