Salta ai contenuti

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 m2m^2, numero di elettrodomestici, classe energetica dell’edificio, numero di abitanti e consumo reale misurato.

  • A) Quali colonne rappresentano le Feature (XX) e quale colonna rappresenta il Target (yy)?
  • 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).