Introduzione al Machine Learning: un approccio pratico per capirne le logiche di funzionamento
Negli ultimi anni, i termini “Intelligenza Artificiale” (AI) e “Machine Learning” (ML) sono diventati sempre più comuni in ambito medico. Tuttavia, per molti, questi concetti rimangono avvolti in un’aura di complessità e mistero. L’obiettivo di questo capitolo è fornire una spiegazione semplice, ma precisa, di cosa sia il Machine Learning e come possa essere applicato nel campo della medicina, rendendo comprensibili i suoi principi fondamentali.
Intelligenza Artificiale e Machine Learning: Una Definizione Operativa
L’Intelligenza Artificiale è un ramo dell’informatica che mira a creare sistemi in grado di svolgere compiti tipicamente associati all’intelligenza umana, come il riconoscimento di immagini, la comprensione del linguaggio naturale e la presa di decisioni. All’interno dell’AI, il Machine Learning è una sotto-disciplina che si occupa di sviluppare algoritmi in grado di “apprendere” dai dati. In altre parole, invece di programmare una soluzione specifica, addestriamo un sistema fornendogli dati ed esempi, in modo che possa imparare autonomamente a risolvere problemi simili in futuro.
Esempio Pratico: Classificazione della Maturità delle Banane
Per spiegare il funzionamento del Machine Learning, consideriamo un esempio concreto: insegnare a una macchina a classificare se una banana è matura o acerba. Per farlo, raccogliamo due caratteristiche principali della banana: il colore (quanto è gialla) e la consistenza (quanto è morbida).
Durante la fase di addestramento, forniamo alla macchina molti esempi di banane, indicando per ciascuna se è matura o acerba, insieme alle sue caratteristiche. Ogni banana rappresenta un punto dati, che viene posizionato in un diagramma con due assi: il colore sull’asse X e la consistenza sull’asse Y. Dopo aver fornito un numero sufficiente di esempi, la macchina è in grado di tracciare una linea decisionale che separa le banane mature da quelle acerbe. Questa linea è il “modello” che il sistema ha appreso dai dati.
Applicazione del Modello
Dopo l’addestramento, possiamo testare il modello su una nuova banana della quale non conosciamo lo stato di maturazione. Inseriamo i suoi dati (colore e consistenza) e la macchina confronterà questi valori con il modello appreso, prevedendo se la banana è matura o acerba. Questo processo di classificazione è il risultato dell’apprendimento automatico.
Machine Learning Supervisionato e Non Supervisionato
Il processo appena descritto rientra nel cosiddetto “apprendimento supervisionato“, poiché forniamo alla macchina sia i dati (input) sia le etichette (output), come “matura” o “acerba”. Esiste anche una modalità di apprendimento chiamata “non supervisionato“, in cui il sistema riceve solo i dati e deve trovare autonomamente delle strutture o correlazioni all’interno di essi. Questo tipo di apprendimento può essere utile, ad esempio, per identificare nuovi gruppi di pazienti con sintomi simili.
È molto semplice capire che più aumenta il numero di esempi (di dati) che forniamo alla macchina, e più il modello diventa preciso, perché la linea decisionale può essere “guidata“ da una nube più fitta di pallini nel diagramma.
Esistono, inoltre, diverse metodologie per far evolvere continuamente il modello, ad esempio grazie a misurazioni e relativi feedback, anche successivamente alla fase di addestramento.
Il concetto di “overfitting”
Perché la linea decisionale non va a circondare esattamente i pallini delle misurazioni come segue (la curva rossa come alternativa al tratto lineare viola)?
Se la linea si comportasse in questo modo, non si tratterebbe di un confine che generalizza le misurazioni e descrive un andamento: l’apprendimento sarebbe troppo “cucito sui dati“ di training. Questo renderebbe il modello poco affidabile per prendere delle decisioni su nuovi dati. Tale fenomeno prende il nome di “overfitting“.
In linea di massima, quindi, abbiamo capito come la macchina apprende dai dati per riuscire a prendere delle decisioni.
Nell’esempio delle banane, tuttavia, abbiamo considerato soltanto due tipologie di dato (o features), ovvero il colore e la morbidezza. Per rendere il sistema più affidabile nel dare una risposta, potremmo voler aggiungere altre misurazioni, ad esempio se sono presenti macchie nella buccia, da quanto tempo sono state raccolte, le dimensioni, e centinaia di altri dati.
Ed è proprio in questo che l’Intelligenza Artificiale, grazie al Machine Learning, riesce a superare le nostre capacità: senza questi algoritmi non riusciremmo a gestire una quantità di dati e di features tali da rendere un modello affidabile.
Più aggiungiamo features per aumentare le osservazioni e quindi più aumentiamo l’affidabilità della decisione del modello, e più la sua rappresentazione (dal punto di vista matematico) diventa complessa, rendendo necessarie funzioni matematiche strutturate.
Classificazione o Regressione?
Classificazione e regressione sono due tipologie di problemi che possono essere affrontati attraverso il Machine Learning.
Nella classificazione, abbiamo input discreti (valori ben definiti) e un output discreto. Ad esempio diamo in input le caratteristiche di un animale e otteniamo in output se l’animale è un cane o un gatto (quindi un’etichetta ben definita, senza vie di mezzo). E l’esempio delle banane che abbiamo visto rappresenta proprio una classificazione: la banana ha un livello di giallo e di morbidezza (input discreti) e può essere matura o acerba (output discreto).
Nella regressione, abbiamo un input continuo, e un output continuo. Ad esempio, diamo in input le dimensioni di un immobile e otteniamo in output l’andamento del prezzo.
Una regola molto semplice (con una buona dose di compromessi) per capire, in base ai dati a disposizione e alla risposta che vogliamo ottenere, se abbiamo bisogno di un classificatore o di un regressore è la seguente:
se ciò che vogliamo ottenere è una caratteristica ci servirà un classificatore, se invece è un valore numerico, avremo bisogno di un regressore.
Andiamo, quindi, a vedere un semplice esempio di come funziona il Machine Learning per risolvere un problema di regressione.
Come si stima il prezzo di una casa? Un esempio di regressione
Supponiamo di voler addestrare una macchina a definire il prezzo di una casa, e di avere a disposizione anni di preventivi di immobili.
Partiamo con un addestramento molto semplice in cui andiamo a spiegare alla macchina come si associa la dimensione della casa con il prezzo.
Nell’immagine che segue, quindi, sulla sinistra vediamo la tabella con i dati storici che associano la dimensione al prezzo.
I dati di training per il modello che dovrà stimare il prezzo delle case
A destra, invece, un diagramma traccia le associazioni, mostrando come varia il prezzo (asse y) nei confronti della dimensione (asse x).
Come abbiamo visto in precedenza, la fase di addestramento consente di definire il modello, che in questo caso potremmo identificare non più come un “confine decisionale“, ma come un “andamento di predizione“.
Questo significa che la linea di andamento sarà quella di riferimento per le stime del prezzo delle case in relazione alla dimensione.
Due modelli di Machine Learning che prendono vita dai dati di addestramento
L’immagine mette a confronto due modelli di esempio: uno rappresentato da una retta, l’altro da una parabola. Qual è la differenza tra i due? Credo sia abbastanza evidente che la parabola rappresenta molto meglio l’andamento dei dati.. quindi li generalizza in maniera più efficiente.
Andando a calcolare l’errore dei due modelli rispetto ai dati di addestramento, ovvero la distanza tra i dati e la linea che li generalizza, quello della retta è circa il doppio di quello della parabola. Questo dimostra che quest’ultima rappresenta il modello migliore.
Come si arriva alla curva di andamento?
Nell’immagine precedente, abbiamo visto come la retta e la parabola siano già aderenti ai dati di addestramento. Tuttavia all’inizio del training non siamo in questa situazione.
Quelle che seguono sono le fasi di miglioramento del modello durante l’apprendimento. Nel diagramma numero 1, come si vede, partiamo da una retta del tutto casuale. Grazie a degli algoritmi è possibile calcolare l’errore della retta rispetto ai dati, ovvero quanto i dati sono lontani dalla retta che mira a generalizzarli. In base a questo valore è possibile determinare cosa deve cambiare nella funzione matematica della retta per far sì che questa si avvicini ai punti. E questo è quello che si può osservare dal diagramma numero 2 al numero 6.
Le fasi di apprendimento del modello di Machine Learning
Il diagramma numero 6, per questo modello (la retta), rappresenta la miglior rappresentazione, ovvero la miglior generalizzazione dei dati. Come abbiamo visto prima, in realtà, un altro modello (la parabola) li rappresenterebbe meglio, ma ci fermiamo questo esempio per mantenere la semplicità.
Ma torniamo alla stima del prezzo delle case..
Portando quello che abbiamo visto in questi paragrafi al nostro esempio, quindi, una volta trovata la linea che generalizza i dati di dimensione delle case in relazione al prezzo, la nostra macchina sarà perfettamente in grado di prevedere il prezzo di qualsiasi casa a partire da una dimensione.
Come nell’esempio delle banane, la semplificazione che abbiamo mantenuto fino a questo momento è elevatissima, perché, abbiamo considerato un solo parametro (feature) per la stima del prezzo, ovvero la dimensione. Ma nella realtà, i dati da considerare per il prezzo di un immobile sono molti di più, e tengono conto, ad esempio, dell’anno di costruzione, della posizione, del numero di bagni, della distanza dalla fermata dell’autobus, delle ristrutturazioni, delle dimensioni del giardino, della classe energetica, ecc..
In generale, al netto dell’esempio, possiamo arrivare ad avere milioni di parametri sui quali un modello di Machine Learning deve cercare di generalizzare e rappresentare un andamento o un raggruppamento.
Spesso si sente dire che il Machine Learning è una scatola nera nella quale non è possibile osservare l’interno. Si tratta di un’affermazione imprecisa. La realtà è che sarebbe troppo complesso da comprendere e da rappresentare.
Supervisionato, non supervisionato, per rinforzo
Gli esempi che abbiamo visto, distinguono due tipologie di problemi che gli algoritmi di Machine Learning possono risolvere (classificazione e regressione).
Possiamo caratterizzare tali algoritmi anche attraverso un’altra distinzione che si basa sulla modalità di apprendimento.
Possiamo definire le seguenti modalità.
Apprendimento supervisionato. Vengono dati all’algoritmo gli input e l’output che dovrebbe produrre partendo da quei dati. La fase di training consente di determinare il modello matematico (es. la linea di previsione o decisionale) che correla ingressi e uscite, permettendo di effettuare analisi e predizioni. Gli esempi visti precedentemente fanno parte di questa tipologia. Abbiamo dato alla macchina molti esempi di associazione tra colore delle banane, consistenza (input) e lo stato di maturazione (output) e la macchina ha imparato autonomamente a prendere una decisione.
Apprendimento non supervisionato. In questo caso è l’algoritmo che, partendo dagli input, ha l’obiettivo di trovare correlazioni tra i dati riuscendo ad organizzarli autonomamente.
Apprendimento per rinforzo. Vengono dati all’algoritmo gli input con le azioni che può effettuare e un punteggio (score) di riferimento. La macchina mette in atto delle strategie che vanno a migliorare costantemente il punteggio. L’analogia è quella del topolino nel labirinto, il quale è stimolato dal premio (il formaggio) per trovare il percorso migliore.
Machine Learning: le diverse tipologie di apprendimento
Deep Learning
Quando la complessità dei problemi da risolvere diventa molto elevata (es. nel riconoscimento delle immagini) ed abbiamo la necessità di elaborare milioni di input si ricorre ad architetture algoritmiche più complesse come le reti neurali artificiali. In questo caso, entriamo nel dominio del Deep Learning.
Il Deep Learning è un sottoinsieme del Machine Learning, e si tratta di una famiglia di algoritmi che serve a strutturare delle funzioni matematiche basate sulle reti neurali per ottenere dei modelli predittivi estremamente efficienti su svariati tipi di dati.
Di certo non possiamo affermare che le reti neurali si comportano come le reti di neuroni del nostro cervello, tuttavia ne prendono ispirazione.
Per semplificare il concetto, possiamo dire i diversi neuroni artificiali vanno a specializzarsi su determinate tipologie di correlazioni tra gli input, e i diversi strati di neuroni successivi si specializzano su “correlazioni delle correlazioni“ derivanti dallo strato precedente.. fino ad ottenere un output che proviene dall’elaborazione di tutta la rete di neuroni.
Grazie a diverse strutture di reti neurali artificiali, è possibile affrontare diverse tipologie di problemi.
Per iniziare ad approfondire l’argomento partendo da zero, consiglio la serie di video che inizia con quello che segue.
Deep Learning: introduzione alle reti neurali (RN)
Il seguente schema rappresenta un buon metodo per comprendere e ricordare il rapporto tra Intelligenza Artificiale (AI), Machine Learning (ML) e Deep Learning (DL).
Intelligenza Artificiale, Machine Learning, Deep Learning: come si relazionano?
La computer vision, ad esempio, è un campo dell’Intelligenza Artificiale e usa il Machine Learning per addestrare il sistema a riconoscere determinati elementi nei contenuti visuali. In particolare, utilizza il Deep Learning perché sono necessarie strutture efficienti come le reti neurali (RN) per elaborare i milioni di dati in input.
Conclusioni
Il Machine Learning ha il potenziale di trasformare la pratica medica, migliorando la diagnosi, personalizzando le terapie e supportando le decisioni cliniche. Ad esempio, un algoritmo potrebbe essere addestrato a riconoscere schemi all’interno di immagini diagnostiche per rilevare segni precoci di malattie, oppure a prevedere l’efficacia di un trattamento basato su un’ampia gamma di dati clinici e anamnestici. Mentre la complessità tecnica può sembrare elevata, gli strumenti basati sul Machine Learning sono destinati a diventare sempre più intuitivi e integrati nella pratica clinica quotidiana.









