Data science, intelligenza artificiale, machine learning, deep learning… sempre più spesso sentiamo parlare di questi termini, ma quali sono esattamente le differenze fra questi concetti?
Prima di tutto, vale la pena anticipare la principale differenza: machine learning e deep learning sono dei sottocampi dell’intelligenza artificiale e sono alcuni degli strumenti che vengono impiegati dalla data science per costruire dei modelli di analisi dei dati.
Vediamo ora nel dettaglio ognuno di questi termini.
Data science
Data science è la disciplina che estrae informazioni utili dai dati attraverso dei modelli che catturano le relazioni quantitative fra fenomeni reali.
Per esempio, a partire da un grande set di dati su tante aziende di un determinato settore, si può capire qual è la relazione matematica che lega la spesa pubblicitaria alle vendite.
Ciò avviene grazie a tecniche multidisciplinari che provengono da:
- statistica, perché fornisce gli strumenti matematici per modellare i dati;
- informatica, perché permette di processare quantità enormi di dati in tempi brevi;
- domain knowledge, dato che le conoscenze del settore in cui si applicano questi strumenti, come per esempio finanza oppure marketing, permettono di selezionare i dati più adatti per costruire modelli precisi e affidabili e utilizzare i risultati per guidare il processo decisionale.

Nonostante l’utilizzo dei dati per ricavare informazioni valide non sia un concetto nuovo, è solamente a partire da qualche anno che la conversazione riguardo a questo tema si è intensificata. Ciò è dato dal fatto che la data science negli ultimi anni ha fatto grandi passi avanti grazie ai seguenti progressi:
- la quantità di dati prodotti è aumentata esponenzialmente: infatti si parla ormai di big data (se non ti ricordi cosa sono, leggi il nostro articolo a riguardo). Si stima infatti che il tempo di raddoppio sia di due anni, ovvero ogni due anni l’ammontare di dati prodotto in tutta la storia dell’umanità fino a quel momento raddoppia. Si stima che il tempo di raddoppio possa persino arrivare a 12 ore!
- migliore potenza di calcolo e servizi in cloud: grazie a computer più potenti e al minor costo di noleggio di server per immagazzinare e processare i big data, la data science è diventata a portata di tutte le aziende che vogliono utilizzare i dati per creare valore aggiunto
- algoritmi più potenti ed efficienti: grazie all’introduzione del deep learning, cioè di reti neurali artificiali a strati, si stanno raggiungendo risultati sempre più straordinari.
Cosa fa il data scientist?
Ma quindi in cosa consiste il lavoro di un data scientist?
Supponiamo per esempio di voler classificare un lead in cliente o non cliente. Il progetto si può dividere nei seguenti step:
- Raccolta dei dati più adatti per raggiungere l’obiettivo: per esempio dati demografici e dati sulla sessione web di ogni lead.
- Elaborazione dei dati: selezione e trasformazione dei dati più rilevanti per classificare in cliente o non cliente: eg. raggruppamento delle età degli utenti in categorie, eliminazione di outliers.
- Addestramento di modelli di intelligenza artificiale: per esempio regressione logistica o decision trees, come vedremo più avanti in questo articolo.
- Interpretazione dei risultati: ad esempio possiamo quantificare l’impatto che il tempo passato su un sito e il numero di pagine visitate hanno nel determinare se un lead diventerà un cliente o no e capire così quali aspetti migliorare.
Intelligenza artificiale
AI landscape
Finalmente possiamo esplorare nel dettaglio il mondo dell’intelligenza artificiale. Con questo termine si intende quella branca dell’informatica che si occupa di progettare software capaci di imitare l’intelligenza umana, per esempio fornendo come input alla macchina una serie di istruzioni “if-then” su quale comportamento adottare in base alla situazione.

Machine learning
Il machine learning, invece, è la sottocategoria dell’AI che studia l’apprendimento automatico: in questo modo la macchina apprende dai dati in maniera autonoma, senza istruzioni esplicite.
Due esempi molto celebri sono Watson di IBM e AlphaGo di Google DeepMind, due programmi di apprendimento automatico che nel decennio precedente sono riusciti a battere l’uomo rispettivamente nel quiz televisivo Jeopardy e nel gioco del go. Il motivo per cui il machine learning in alcune applicazioni supera la performance umana risiede semplicemente nel fatto che l’AI viene addestrata su dataset di milioni di dati. In particolare, Watson aveva accesso a 200 milioni di pagine di contenuti e AlphaGo a un database di 30 milioni di mosse.
Il machine learning si divide in supervised e unsupervised learning secondo le modalità in cui l’AI apprende dai dati. Inoltre, in base alla tipologia di risultato finale, i problemi di supervised e di unsupervised learning si possono dividere in problemi di:
- regressione, se l’output da prevedere ha un dominio continuo e non discreto (eg. il valore di una casa);
- classificazione, se l’output da prevedere è una categoria (eg. email spam o non spam).
Supervised learning
Il supervised learning è una tecnica di apprendimento automatico (machine learning) che, a partire da input e output, fa apprendere alla macchina la relazione fra questi due.
Per esempio, in un problema di classificazioni di immagini, fornendo come input foto di cani e gatti e come output la corrispondente categoria (label in inglese), si addestra il computer a comprendere come catalogare le immagini in modo corretto.
Un modello molto usato per problemi supervised di regressione è la regressione lineare. Questo modello presuppone l’esistenza di una relazione lineare fra la variabile che vogliamo prevedere e la o le variabili esplicative che vogliamo usare per “spiegare” l’output.
Per esempio, supponiamo che vogliamo prevedere le vendite (asse delle ordinate) a partire dalla spesa pubblicitaria (asse delle ascisse) usando i dati a disposizione (ogni puntino blu rappresenta un valore della spesa in advertising con il corrispondente valore delle vendite per una determinata azienda o un determinato periodo di tempo). Questo equivale a trovare i valori più adatti per il coefficiente angolare e il termine noto della retta rossa nella gif sottostante e ciò avviene minimizzando la distanza fra ogni singolo dato e la retta stessa.

