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.
No Comment