Esercizi Teorici: Regressione, Classificazione e Valutazione
Questi esercizi ti consentono di verificare la comprensione dei concetti matematici e logici fondamentali relativi alla seconda unità (Regressione, Classificazione e Valutazione) prima di passare alla scrittura del codice.
Esercizio 1: Modelli Lineari e Regressione
Un modello di regressione lineare ha trovato la seguente retta di regressione: , dove rappresenta le ore di studio e rappresenta il voto finale previsto.
- A) Qual è il voto previsto per uno studente che studia ore?
- B) Se uno studente non studia affatto (), quale voto prevede il modello? Come si chiama questo parametro nell’equazione del modello?
Visualizza la risoluzione
Soluzione:
- A) Sostituiamo $x=5$ nell'equazione: $y = 0.5 \cdot 5 + 3.8 = 2.5 + 3.8 = 6.3$. Il voto previsto è 6.3.
- B) Se $x=0$, $y = 0.5 \cdot 0 + 3.8 = 3.8$. Il voto previsto è 3.8. Questo parametro rappresenta l'intercetta (in inglese bias).
Esercizio 2: Modelli di Classificazione e Sigmoide
Per quale motivo per i problemi di classificazione binaria si preferisce la Regressione Logistica rispetto alla Regressione Lineare? Descrivi la funzione matematica utilizzata a questo scopo.
Visualizza la risposta corretta
Risposta: La regressione lineare può produrre in output qualsiasi valore numerico reale (anche negativo o superiore a $1$), il che rende impossibile interpretare l'output come una probabilità di appartenenza a una classe binaria ($0$ o $1$). La regressione logistica risolve questo problema introducendo la funzione Sigmoide (o logistica): $$ \sigma(z) = \frac{1}{1 + e^{-z}} $$ Questa funzione "schiaccia" qualsiasi valore di input $z$ in un intervallo compreso strettamente tra $0$ e $1$, permettendo di interpretare il risultato come la probabilità che il dato appartenga alla classe target.
Esercizio 3: Ottimizzazione e Discesa del Gradiente
Spiega l’analogia tra la “ricerca della valle nella nebbia” e il funzionamento dell’algoritmo di Discesa del Gradiente. Nel formalismo matematico dell’algoritmo, che cosa rappresenta la pendenza del terreno e cosa rappresenta la dimensione del passo?
Visualizza la risposta corretta
Risposta:
- La funzione di costo rappresenta la montagna, dove l'altezza corrisponde all'entità dell'errore (vogliamo raggiungere il punto più basso, ovvero l'errore minimo).
- La pendenza del terreno sotto i piedi corrisponde al Gradiente ($\nabla L$), che indica la direzione in cui l'errore sale più rapidamente. Per scendere, ci muoviamo nella direzione opposta.
- La dimensione del passo corrisponde al Tasso di Apprendimento / Learning Rate ($\eta$). Se facciamo passi troppo piccoli (learning rate basso) impiegheremo molto tempo a scendere; se facciamo passi troppo grandi (learning rate alto) rischiamo di scavalcare la valle e risalire sull'altro versante.
Esercizio 4: Generalizzazione e Overfitting
Descrivi cos’è l’Overfitting (sovraddestramento) e indica una possibile soluzione basata sul monitoraggio degli errori durante le epoche di addestramento.
Visualizza la risposta corretta
Risposta: L'Overfitting si verifica quando un modello impara "troppo bene" le anomalie e i rumori specifici del dataset di addestramento (Train set), perdendo la capacità di generalizzare su dati nuovi (Test set). Visivamente, l'accuratezza del Train sale vicina al 100% mentre quella del Test crolla. Una possibile soluzione è l'Arresto Anticipato (Early Stopping): si monitora l'errore del test set durante le epoche di addestramento e si interrompe il ciclo non appena l'errore del test smette di scendere e inizia a risalire, conservando i pesi ottimali calcolati in quel punto.
Esercizio 5: Calcolo Pratico della Matrice di Confusione e Metriche
Un modello predittivo per rilevare se una mail è spam ( = Spam, = Normale) viene testato su email. La matrice di confusione risultante è la seguente:
[[70 5] [10 15]]- A) Identifica i valori di TN, FP, FN e TP.
- B) Calcola l’Accuratezza, la Precisione e la Sensibilità (Recall) del modello.
- C) Se volessi evitare a tutti i costi che una mail importante (non-spam) finisca nella cartella spam del destinatario, a quale metrica dovresti dare priorità per minimizzare questo rischio specifico?
Visualizza la risoluzione dell'esercizio
Soluzione:
- A) Dalla matrice ricaviamo:
- Vero Negativo (TN) = 70
- Falso Positivo (FP) = 5
- Falso Negativo (FN) = 10
- Vero Positivo (TP) = 15
- B) Calcolo delle metriche:
- $\text{Accuratezza} = \frac{TP + TN}{\text{Totale}} = \frac{15 + 70}{100} = 0.85 \implies \mathbf{85.0\%}$
- $\text{Precisione} = \frac{TP}{TP + FP} = \frac{15}{15 + 5} = \frac{15}{20} = 0.75 \implies \mathbf{75.0\%}$
- $\text{Sensibilità (Recall)} = \frac{TP}{TP + FN} = \frac{15}{15 + 10} = \frac{15}{25} = 0.60 \implies \mathbf{60.0\%}$
- C) Priorità clinica/operativa: Per evitare che mail normali vengano classificate erroneamente come spam, dobbiamo ridurre al minimo i Falsi Positivi (FP). Guardando le formule, la metrica che dobbiamo massimizzare è la Precisione (infatti a denominatore c'è FP: più FP è basso, più la precisione si avvicina al 100%). Un'alta precisione garantisce che quasi tutto ciò che viene classificato come spam lo sia veramente, proteggendo le mail importanti dall'essere perse.
Esercizio 6: Diagnosi di Overfitting e Underfitting (Casi Studio)
Associa a ciascuno dei seguenti scenari di addestramento lo stato corretto del modello, scegliendo tra: Generalizzazione Corretta, Overfitting, Underfitting Strutturale o Underfitting da Mancato Addestramento. Motivando brevemente la risposta:
- Caso A: Un modello lineare per stimare i prezzi delle case mostra un errore (Loss) molto elevato sia sul Train Set () sia sul Validation Set (). Cambiando il Learning Rate o addestrando per più tempo l’errore non scende.
- Caso B: Una rete neurale addestrata per iterazioni mostra un errore del sul Train Set e del sul Validation Set. Aumentando le iterazioni a , l’errore sul Train scende a e sul Validation a .
- Caso C: Un modello mostra un errore sul Train Set vicinissimo allo zero (), ma sul Validation Set e sul Test Set l’errore schizza a .
- Caso D: Un modello mostra un errore sul Train Set pari a e sul Validation Set pari a , mantenendosi stabile anche sul Test Set ().
Visualizza la risoluzione
Soluzione:
- Caso A: Underfitting Strutturale. L'errore è elevato su entrambi i set e non cambia modificando i parametri di addestramento ($\eta$ o iterazioni). Significa che il modello è troppo semplice per rappresentare la complessità dei dati.
- Caso B: Underfitting da Mancato Addestramento. L'errore iniziale era alto, ma è sceso notevolmente aumentando il numero di iterazioni. Il modello era semplicemente sotto-addestrato nelle prime fasi.
- Caso C: Overfitting. Il modello ha memorizzato i dati di addestramento (errore quasi nullo sul Train), ma fallisce completamente nel generalizzare su dati nuovi (errore altissimo su Validation/Test).
- Caso D: Generalizzazione Corretta. Il modello mostra errori bassi e simili sia sui dati di addestramento sia su dati non visti (Validation/Test), dimostrando di aver imparato le regole generali.
Esercizio 7: Proporzioni e Suddivisione dei Dataset
- A) Perché l’utilizzo del Test Set a ogni iterazione per effettuare l’Early Stopping rappresenta un errore metodologico? Come si chiama questo errore?
- B) Un team di Data Science sta lavorando su un dataset medico con pazienti totali. Un altro team sta addestrando una rete neurale per la guida autonoma su un dataset di di immagini. Quali proporzioni di suddivisione (Train/Validation/Test) consiglieresti a ciascuno dei due team? Motiva la scelta.
Visualizza la risoluzione
Soluzione:
- A) Usare il Test Set per l'Early Stopping crea **Data Leakage** (contaminazione). Anche se il modello non aggiorna i pesi usando il Test Set, noi umani stiamo selezionando l'iterazione ottimale basandoci sulle prestazioni di test. In questo modo le prestazioni finali sul Test Set risulteranno ottimistiche e non rappresenteranno più una misura imparziale su dati futuri.
- B) Consigli per la suddivisione:
- Team Medico (800 pazienti): Consigliata una suddivisione **70% Train / 15% Validation / 15% Test** (o **80/10/10**). Con soli 800 pazienti, dedicare il 15% significa avere 120 pazienti sia nel Validation che nel Test. Se usassimo percentuali più piccole (es. 1%), avremmo solo 8 pazienti nei set di controllo, rendendo le misure di errore instabili e soggette al caso.
- Team Guida Autonoma (5.000.000 immagini): Consigliata una suddivisione **98% Train / 1% Validation / 1% Test** (o persino **99% / 0.5% / 0.5%**). Con 5 milioni di immagini, l'1% equivale a 50.000 immagini: una quantità enorme, ampiamente sufficiente per testare il modello. Destinare il 15% al test (750.000 immagini) sarebbe uno spreco inutile di dati che potrebbero invece essere usati per migliorare l'addestramento.