Un inizio lontano nel tempo…

Voglio raccontarvi una storia, la mia storia personale. Una storia che dura 13 anni e che parrte molto indietro nel tempo!

Man with laptop analyzing infographics. Diagram, bar chart, report flat vector illustration. Analysis, marketing, project manager concept for banner, website design or landing web page

Nel lontano 2009 ho seguito il mio primo corso di probabilità e statistica all’università. Ero affascinato da quella materia anche se non ne capivo un gran che (ancora adesso non ne capisco molto a dire il vero).  Una delle poche cose che ricordo di quel lungo ed interminabile corso è l’interpolazione lineare.

Come funziona l’interpolazione lineare? Per farla breve (questo post non vuole parlare di interpolazione lineare) quello che l’interpolazione lineare fa è: dato un insieme di coppie di valori (xi,yi) si trova un equazione che approssima questi dati. L’equazione utilizzata è del tipo

$$ax+by+c=0$$

scritta anche come

$$y=mx+k$$

L’equazione è quella di una retta sul piano e per questo si parla di lineare. Lo scopo di questa operazione è trovare una relazione che lega tra loro i dati. Ovviamente, una volta ottenuta l’equazione che approssima i dati in maniera soddisfacente possiamo anche utilizzare tale equazione per fare delle previsioni con tutti i limiti che l’interpolazione (o estrapolazione se siamo al di fuori del dominio di dati) comporta.

… ed eccoci al 2019

Quando nel 2019 mi sono avvicinato al mondo del machine learning ho approcciato con cautela quello che è l’apprendimento supervisionato. In questa categoria ricadono tutti i metodi di apprendimento in cui si ha controllo sia degli input che degli output. Tra i metodi di machine learning ad apprendimento supervisionato quello a cui mi sono avvicinato per primo è la regressione lineare.

Come funziona la regressione lineare? Immaginiamo di prendere un insieme di coppie di valori (xi,yi) e dividerlo in due sottoinsiemi che, per esempio, contengono rispettivamente il 70% e il 30% dei dati a disposizione. Cosi se abbiamo 100 coppie nel primo insieme metteremo 70 coppie e nel secondo 30, semplice vero?

Di questi due insiemi useremo il primo per addestrare il nostro algoritmo di machine learning in questo caso la regressione lineare e useremo il secondo insieme per verificare l’accuratezza predittiva del nostro algoritmo. Il pezzo di informazione che manca è che la regressione lineare si basa su un modello del tipo:

$$ax+by+c=0$$

E qui mi sono sorti i primi dubbi!

Il grande dubbio!

Dunque, statistica e machine learning sono la stessa cosa?

L’interpolazione lineare e la regressione lineare sono sicuramente due cose diverse ma molto simili tra di loro, entrambe usano lo stesso modello lineare di base ed entrambe lavorano per approssimare un insieme di dati a disposizione. Nel caso della regressione lineare abbiamo un approccio complicato dal fatto di dividere il set di dati iniziale in due sottoinsiemi ma ad un occhiata veloce le similitudini sono certamente maggiori delle differenze. Per questo motivo nella mia testa (e spero di non essere l’unico!) è sorto il dubbio che fondamentalmente il machine learning non sia altro che statistica ricoperta di una dolce glassa di ciccolato al fine di renderla più appetitosa.

Ovviamente i mega-super esperti di machine learning e statistica saranno pronti a commentare nel modo più cattivo possibile sottolineando come si possa essere tanto ignoranti da confondere le due cose. Abbiate un attimo di pazienza prima di scatenare l’inferno. Quello che per molti può sembrare una divisione ovvia non lo è per chi si approccia per la prima volta al mondo del machine learning e di certo non lo era al me del 2019!

… sveliamo l’arcano!

Molte letture dopo e tre anni dopo devo dire che la differenza tra i due concetti è molto più concettuale e sottile di quanto molte persone vogliano farci credere. Al tempo stesso questa differenza è facile da cogliere se uno sa dove guardare.

Per chi volesse andare subito al sodo senza troppi fronzoli possiamo dire che la differenza tra statistica e machine learning sta nel campo di applicazione.

Per chi, invece, volesse una risposta più dettagliata possiamo dire che la differenza tra statistica e machine learning sta nel campo di applicazione. Non ve lo aspettavate vero? La verità è che questa è la miglior risposta che si possa dare senza doversi addentrare nei meandri della statistica (cosa che non vi consiglio affatto) o del machine learning (cosa sicuramente più piacevole ma non priva di rischi). Volendo complicare un pochino la risposta di prima possiamo dire che la statistica si occupa di inferenza mentre il machine learning si occupa di fare predizioni.

