mercoledì 11 maggio 2016

Quando la topologia incontra i big data

 

I big data stanno ricevendo sempre piu’ attenzione da parte dei media,  industrie, laboratori, banche e governi per citarne alcuni. La quantita’ di dati generata ogni giorno, (dalle condizioni meteorologiche ai telefonini, dal web ai satelliti….. ) e’ enorme e molti dei database contengono centinaia e centinaia di variabili (attributi). Si tratta di insiemi cosi grandi e complessi che i metodi tradizionali di analisi  spesso falliscono. Ma allora perche’ cosi tanto interesse? Perche’ i dati contengono informazioni estremamente importanti ed interessanti. Sono delle vere e proprie’ miniere da cui estrarre l’oro (cioe’ l’informazione). Ma questa estrazione non e’ semplice e cio’ non solo a causa del numero di variabili e del numero di istanze ma anche a causa della rumorosita’ e complessita’ dei database. Facciamo un esempio ricorrendo al concetto di correlazione lineare, il cui obiettivo e’ quello di trovare la migliore retta che approssimi un insieme di punti in un piano. Qui di seguito un esempio di correlazione tra l’altezza e peso di un gruppo di persone. L’equazione della retta e’ data da Altezza(Height)=0.6*Peso(Weight)+130.2 il che significa che per esempio una persona che pesa 100 Kg sara’ alta circa 190 cm.

image

Di sicuro una linea retta e’ una forma e questa e’ adatta a rappresentare i punti del grafico. Questo pezzo di informazione e’ molto importante per diverse ragioni. Una e’ che la forma ci da’ un’informazione qualitativa mostrandoci come la variabile altezza varia direttamente con la variabile peso (cioe’ l’altezza aumenta se aumenta il peso). Un’altra e’ che essa permette di prevedere con ragionevole accuratezza una delle due variabili se conosciamo il valore dell’altra. La forma e’ alla base di una nuova metodologia che applica la topologia all’analidsi dei dati (Topology Data Analysis). Per il nostro esempio e’  la forma della linea che risulta un utile principio organizzativo per estrarre delle utili informazioni. Sfortunatamente pero’ i dati non sempre cooperano e si dispongono lungo una retta. Consideriamo, per esempio, l’insieme mostrato di seguito.

image

