fbpx

La visualizzazione dei dati nell’Intelligenza Artificiale

da | 12 Apr 2021 | Blog

Partiamo dall’assunzione di avere a disposizione tantissimi dati, raccolti da sensori, acquistati da qualche fonte o estratti da milioni di pagine web. Siamo bravissimi a immagazzinarli da qualche parte, a darli in pasto a potenti algoritmi di machine learning; tuttavia, è difficile arrivare a qualche risultato concreto senza una conoscenza profonda del loro significato.

Prendiamo ad esempio la tabella relativa alle divisioni degli abitanti per religione nei 20 stati più popolosi al mondo (la trovate a questo indirizzo), e proviamo a chiederci quale sia la nazione con più induisti al mondo. Piuttosto che scorrere la tabella ad occhio e annotare questa informazione, potremmo costruire un grafico come il seguente, dove immediatamente siamo in grado di scorgere il rettangolo rosso più grande (il grafico può essere anche dinamico, come visibile qui).

Religions in the world graph

Ed è proprio questo il punto: quando possibile, i sistemi di visualizzazione offrono rappresentazioni dei dataset pensati per aiutare le persone a prendere decisioni in maniera più efficace. La visualizzazione è lo strumento più adatto quando è necessario aumentare le capacità umane, NON a rimpiazzare le persone con algoritmi per prendere decisioni. Si tratta quindi di uno strumento molto orientato all’essere umano: non ci serve quando abbiamo una soluzione completamente automatica di cui ci fidiamo, ma se non sappiamo ancora quali siano le domande a cui vogliamo rispondere, allora ecco che diventa uno strumento di analisi insostituibile.

Perché funziona?

La rappresentazione visuale funziona perché è una possibile forma di rappresentazione esterna, in cui portiamo “le cose” dalla nostra testa verso l’esterno. In pratica rimpiazziamo la cognizione con la percezione. Prendiamo questa tabella:

E’ estremamente difficile da comprendere anche per gli addetti ai lavori: l’essere umano è capace di leggere un singolo numero, il successivo e così via ma tenere traccia di tutto nella nostra mente è impossibile perché non ne abbiamo la capacità. Una visualizzazione dei dati ci può aiutare a trovare (e a spiegare ad un altro essere umano) cosa significano quei numeri.

 Quali sono i possibili casi d’uso? 

  1. Fornire agli utenti uno strumento a lungo termine, ad esempio analisi esplorative di dati.
  2. Presentare in maniera chiara i risultati trovati. 
  3. Aiutare gli sviluppatori di modelli a trovare e raffinare parametri.
  4. Trovare rapidamente delle anomalie.

Se riusciamo a liberare la testa dalla sequenza di numeri, possiamo ambire a trovare domande di livello più alto. Guardate queste due immagini:

Fonte: halfdaycourse20 (ubc.ca

Perché nel secondo grafico c’è una maggiore concentrazione di punti verdi? E’ proprio quello che il grande fisico americano Richard Feynman raccontò a un suo intervistatore: lui pensava “sulla” carta. Il suo processo mentale si estendeva dalla sua testa verso una rappresentazione fisica delle sue idee. Un diagramma di Feynman riassume un fenomeno estremamente complesso in maniera semplice: a partire da tutti i possibili diagrammi esistenti per una data interazione si può tornare “indietro” al calcolo numerico di una probabilità.

Feynman diagram

Un altro esempio interessante è il quartetto di Anscombe, un insieme di quattro dataset che hanno identiche descrizioni statistiche ma distribuzioni dei dati completamente diverse: ciò appare evidente quando andiamo a visualizzare queste distribuzioni.

Se bastano 11 punti a generare questa confusione, cosa può succedere se i punti sono centinaia di migliaia? Se i dati cambiano in maniera estremamente dinamica? Se abbiamo dati provenienti da fonti eterogenee che si stanno mescolando? Uno sguardo semplice di un occhio umano riuscirebbe ad accorgersi subito di questa complessità.

Risolvere problemi con la visualizzazione dei dati

Attenzione però a non credere che basti una libreria di visualizzazione col suo armamentario di grafici per trovare velocemente una risposta. Ogni coppia formata da un set di dati e  da un certo numero di domande a cui vogliamo rispondere ha le proprie peculiarità, per le quali un particolare tipo di grafico che ci ha risolto problemi tante volte diventa completamente inutile.

Cosa dobbiamo fare allora quando ci troviamo ad affrontare un problema armati di un framework di visualizzazione? Esistono quattro livelli differenti da prendere in considerazione. 

Anzitutto, il livello del dominio applicativo: sappiamo quanto sia importante esserne esperti. Ciò è vero non solo nell’architettura del software: dobbiamo imparare a guardare i dati come lo fanno gli esperti del dominio. Chi sono questi esperti? Quali sono le loro aspettative? E le loro necessità? Riassumendo, avvicinarsi alla concezione del mondo secondo l’utente.

Ma poi occorre andare avanti perché tutto ciò che abbiamo imparato dal primo livello va tradotto dal linguaggio del dominio a quello della visualizzazione (o del software). Il secondo livello è quello dell’astrazione. Astrarre i dati (capire ciò che va visualizzato) e astrarre le domande (perché l’utente è interessato a quei dati). L’aspetto più affascinante delle astrazioni si evidenzia quando troviamo similitudini in campi completamente diversi: finanza e astrofisica, calcio e agricoltura, etc. Anche se i vocabolari specifici sono molto diversi, scopriamo che dal punto di vista della visualizzazione sono domini molto simili. Dunque, invece di trovare soluzioni a casaccio, dovremmo capire se abbiamo già incontrato in passato un’astrazione simile.

Il terzo livello è quello del linguaggio (o livello tecnico secondo altre definizioni): come mostrare il dato, mentre il quarto livello è quello dell’algoritmo: pensare a una computazione efficiente per la visualizzazione dei dati.

Ogni livello nasconde insidie che vanno risolte

  1. Dominio: non abbiamo compreso le necessità dell’utente
  2. Astrazione: stiamo mostrando la cosa sbagliata
  3. Linguaggio: la maniera in cui stiamo mostrando i dati è sbagliata
  4. Algoritmo: il codice è troppo lento

Non è banale, perché, mentre abbiamo studiato tecniche per rendere i nostri algoritmi più veloci, non possiamo dire di essere anche esperti di psicologia cognitiva. Come capire se stiamo usando il linguaggio sbagliato? Se stiamo disegnando i dati in una maniera che non funziona per la percezione umana? E i primi due livelli? Possiamo dire di essere esperti di antropologia e/o etnografia? Un contadino, un operaio, un impiegato, sono tutti utenti estremamente diversi.

Date un’occhiata a questi siti web giornalistici, nei quali la visualizzazione dei dati è usata in maniera magistrale per fornire un supporto ai lettori.

Conclusioni

Sperando di avervi incuriosito sull’importanza di questo strumento per risolvere problemi, penso sia chiaro che alla base della preparazione dei dati per il nostro machine learning c’è sempre una componente umana, l’unica in grado di discernere l’importanza di un dato per risolvere il nostro problema. 

La rappresentazione grafica dei dati è quindi lo strumento principale in questa fase, proprio perché aiuta l’essere umano a individuare le domande, i problemi risolvibili e quelli che non trarrebbero valore dai dati che sta guardando. 

Ennesima dimostrazione che l’intelligenza artificiale da il meglio di sé quando lavora con quella umana, continuando a essere un supporto e non un sostituto.

Continuate a seguirci!

Scritto da

Scritto da

Salvatore Sorrentino