Oppure possiamo dire che la statistica si concentra sulla relazione tra i dati minimizzando l’errore commesso durante la fase di interpolazione mentre il machine learning si focalizza sulla predizione dei valori fregandosene della relazione che intercorre tra i dati.

Diverse parole stesso concetto.

Sempre più a fondo…

Non a caso il paragone è stato fatto con l’analisi di regressione lineare. Questa più di tutti gli altri metodi presenta molte similitudini rispetto all’analisi statistica, usa gli stessi mattoncini di base ma li combina in modo leggermente differente.

Nella statistica, come detto anche prima, andiamo a trovare dei coefficienti m e k tali da minimizzare l’errore tra le x e y dei dati a nostra disposizione. Abbiamo un intero set di dati su cui lavorare e quello che vogliamo fare è trovare un modello che sia giusto per l’intero set di dati. La forza di un modello di questo tipo non è nella predizione, infatti minimizzare l’errore sui dati a disposizione non ci dice nulla sulla capacità predittiva del modello stesso. La forza di questo modello sta nel trovare una relazione tra i dati, di evidenziare le similitudini e le differenze, di mettere in risalto quali sono i punti di collegamento tra i dati. Il punto forte di questo modello, per l’appunto, è fare inferenza statistica.

Nel caso del machine learning quello che noi facciamo è dimenticarci dei dati, dimenticarci di trovare una relazione tra di loro e concentrarci solo sulla predizione di nuovi valori. Per questo motivo dividiamo il set di dati in due sotto insiemi, uno utilizzato per l’addestramento del modello e un secondo usato per la sua validazione. In questo caso il primo set di dati per noi è irrilevante (o meglio è rilevante nella misura in cui sia adeguato ad addestrare il modello) mentre il secondo set di dati, quello di validazione, diventa il cardine del nostro modello. Quello che chiediamo al nostro modello di machine learning e di fare qualsiasi cosa in suo potere al fine di massimizzare l’accuratezza dei dati predetti.

Chiudiamo il tutto con un pareggio!

Volendo essere ancora più pratici immaginiamo il seguente scenario composto da due persone che lavorando sullo stesso set di dati ma con due scopi differenti. Il primo, un ricercatore, ha bisogno di analizzare e capire i dati al fine di scrivere la sua tesi di dottorato. Il secondo, responsabile di un officina, ha bisogno di analizzare i dati per predire l’andamento di tali dati in futuro e pianificare per tempo gli interventi da svolgere.

Confused Messed Up Chaos Critical Situation Word Graphic

Quale approccio userà il ricercatore e quale il nostro responsabile di officina? A questo punto la risposta dovrebbe essere scontata. Il nostro ricercatore sarà più propenso all’uso di un metodo statistico che lo aiuti ad evidenziare le ralazioni tra i dati al fine di poter capire tale relazione e scirvere la sua tesi. Il nostro responsabile di officina, invece, userà un modello di machine learning in quando per nulla interessato a capire la relazione che intercorre tra i dati ma solo interessato ad avere una predizione accurata del futuro al fine di non sbagliare pianificazione ed essere licenziato.

Prima di chiudere questo post va anche fatto notare che il machine learning in qualche modo si basa sui concetti di statistica e di inferenza. Il machine learning è fatto di dati e questi dati vengono manipolati utilizzando la statistica e questa è la relazione che sussiste tra i due campi. Questo ovviamente non vuol dire che siano la stessa. Ancora non siete convinti? Vi lascio con un ultimo esempio.

La termodinamica. La termodinamica si basa sulla statistica, in termodinamica i concetti di pressione e temperatura sono concetti statistici associati ad un elevato numero di particelle. Non abbiamo modo di conoscere e tracciare la temperatura di ogni singola particella possiamo solo monitorare il comportamento globale di un insieme di particelle (un volume finito) e assegnare a tale gruppo un valore di temperatura che è un valore statistico. Nonostante ciò, nonostante la termodinamica sia ancora più intrecciata alla statistica di quanto non lo sia il machine learning a nessuno verrebbe in mente di dire che statistica e termodinamica sono la stessa cosa. Semplicemente la termodinamica fa suoi alcuni concetti della statistica estendendoli per creare una scienza del tutto nuova; lo stesso fa il machine learning.

Ed eccoci finalmente giunti alla fine di questo lungo viaggio! Siamo partiti dal lontano 2009 con la statistica, per poi saltare al 2019 e l’arrivo nella mia vita del machine learning; infine ci sono voluti altri 3 anni fino al 2021 per poter concludere il nostro viaggio con una risposta soddisfacente. Spero che per i pochi coraggiosi giunti fino alla fine sia stato un viaggio altrettanto interessante. Spero che questo post sia servito a rendere la vita più semplice per qualcuno aiutandolo a svelare finalmente l’incredibile arcano che unisce statistica e machine learning.

CC BY-NC-SA 4.0
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.