Blog.

Bad Data | Machine Learning Challenges Part 1


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
machine-learning

bad-data-insufficient-quantity-data-irrelevant-features-poor-quality-data-nonrepresentative-training-data-machine-learning-italia

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

Taggedmachine learning


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum