Blog.

No Free Lunch theorem (NFL) in Italiano


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

no-free-lunch-theorem-italiano-machine-learning-data-science-data-analytics-teorema-pranzo-gratutio

Il No Free Lunch theorem, di David Wolpert, è a fondamento di ogni modello di machine learning. E’ arrivato il momento di capire cosa significa e quale sia la sua importanza.

Inoltre, è alla base della cultura di un Data Scientist.

No Free Lunch (NFL) theorem | Spiegazione in italiano

Un modello di realtà, per definizione, è una semplificazione della stessa.

Semplificare significa però rinunciare a dettagli superflui; per un modello di machine learning, rinunciare a dettagli che generalizzano poco o male su nuove istanze.

Il problema è nel decidere quali dati scartare e quali tenere.

La soluzione è creare un’assunzione (assumption)

Un modello lineare si basa sull’assunzione che esita una relazione lineare tra i dati. Questo porta a considerare la distanza con le altre osservazioni un semplice rumore, noise.

In una famosa pubblicazione, datata 1996, David Wolpert, matematico e informatico americano, dimostra che in assenza di qualsiasi assunzione sui dati, non esiste alcuna ragione per preferire un modello rispetto ad un altro.

Questo teorema matematico è stato definito No Free Lunch (NFL).

Per alcuni dataset un modello lienare risulta maggiormente rappresentativo, per altri è preferibile optare per una rete neurale.

E’ fondamentale dunque capire che non esiste a priori un sistema per determinare il modello migliore per uno specifico dataset.

Come risolviamo questo problema?

Provandoli tutti.

Sembra assurdo, ma è esattamente ciò che succede durante lo sviluppo.

L’unico modo che hai di individuare il modello migliore è valutanto quelli papabili uno ad uno.

Evidentemente, una soluzione del genere è assai poco efficiente. Quindi un’assunzione, seppur minima, è fatta.

Ad esempio, per un task sufficientemente semplice, assumi che un modello lineare opportunamente regolarizzato per evitare overfitting, basti a generalizzare bene.

Come sempre questo post si basa sulla regola di Pareto: il 20% di ciò che ti serve per conoscere l’80% dell’argomento!

Un caldo abbraccio, Andrea.

Taggeddata sciencemachine learningteoria


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