Machine Learning (ML): Apprendimento Supervisionato, Non Supervisionato e per Rinforzo

Tempo di lettura: 13 min

Per oltre cinquant’anni, l’informatica ha seguito un principio deterministico inflessibile: la programmazione tradizionale. In questo modello classico, un programmatore umano analizza minuziosamente un problema, immagina in anticipo ogni possibile scenario, e scrive una sequenza rigida di istruzioni logiche esplicite (SE accade X, ALLORA fai Y, ALTRIMENTI fai Z). Il computer si limita a eseguire con cieca precisione le regole dettate dall’uomo.

Tuttavia, questo approccio si dimostra del tutto impotente di fronte a compiti percettivi o complessi del mondo reale: come faresti a scrivere a mano le regole logiche matematiche per descrivere la forma di un gatto all’interno di una fotografia da tre milioni di pixel, tenendo conto di tutte le possibili angolazioni, ombre, razze e colori del pelo? L’essere umano impiegherebbe decenni a codificare milioni di eccezioni, fallendo al primo gatto parzialmente nascosto da un cuscino.

La risposta scientifica che ha scardinato questa barriera è il Machine Learning (ML – Apprendimento Automatico). Invertendo radicalmente il paradigma computazionale classico, non insegniamo più al computer le regole da seguire: forniamo al computer enormi moli di dati ed esempi concreti, permettendogli di estrarre autonomamente i pattern e le regole matematiche sottostanti. In questa guida didattica analizzeremo i tre grandi paradigmi dell’apprendimento (Supervisionato, Non Supervisionato e per Rinforzo), comprenderemo la differenza tra classificazione e regressione, e sveleremo il celebre enigma di Overfitting e Underfitting.


L’Analogia della Ricetta della Nonna vs Il Cuoco che Impara Assaggiando

Per comprendere istantaneamente la rivoluzione filosofica introdotta dal Machine Learning, possiamo ricorrere all’analogia della cucina:

Analogia Intuitiva
La Ricetta Scritta a Mano vs Il Cuoco che Si Allena con Migliaia di Piatti
  • La Programmazione Tradizionale (Seguire la Ricetta): È come cucinare una torta seguendo rigorosamente il ricettario della nonna: “Prendi 200g di farina, aggiungi 2 uova, mescola per 5 minuti in senso orario, inforna a 180°C per 30 minuti esatti”. Se il computer segue le istruzioni alla lettera, ottiene la torta. Ma cosa succede se il forno è ventilato anziché statico, o se l’umidità dell’aria varia? Se non c’è una riga di codice che prevede quella specifica variazione, il programma fallisce o brucia il dolce.
  • Il Machine Learning (Imparare dagli Esempi): Non dai al computer nessuna ricetta scritta. Gli fai assaggiare diecimila torte diverse preparate in tutto il mondo, dicendogli per ciascuna: “Questa torta ha preso un voto di 9/10, questa 2/10 perché troppo salata, questa 4/10 perché poco cotta”. Il computer analizza matematicamente gli ingredienti e i risultati di tutti i diecimila esperimenti, correla le variabili e formula da solo la propria “funzione del gusto perfetto”: scopre autonomamente che una certa proporzione tra zucchero e temperatura massimizza il gradimento degli ospiti!

Il Cambio di Paradigma: Da Regole a Modelli Induttivi

Nel 1959, il pioniere di IBM Arthur Samuel definì il Machine Learning come: "La disciplina che conferisce ai calcolatori la capacità di apprendere senza essere stati esplicitamente programmati".

A livello epistemologico e architetturale, il flusso delle informazioni si inverte:

Inversione Epistemologica: Programmazione Classica vs Machine Learning

Nel Machine Learning, il prodotto finale del lavoro non è un programma scritto riga per riga da uno sviluppatore, ma un Modello Matematico: una complessa funzione statistica i cui parametri interni (i "pesi") sono stati ottimizzati durante una fase di addestramento (Training).


I Tre Grandi Paradigmi di Apprendimento

Tutti gli algoritmi di Machine Learning sviluppati nella storia dell’informatica appartengono a una delle tre grandi famiglie tassonomiche:

Paradigma di Apprendimento Natura dei Dati in Ingresso Analogia con l’Apprendimento Umano Applicazioni Pratiche Tipiche
Apprendimento Supervisionato (Supervised Learning) Dati etichettati (*Labeled Data*): ogni esempio include input e risposta corretta attesa. Uno studente che si prepara all’esame usando schede didattiche con domande davanti e risposte esatte sul retro. Filtri antispam email, riconoscimento tumori da radiografie, stima prezzi immobiliari.
Apprendimento Non Supervisionato (Unsupervised Learning) Dati non etichettati (*Unlabeled Data*): solo caratteristiche grezze, nessuna risposta o categoria predefinita. Un bambino a cui viene data una scatola con 500 pezzi di Lego diversi e li raggruppa da solo per colore o forma. Segmentazione clienti e-commerce, rilevamento frodi con carte di credito, riduzione del rumore.
Apprendimento per Rinforzo (Reinforcement Learning) Nessun dato statico: un agente compie azioni in un ambiente dinamico ricevendo premi o penalità. Addestrare un cucciolo a riportare la pallina: premio con un biscottino se la riporta, rimprovero se scappa. Guida autonoma di veicoli, campioni mondiali di Scacchi e Go (AlphaGo), robotica industriale.