E’ facile capire che non c’e’ nessuna linea che possa rappresentare tali dati accuratamente. La ragione e’ che questi dati si dispongono in un insieme di tre cluster molto “stretti”. Anche se puo’ sembrare strano un aspetto fondamentale di qualsiasi forma e’ il numero di pezzi connessi in cui l’insieme puo’ essere diviso (In matematica, uno spazio topologico si dice connesso se non può essere rappresentato come l'unione di due o più insiemi aperti non vuoti e disgiunti. In modo poco formale ma abbastanza intuitivo, possiamo dire che la connessione è la proprietà topologica di un insieme di essere formato da un solo "pezzo"). In questo caso quindi la forma non puo’ essere quella di una linea ma quella di 3 pezzi connessi.

image

A questo punto potremmo pensare di procedere assumendo che quasiasi insieme di dati possa essere approssimato da una linea, da una famiglia di clusters o una famiglia di linee. Qui di seguito un altro insieme di dati che dimostra come questo non sia vero.  Chiaramente la regressione lineare (cerchio a destra) in un tale contensto e’ inutile e lo possiamo vedere grazie al fatto che ci rendiamo conto che la forma e’ circolare e cioe’ che possiamo vedere come si dispongono i punti.

image

Un altro esempio in cui la forma rassomiglia a quella di una Y. Questa e’ un’altra forma che spesso capita di incontrare nell’analisi dei big data. Il sistema ha un cuore centrale e 3 filamenti che si estendono a partire da esso. Questo puo’ rappresentare una situazione dove il cuore rappresenta il comportamento tipico e I filamenti invece dei comportamenti estremi dove il sistema sta meno frequentemente. E’ chiaro che questa forma e’ diversa da tutte le altre menzionate.

image

Esistono purtroppo infinite varieta’ di forme possibili nei dati reali e non solo quelle poche riportate fin qui come mostrato nell’immagine qui sotto.

image

E le difficolta’ non finiscono qui. Cosa succede se i punti si trovano in uno spazio a piu’ di 3 dimensioni? Come potremmo renderci conto che si tratta di un cerchio o di una linea?

O meglio: come possiamo insegnare ad un computer a trovare per esempio un cerchio?

Queste sono alcune delle questioni che emergono quando si analizzano i big data. Le risposte vengono dai campi piu’ disparati quali: machine learning, data mining, advanced statistic ecc. Ultimamente comunque come gia’ anticipato un valido contributo sembra venire dalla geometria e in particolare dalla topologia. Quest’ultima chiamata anche la “geometria dei fogli di gomma” e’ lo studio delle proprieta’ delle figure e delle forme che non cambiano quando viene effettuata una deformazione senza strappi, sovrapposizioni o incollature. Per un topologo una sfera e un cubo sono la stessa cosa. Operazioni come questa vengono chiamate deformazioni e due oggetti vengono considerati uguali se e’ possibile deformare uno nell’altro. I topologi studiano gli spazi assegnandogli degli oggetti algebrici chiamati invarianti. Nel caso particolare dell’applicazione della topologia all’analisi dei dati (TDA) l’invariante scelto e’ la cosiddetta “persistenza omologa”. L’omologia ordinaria misura il numero di “buchi” in uno spazio che non possono essere riempiti. Pensiamo ad una sfera. Se disegniamo una curva chiusa sulla sua superficie questa racchiudera’ uno disco di 2 dimensioni e potra’ avere il raggio che vogliamo anche tendente a zero. In questo senso significa che non ci sono buchi sulla superficie di una sfera altrimenti non avremmo potuto ridurre il disco fino ad avere dimensione nulla.

clip_image014

Al contrario questo non e’ vero per la superficie della sfera stessa che racchiude un “vuoto” tridimensionale che non puo’ essere riempito. I numeri di Betti contano quanti buchi non riempibili sono presenti per uno spazio di ogni dimensione.

· β0(X) e’ il numero di componenti connesse (o 0-cicli), in pratica il numero di pezzi separati di cui e’ composto lo spazio

· β1(X) conta i buchi fatti “a circonferenza” dello spazio (1-cicli come quelli di una ciambella)

· β2(X ) conta i vuoti bidimensionali dello spazio (2-cicli come quelli della sfera, del pallone o di una camera d’aria etc).

clip_image016

Qui di seguito il primo numero di Betti per le consonanti coreane.

image

Consideriamo adesso un caso bidimensionale con i dati rappresentati da un insieme discreto di punti come mostrato.

image

L’idea e’ quella di far crescere intorno ad ogni punto un disco di diametro d. Se d inizialmente e’ molto piccolo allora nessuno dei dischi s’interseca. Ma una volta che d cresce (vedi sotto) allora i dischi  iniziano a toccarsi dando origine a dei numeri di Betti diversi da zero. Osserviamo che a partire da d=d1 e fino a che d=d2, avremo un buco tra i 4 dischi cioe’ il buco persistera’ mentre d va da d1 fino a d2. Questo lo possiamo rappresentare con un grafico che prende il nome di barcode come mostrato sotto.

image

Ritorniamo adesso al caso discreto di punti introdotto prima e iniziamo a far crescere i dischi. Fermandoci ad un diametro leggermente superiore a d=1 avremo la seguente situazione. Ci sono due buchi uno in alto a sinistra all’interno del pentagono e uno in basso a destra all’interno del quadrato.

image

Quando il diametro d supera ~1.5 si forma un unico buco grande come mostrato sotto.

image

L’omologia persistente monitora i numeri di Betti utilizzando i barcode al variare del diametro d. Le barre lunghe indicano delle caratteristiche (features) dei dati che possono essere significative. Le barre corte invece spesso nascono dal rumore e possono essere scartate. Quello che si fa quindi e’ passare da una collezione discreta di punti ad una sequenza piu’ complicata di spazi che modellano meglio i dati di quanto possa fare una semplice correlazione lineare.

Gunnar Carlsson della Stanford University e’ uno dei pionieri della TDA. Insieme a dei colleghi ha fondato la compagnia AYASDI, sviluppando un software che si e’ dimostrato un valido strumento nell’analisi dei dati di banche, finanza, governo e industrie. Qui di seguito qualche esempio di applicazione. Dall’analisi di un database di una banca contenente circa 6 milioni di transazioni con circa 300 attributi il software e’ stato capace di isolare quelle fraudolente indicate in rosso.

image

Un altro esempio e’ dato dall’applicazione del software al mondo delle fabbriche di semiconduttori. Sono state analizzate piu’ di 1000 linee di produzione con circa 500 attributi per ogni linea identificando quelle con problemi di bassa qualita’ dei loro prodotti come mostrato nell’mmagine sottostante.

image

In definitiva cosa rende cosi’ potente l’applicazione della topologia nell’analisi dei dati rispetto alle tecniche piu’ tradizionali? La risposta e’ nelle seguenti 3 proprieta’ della topologia.

1. Indipendenza dal sistema di coordinate: la topologia studia le proprieta’ geometriche degli oggetti che non dipendono dal particolare sistema di riferimento utilizzato per rappresentarli

2. Invarianza rispetto alle deformazioni: la topologia studia le proprieta’ delle curve e superfici che non cambiano quando vengono stirate.

image

3. Rappresentazione compressa: la topologia costruisce delle rappresentazioni combinatorie di oggetti continui. Un cerchio (curva continua) puo’ essere rappresentato da una rete esagonale costituita cioe’ da 6 nodi e 6 spigoli (edges).

image

Nessun commento:

Posta un commento

http://www.wikio.it