Esercizi Teorici: Introduzione al Machine Learning
Questi esercizi ti consentono di verificare la comprensione dei concetti teorici fondamentali della prima unità prima di passare alla scrittura del codice.
Esercizio 1: Programmazione Tradizionale vs Machine Learning
- A) Spiega qual è la differenza fondamentale nel flusso di lavoro tra la programmazione tradizionale (classica) e il Machine Learning. Aiutati scrivendo gli schemi delle due relazioni.
- B) Se dovessi scrivere un programma per calcolare le tasse degli utenti in base a scaglioni IRPEF fissati dalla legge, utilizzeresti la programmazione classica o il Machine Learning? Motiva brevemente la scelta.
Visualizza la risposta corretta
Risposta:
- A) Differenza di flusso:
- Nella programmazione classica, forniamo al computer i Dati e le Regole (istruzioni scritte da noi) per ottenere dei Risultati: $$\text{Dati} + \text{Regole} \longrightarrow \text{Risultati}$$
- Nel Machine Learning invertiamo il flusso: forniamo al computer i Dati storici e i Risultati noti (esempi) in modo che l'algoritmo possa estrarre le Regole (il modello predittivo): $$\text{Dati} + \text{Risultati} \longrightarrow \text{Regole (Modello)}$$
- B) Scelta del paradigma: Per il calcolo delle tasse si utilizza la programmazione classica. Le regole sono certe, deterministiche e fissate in modo univoco dalla legge (scaglioni ben precisi). Non c'è bisogno di indovinare una regola nascosta dai dati: basta scrivere le istruzioni logiche (es. `if/else`) per ottenere il risultato esatto al 100%.
Esercizio 2: Struttura dei Dati (Feature e Target)
Immagina di voler addestrare un modello per stimare i consumi energetici mensili (in kWh) di varie abitazioni. Per ogni casa raccogli le seguenti informazioni: superficie in , numero di elettrodomestici, classe energetica dell’edificio, numero di abitanti e consumo reale misurato.
- A) Quali colonne rappresentano le Feature () e quale colonna rappresenta il Target ()?
- B) Qual è la differenza concettuale tra una feature e un target?
Visualizza la risoluzione
Soluzione:
- A) Suddivisione:
- Feature ($X$): Superficie ($m^2$), numero di elettrodomestici, classe energetica, numero di abitanti. Sono le informazioni in ingresso che descrivono l'abitazione.
- Target ($y$): Consumo mensile (kWh). È la variabile di cui vogliamo fare la previsione.
- B) Differenza concettuale: Le Feature sono le variabili indipendenti usate come punto di partenza per descrivere i campioni del dataset. Il Target è la variabile dipendente (il traguardo/l'etichetta) che il modello tenta di prevedere a partire dalle feature.
Esercizio 3: Tipologie di Apprendimento
Associa ciascuno dei seguenti scenari alla tipologia corretta di Machine Learning, specificando se si tratta di Apprendimento Supervisionato (Classificazione o Regressione) o Apprendimento Non Supervisionato (Clustering):
- Caso A: Raggruppare i visitatori di un sito e-commerce in 5 gruppi omogenei in base alla frequenza e al tipo di acquisti effettuati, per creare campagne pubblicitarie mirate.
- Caso B: Prevedere il prezzo di vendita di un’automobile usata a partire dall’anno di immatricolazione, dai chilometri percorsi e dai cavalli del motore.
- Caso C: Identificare se la foto di una radiografia polmonare indica la presenza di una polmonite (Sì/No).
Visualizza la risoluzione
Soluzione:
- Caso A: Apprendimento Non Supervisionato (Clustering). Non abbiamo un'etichetta di destinazione definita a priori (non sappiamo a quali gruppi debbano appartenere i clienti); l'algoritmo deve analizzare le similarità per formare i gruppi autonomamente.
- Caso B: Apprendimento Supervisionato (Regressione). Il target è il prezzo dell'auto, che è un valore numerico continuo.
- Caso C: Apprendimento Supervisionato (Classificazione). Il target è una categoria discreta e binaria (Presenza di polmonite: Sì o No).