1. Apprendimento Supervisionato: Classificazione e Regressione

È il paradigma più diffuso ed economicamente remunerativo dell’intera industria dell’AI. L’algoritmo viene nutrito con un dataset di addestramento composto da coppie $(X, Y)$, dove $X$ sono le caratteristiche (Feature) e $Y$ è il bersaglio (Target o Etichetta).

L’obiettivo è calcolare una funzione matematica $f(X)$ tale per cui, quando in futuro presenteremo un nuovo dato $X_{nuovo}$ mai visto prima, il modello sia in grado di stimare con accuratezza il valore corretto di $Y$.

L’apprendimento supervisionato si suddivide in due macro-branche:

A. Problemi di Classificazione (Output Discreto / Categorie)

Il target da prevedere è un’etichetta qualitativa o una classe finita:

  • Binaria: Spam vs Posta Desiderata; Transazione Legittima vs Frode; Tumore Benigno vs Maligno.
  • Multiclasse: Riconoscere se un’immagine ritrae un cane, un gatto, un cavallo o un uccello; classificazione delle lettere dell’alfabeto da testo manoscritto.
  • Algoritmi classici: Regressione Logistica, Alberi Decisionali (Decision Trees), Foreste Casuali (Random Forests), Support Vector Machines (SVM).

B. Problemi di Regressione (Output Continuo / Numerico)

Il target da prevedere è un numero continuo su una scala quantitativa:

  • Prevedere il prezzo di vendita di un appartamento in base ai metri quadri, alla zona e al piano.
  • Stimare la temperatura atmosferica di domani in gradi centigradi.
  • Prevedere il consumo elettrico di una città per le prossime 24 ore.
  • Algoritmi classici: Regressione Lineare semplice e multipla, Regressione Polinomiale, Reti Neurali artificiali.

2. Apprendimento Non Supervisionato: Clustering e Riduzione della Dimensionalità

Nel mondo reale, etichettare milioni di dati richiede migliaia di ore di lavoro umano noioso e costoso. L’Apprendimento Non Supervisionato lavora su dati grezzi non etichettati: l’algoritmo deve esplorare la struttura geometrica interna dei dati per far emergere schemi invisibili all’occhio umano.

Applicazione Reale
Il Clustering K-Means nel Commercio Elettronico

Un grande negozio di e-commerce possiede un database con 10 milioni di utenti, di cui registra: frequenza di acquisto, orario abituale di visita e importo medio speso. Non ci sono etichette predefinite.

Applicando l’algoritmo di Clustering K-Means, il modello raggruppa matematicamente i clienti in tre “grappoli” (cluster) omogenei:

  • Cluster 1 (“Gli Occasionali Notturni”): Comprano una volta ogni tre mesi tra mezzanotte e le 2:00, spendendo poco.
  • Cluster 2 (“I Cacciatori di Sconti del Mattino”): Aprono le offerte promozionali alle 8:00 del mattino e acquistano solo prodotti in saldo.
  • Cluster 3 (“I Clienti VIP”): Acquistano a prezzo pieno due volte a settimana senza badare ai costi di spedizione.

Il reparto marketing può ora inviare newsletter personalizzate per ciascun gruppo, moltiplicando le vendite senza che nessun umano abbia dovuto catalogare manualmente 10 milioni di profili!

Un’altra colonna portante dell’apprendimento non supervisionato è la Riduzione della Dimensionalità (come l’algoritmo PCA – Principal Component Analysis): consente di comprimere tabelle dati enormi con centinaia di colonne correlate in appena due o tre dimensioni principali, rendendo i dati facilmente visualizzabili su un grafico cartesiano 2D o 3D senza perdere le informazioni salienti.


3. Apprendimento per Rinforzo (Reinforcement Learning)

L’Apprendimento per Rinforzo (RL) si ispira direttamente alla psicologia comportamentale e al condizionamento operante di Skinner:

Ciclo di Feedback del Reinforcement Learning (Agente-Ambiente)

flowchart TD

subgraph AMB["🌍 AMBIENTE ESTERNO (Il Mondo, il Gioco, la Strada)"]

State["Stato del Mondo (S_t) : Cosa vede l'agente"]

