Uno delle più grandi sfide nel Machine Learning è gestire una qualità dati scadente o pessima: ecco i “bad data”.
Bad Data | The importance of Data
Dobbiamo fissarci in testa un concetto fondamentale:
better data defeats fancier alogithms
In altre parole, è fondamentale avere dati a sufficienza che siano utili.
Riguardo ai dati di cattiva qualità invece, distinguiamo 4 situazioni.
Insufficient Quantity of Training Data
Persino il più semplice dei problemi richiede un numero elevato di samples da cui imparare.
Problemi complessi come il riconoscimento vocale, o delle immagini, arrivano a voler milioni di esempi per poter performare decorosamente.
Ecco perché in loro assenza si adottano tecniche specifiche come il parziale utilizzo di modelli precedentemente allenati su altri datasets. Approfondiremo questo concetto più avanti.
In uno studio pubblicato nel 2001, intitolato “Learning Curves for Confusion Set Disambiguation” due ricercatori della Microsfot hanno mostrato come differenti algoritmi siano identici in termini di prestazioni su problemi complessi quando gestiscono una mole di dati sufficientemente alta.

Nonrepresentative Training Data
Sappiamo che un modello deve poter generalizzare bene. Per farlo è mandatorio che i dati di training siano rappresentativi del problema dato.
Questo discorso vale tanto per l’instance-based learning quanto per il model-based learning.
E’ difficile prestare attenzione ad un problema simile, poiché produce errori a cascata.
Infatti, se il campione di dati è piccolo c’è il rischio del sampling noise (nonrepresentative data frutto del caso).
Inoltre se il problema è legato ad un raccolta dati imperfetta, persino campioni di più vasta dimensione possono risultare problematici: sampling bias.
Poor Quality Data
Tra gli elementi che minano la qualità di un dataset, troviamo:
- outliers
- rumore (noise, generato da misurazioni scorrette)
- errori
La loro presenza compromette la capacità del sistema di individuare le relazioni nascosta tra i dati (underlying patterns).
Questo è il motivo per cui è fondamentale investire buona parte del tempo nella pulizia dei dati.
Irrelevant Features
L’ultimo tallone d’Achille dei dati sono le irrelevant features.
Penseresti mai di poter prevedere il peso di una persona sulla base del tempo meteorologico?
Una parte critica, annoverata tra le più importanti e delicate, di ogni progetto di machine learning è definita di feature engineering. Questo processo iterativo implica:
- feature selection, nel quale sono selezionare le features ritenute maggiormente utili per la fase di training
- feature exraction, nel quale almeno due features sono combinate per produrne una di più alto valore.
- features creation, nel quale nuove features sono create raccogliendo nuovi dati.
Nel prossimo post, vedremo la seconda grande sfida nei progetti di machine learning: bad algorithms!
Un caldo abbraccio, Andrea