Un modello molto utilizzato invece in caso di classificazione supervised è il decision tree. Vediamo un esempio di churn analysis, ovvero di studio del tasso di abbandono (churner infatti è un cliente che abbandona un servizio). A partire da alcune variabili come il reddito, quanti anni fa il cliente è stato acquisito e l’età vogliamo prevedere se l’individuo abbandonerà o no il servizio di una compagnia telefonica.
Addestrare un decision tree significa trovare le variabili che garantiscano gli split in sottocategorie più adatti a ottenere delle foglie (cioè quelle parti dell’albero dalle quali non partono più rami come low, less than 3 years, more than 40 e less than 40) che siano quanto più omogenee e con minor varianza e quindi che permettano una classificazione chiara e netta.

Unsupervised learning
Unsupervised learning è una tecnica di apprendimento automatico (machine learning) che, a partire solamente dall’input, cerca di far trovare all’algoritmo l’output più rilevante.
Un esempio tipico è il clustering, ovvero il raggruppamento dei dati in categorie omogenee per esempio per segmentare i clienti. Come si può vedere nella gif sottostante, all’inizio i dati sono tutti colorati di nero, cioè non sono raggruppati. Poi pian piano l’algoritmo, utilizzando come input solo i dati e il numero di cluster che vogliamo ottenere, individua i gruppi che presentano un certo livello di omogeneità al loro interno ed eterogeneità fra diversi cluster.

Deep learning
Infine, il deep learning è la sottocategoria del machine learning che studia le reti neurali artificiali profonde, cioè un insieme di neuroni artificiali organizzati in vari strati. Ma cos’è un neurone artificiale? E’ “semplicemente” una funzione matematica che cerca di imitare il funzionamento di un neurone biologico: riceve degli input e trasmette un output.
Vediamo subito un esempio molto semplificato di supervised learning con deep learning per capire come funziona un singolo neurone: supponiamo di voler prevedere se un mutuo verrà concesso a una persona o no. Un neurone artificiale funziona così: prende come input, per esempio, il rating creditizio e il reddito annuale di una persona, moltiplica ogni input per un numero chiamato peso (weight in inglese) ed emana l’output ‘sì’ se la somma pesata raggiunge un certo valore di soglia, altrimenti emette l’output ‘no’.

Addestrare un neurone o una rete neurale significa utilizzare migliaia o milioni di dati per capire quali sono i weights adatti a classificare nel modo più corretto. Ovviamente attualmente i modelli sono molto più complicati di questo perché comprendono tantissimi neuroni, cioè appunto una rete neurale, però il discorso sull’ottimizzazione dei weights vale lo stesso. In particolare, in una rete neurale a strati i neuroni sono organizzati in:
- input layer: strato iniziale dove sono contenuti gli input (rating creditizio e rating annuale nell’ esempio sulla concessione di un mutuo);
- hidden layers: strati intermedi dove avvengono diversi tipi di calcoli;
- output layer: strato finale dov’è contenuto l’output (sì o no nell’esempio precedente).

I neuroni in una rete neurale possono essere disposti in modo da formare diverse architetture in base al compito da svolgere: per il riconoscimento di immagini si usano spesso reti neurali convoluzionali, mentre per i suoni e per i testi reti neurali ricorrenti.
Sviluppi futuri
Finora abbiamo visto come ogni rete neurale accetta un solo tipo di input (immagini, suoni, testi o numeri) e si focalizza su un solo tipo di task (riconoscere immagini, comprendere il linguaggio naturale, etc).
La nuova architettura AI Google Pathways, invece, potrebbe essere in grado di svolgere più compiti a partire da input con formati diversi.
Ciò rappresenterebbe un passo avanti nello sviluppo di un’intelligenza artificiale più veloce, efficace e simile a quella umana, in grado cioè di eseguire una miriade di compiti e di usare conoscenze pregresse per acquisire nuove skills.