Reward["Ricompensa (R_t) : Premio (+) o Penalità (-)"]

end
subgraph AGT["🤖 AGENTE SOFTWARE (Il Modello RL)"]
    Policy["Politica Decisionale (Policy π)"]
end

State -->|"Osservazione Sensoriale"| Policy
Reward -->|"Feedback Prestazionale"| Policy
Policy -->|"Azione Eseguita (A_t): Sterza, frena, muovi"| AMB

Un Agente software opera all’interno di un Ambiente sconosciuto. In ogni momento $t$:

  1. Osserva lo Stato attuale del mondo ($S_t$).
  2. Sceglie ed esegue un’Azione ($A_t$) guidato dalla propria strategia interna (Politica o Policy $\pi$).
  3. L’ambiente muta nel nuovo stato ($S_{t+1}$) e restituisce all’agente una Ricompensa ($R_t$), che può essere un premio positivo (+10 punti per aver mangiato una mela in Pac-Man o vinto a scacchi) o una penalità negativa (-100 punti per aver fatto schiantare l’auto contro un palo).

Attraverso milioni di partite simulate per tentativi ed errori (algoritmi come Q-Learning e Deep Q-Networks), l’agente perfeziona la propria politica decisionale fino a sviluppare comportamenti strategici geniali e controintuitivi, spesso superando le migliori menti umane del pianeta (come dimostrato dallo storico trionfo di AlphaGo contro il campione mondiale Lee Sedol nel 2016).


La Sfida Suprema: Overfitting vs Underfitting

Quando addestriamo un modello matematico di Machine Learning, il pericolo più insidioso non è che non impari: è che impari "troppo bene" i dati di addestramento, dimenticandosi come generalizzare sul mondo reale!

Questo dilemma corrisponde al delicato equilibrio tra Bias (Distorsione) e Variance (Varianza):

🚨 Underfitting (Troppo Semplice)

Cosa accade: Il modello è troppo rudimentale per catturare la complessità dei dati (es. tracciare una retta rigida su una nuvola di punti parabolica).

Sintomo: Prestazioni pessime sia sui dati di allenamento che sui dati nuovi del test set (Alto Bias).

✅ Modello Ottimale (Generalizzazione)

Cosa accade: Il modello apprende il vero trend matematico sottostante, ignorando il rumore e le anomalie casuali.

Sintomo: Accuratezza elevata e bilanciata sia in fase di studio che sul campo reale.

❌ Overfitting (Imparare a Memoria)

Cosa accade: Il modello è troppo complesso: memorizza ogni singolo punto, inclusi errori di misura e rumore statistico.

Sintomo: 100% di voti sui dati di addestramento, ma fallimento catastrofico appena incontra un dato nuovo (Alta Varianza).

L’Analogia dello Studente e dell’Esame

Pensa a due studenti che si preparano a un esame di matematica:

  • Lo studente affetto da Overfitting impara a memoria i numeri esatti e le risposte degli esercizi del libro guida dell’anno prima. Se nel test ufficiale ritrova esattamente l’esercizio n. 4 con i numeri 2 + 3 = 5, risponde all’istante con un 10 e lode. Ma se il professore cambia i numeri in 2 + 4, lo studente va in tilt e scrive 5, perché non ha capito il concetto di addizione: ha solo memorizzato i dati di laboratorio!
  • Il buon modello matematico deve fare l’opposto: cogliere la logica della formula senza legarsi a memoria ai numeri specifici del passato.

La Divisione Scientifica del Dataset: Train, Validation e Test Set

Per rilevare ed evitare l’overfitting, la metodologia ingegneristica impone di suddividere rigorosamente l’archivio dei dati in tre parti separate prima dell’addestramento:

  1. Training Set (70%): I dati con cui il modello fa pratica e regola i propri parametri interni.
  2. Validation Set (15%): I dati usati durante lo sviluppo per sintonizzare le impostazioni avanzate (Iperparametri) e decidere quando fermare l’addestramento prima che inizi a memorizzare (Early Stopping).
  3. Test Set (15%): Dati tenuti rigorosamente nascosti sotto chiave fino alla fine. Vengono mostrati al modello una volta sola alla fine del progetto per misurare la sua reale capacità di giudizio su informazioni vergini del mondo reale.

Domande Frequenti (FAQ)

1. Che differenza c’è tra Intelligenza Artificiale (AI), Machine Learning (ML) e Deep Learning (DL)?

Rappresentano tre cerchi concentrici:

  • Intelligenza Artificiale (AI): È il grande cerchio esterno. Qualsiasi tecnica che consenta a una macchina di simulare comportamenti intelligenti umani (inclusi i sistemi esperti basati su regole logiche degli anni ’70).
  • Machine Learning (ML): È il cerchio intermedio, sottoinsieme dell’AI. Comprende tutti i metodi statistici e induttivi che imparano dai dati senza regole scritte a mano.
  • Deep Learning (DL): È il cerchio più interno, sottoinsieme del Machine Learning. Si basa su gigantesche reti neurali artificiali a decine o centinaia di strati profondi, capaci di elaborare automaticamente immagini, voce e testo ad altissima dimensionalità.

2. Perché si dice che "la qualità dei dati è più importante dell’algoritmo" (Garbage In, Garbage Out)?

Nel Machine Learning il modello è lo specchio esatto dei dati con cui viene nutrito. Se fornisci a un algoritmo dataset pieni di errori, duplicati, misure sballate o condizionati da pregiudizi umani storici (Bias), il modello matematico calcolerà regole distorte e fallaci (Garbage In, Garbage Out: se entra spazzatura, esce spazzatura). Spesso un algoritmo lineare semplice nutrito con dati puliti e accurati supera clamorosamente la più complessa rete neurale addestrata su dati sporchi.

3. Perché l’Accuratezza (Accuracy) da sola può essere una metrica ingannevole?

Immagina un dataset medico su una malattia rara che colpisce 1 persona su 1.000 (999 sani, 1 malato). Se un programmatore crea un modello pigro e banale che risponde sempre e comunque "Il paziente è sano!" per chiunque si presenti, quel modello avrà un’accuratezza sbalorditiva del 99,9%! Sembra perfetto, ma in realtà è totalmente inutile: ha mancato l’unico vero malato che doveva salvare. Per questo motivo nella data science si usano metriche molto più rigorose come la Precision, la Recall (Sensibilità) e il punteggio F1-Score.

4. Che cos’è una "Feature" in un modello di Machine Learning?

Una Feature (Caratteristica o Variabile Predittiva) è una singola proprietà misurabile o osservabile del fenomeno che stiamo studiando, corrispondente a una colonna di una tabella dati. Ad esempio, per stimare il prezzo di un’automobile usata, le feature saranno: anno di immatricolazione, chilometraggio percorso, potenza del motore in cavalli, tipo di carburante (benzina, diesel, ibrido) e numero di proprietari precedenti. L’attività di selezionare, combinare e ripulire le feature migliori viene chiamata Feature Engineering.


Glossario Tecnico dei Termini Chiave

  • Machine Learning (ML): Ramo dell’Intelligenza Artificiale che sviluppa algoritmi capaci di apprendere autonomamente pattern e regole da dati empirici per formulare predizioni.
  • Apprendimento Supervisionato: Metodo di addestramento guidato da coppie di dati in ingresso associati alla relativa risposta corretta nota (etichetta).
  • Apprendimento Non Supervisionato: Metodo di analisi di dati privi di etichette volto alla scoperta di raggruppamenti naturali (clustering) o relazioni nascoste.
  • Apprendimento per Rinforzo: Paradigma computazionale in cui un agente software impara la sequenza ottimale di azioni interagendo con un ambiente tramite ricompense e penalità.
  • Overfitting: Sovra-adattamento del modello che memorizza il rumore e i dettagli irrilevanti dei dati di training, perdendo la capacità di generalizzare su dati nuovi.
  • Underfitting: Errore di sottostima in cui il modello è eccessivamente semplice o poco addestrato per cogliere la reale struttura del fenomeno analizzato.
  • Bias-Variance Tradeoff: Il bilanciamento matematico fondamentale tra l’errore sistematico per troppa semplicità (Bias) e la troppa instabilità per eccessiva sensibilità ai dati (Varianza).
  • Clustering: Tecnica non supervisionata che raggruppa elementi non catalogati in insiemi omogenei in base alla loro vicinanza geometrica o somiglianza statistica.

Fonti Ufficiali e Riferimenti Accademici

  • Samuel, A. L. (1959): Some Studies in Machine Learning Using the Game of Checkers, IBM Journal of Research and Development, 3(3), 210-229.
  • Mitchell, T. M. (1997): Machine Learning, McGraw-Hill Science/Engineering/Math.
  • Russell, S., & Norvig, P. (2020): Artificial Intelligence: A Modern Approach (4th Edition), Pearson. (Capitoli dedicati a Supervised, Unsupervised e Reinforcement Learning).
  • Sutton, R. S., & Barto, A. G. (2018): Reinforcement Learning: An Introduction (2nd Edition), MIT Press. http://incompleteideas.net/book/the-book-2nd.html
  • Hastie, T., Tibshirani, R., & Friedman, J. (2009): The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd Edition), Springer.
  • Silver, D. et al. (2016): Mastering the game of Go with deep neural networks and tree search (AlphaGo), Nature, 529(7587), 484-489.

Lascia un contributo o commento

L'indirizzo email non verrà pubblicato.