Blog.

Bad Algorithms | Machine Learning Challenges Part 2


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

bad-algorithms-underfitting-training-data-overfitting-training-data-machine-learning-data-science-data-analytics

Tra le sfide più insidiose in ambito machine learning: bad data e bad algorithms.

Oggi analizziamo in che modo gli algoritmi influenzano le performance generali di un modello di machine learning.

Bad algorithms | How they manage learning

Gli ingredienti base per un sistema di machine learning sono tre:

  • potenza computazionale
  • dati
  • algoritmi

Se la potenza computazionale manca, impieghi più tempo, se presenta errori… il computer non si accende.

Nel precedente post abbiamo visto cosa succede quando i dati sono di cattiva qualità.

Ora, è arrivato il momento di comprendere le sfide riguardanti gli algoritmi: bad algorithms.

Overfitting the training data

L‘overfitting è una generalizzazione eccessiva.

Spiccata capacità umana, ora anche problema delle macchine.

Pensaci bene.

Hai mai viaggiato in un paese straniero? Sei in spagna in vacanza con la famiglia.

Un’autista maleducato non si ferma per lasciarvi passare sulle strisce pedonali. Reazione immediata? Tutti gli spagnoli sono maleducati.

Esempi simili sono ordinari.

I sistemi di machine learning non sono esenti da questa tipologia di problemi: l’overfitting si verifica quando il modello ha buone performance sul dataset di training ma non su quello di testing, poiché ha generalizzato male.

Tendenzialmente, quanto più alta è la complessità di un modello tanto maggiore è il rischio che si verifichi overfitting.

Reti neurali profonde (deep neural networks) sono in grado di identificare sottili relazioni tra i dati, ma il rumore naturalmente presente nel dataset può costituire un problema: il modello apprende il rumore anziché la vera relazione nascosta.

Anche l’aver prochi dati conduce a problemi analoghi, introducendo il concetto di sampling noise.

Vien da sé che le relazioni determinate dal rumore non generalizzano su nuove istanze.

Il principale trade-off è individuare il bilanciamento corretto tra modellare i dati perfettamente e mantenere il modello abbastanza semplice affinché generalizzi bene.

Underfitting training data

Evidentemente, l’undefitting è il fenomeno contrario: il modello, troppo semplice, non coglie la relazione nascosta tra i dati.

Puoi valutare l’igiene globale del popolo francese considerando la presenza del bidet nelle abitazioni? Ovviamente no.

La realtà è spesso fin troppo complessa per essere confinata in un modello: le previsioni sono quindi imprecise.

Le soluzioni ai problemi di underfitting:

  • aumentare complessità modello, optando per una soluzione con più parametri
  • selezionare nuove features, creandone di nuove con il processo di feature engineering
  • ridurre limitazioni modello, settando correttamente gli ipeparametri di regolatizzazione (regularization hyperparameters)

Per il momento è tutto.

Un caldo abbraccio, Andrea


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