Quali sono le implicazioni del teorema "Nessun pranzo libero" per l'apprendimento automatico?


10

Il teorema di No Free Lunch (NFL) afferma (vedi l'articolo Pranzi gratuiti coevolutivi di David H. Wolpert e William G. Macready)

due algoritmi equivalenti quando si calcola la media delle loro prestazioni su tutti i possibili problemi

Il teorema "No Free Lunch" è davvero vero? Cosa significa attualmente? Un bell'esempio (in contesto ML) che illustra questa affermazione sarebbe carino.

Ho visto alcuni algoritmi che si comportano in modo molto scarso e faccio fatica a credere che seguano effettivamente il teorema sopra indicato, quindi sto cercando di capire se la mia interpretazione di questo teorema è corretta o no. O è solo un altro teorema ornamentale come il teorema di approssimazione universale di Cybenko?

Risposte:


10

Questa è una reazione molto comune dopo aver incontrato per la prima volta i teoremi No Free Lunch (NFL). Quello per l'apprendimento automatico non è particolarmente intuitivo, perché vola di fronte a tutto ciò che è discusso nella comunità ML. Detto questo, il teorema è vero, ma ciò che significa è aperto a qualche dibattito.

Per riaffermare il teorema per le persone che non lo conoscono, il teorema NFL per l'apprendimento automatico è davvero un caso speciale del teorema NFL per la ricerca e l'ottimizzazione locale . La versione di ricerca locale è più facile da capire. Il teorema afferma quanto segue, in qualche modo radicale:

Media attraverso tutti i possibili problemi di ottimizzazione, la qualità media soluzione trovata da qualsiasi algoritmo di ricerca locale si sceglie di utilizzare è esattamente lo stesso che la qualità media soluzione di un algoritmo di "ricerca" locale che genera solo le possibili soluzioni campionando uniformemente a caso dallo spazio di tutte le soluzioni.

Un'altra formulazione, quando le persone vogliono una reazione ancora più forte, è quella di dire che se vuoi trovare la soluzione migliore a un problema, è altrettanto buono provare cose che sembrano peggiorare in modo iterativo come lo è provare cose che sembra che stia migliorando iterativamente la tua soluzione. In media, entrambi questi approcci sono ugualmente buoni.

Ok, allora perché è vero? Bene, la chiave sta nei dettagli. Wolpert ha talvolta descritto il teorema come una specializzazione del lavoro di Hume sul problema dell'induzione . L'affermazione di base del problema dell'induzione è: non abbiamo basi logiche per supporre che il futuro sarà come il passato. Logicamente, non c'è motivo per cui le leggi della fisica non possano cambiare radicalmente domani. Da una prospettiva puramente logica , è del tutto ragionevole che il futuro possa essere diverso dal passato in vari modi. Il problema di Hume è che, in generale, il futuro è come il passato in molti modi. Tentò di formulare un argomento filosofico (logico) secondo cui ciò doveva essere vero, ma sostanzialmente fallì.

I teoremi del No Free Lunch dicono la stessa cosa. Se non sai quale sia il tuo spazio di ricerca, quindi se affini ripetutamente la tua ipotesi su come sia una buona soluzione, in risposta alle osservazioni che hai fatto in passato su quali buone soluzioni sembrano (cioè imparando da dati), quindi è altrettanto probabile che l'operazione che fai aiuta tanto quanto fa male. Ecco perché la parte "media su tutti i possibili problemi di ottimizzazione" è fondamentale. Per qualsiasi problema di ottimizzazione in cui l'arrampicata su collina è una buona strategia dopokpossiamo muoverne uno identico, tranne per il fatto che la mossa di arrampicata in collina porta a una soluzione terribile. La prova effettiva è più sottile di così, ma questa è l'idea di base.

Un breve riassunto laico potrebbe essere:

Un algoritmo di apprendimento automatico può essere fatto funzionare meglio su alcuni tipi di problemi facendolo peggiorare su un altro tipo di problema.

Così che cosa fa questo media in senso pratico? Significa che devi avere qualche motivo apriori per pensare che il tuo algoritmo sarà efficace su un problema particolare . Esattamente come appare una buona ragione è oggetto di un acceso dibattito all'interno della comunità ML. Ciò è strettamente correlato al compromesso di bias / varianza .

Alcune risposte comuni sono:

  • Quando stai esaminando un nuovo problema di ottimizzazione, sebbene possa avere qualsiasi tipo casuale di struttura, i problemi che incontriamo nel mondo reale sono molto più regolari e sono presenti alcuni temi comuni, come il fatto che lo spostamento " in salita "(minimizzando l'errore) tende ripetutamente a portare a buone soluzioni. Fondamentalmente, questa scuola di pensiero afferma che la NFL è un teorema ornamentale: la maggior parte degli algoritmi ML funzionano meglio sul "tipo di problemi che vediamo nella vita reale", lavorando peggio sul "tipo di problemi che non vediamo nella vita reale".
  • Quando stai osservando un nuovo problema di ottimizzazione in [inserisci il tuo dominio di applicazione preferito], sebbene possa avere qualsiasi tipo casuale di struttura, i problemi tendono ad assomigliare a [qualunque cosa tu pensi], il che rende [il tuo algoritmo preferito] molto di più efficace di ipotesi casuali.
  • Wolpert & McCready hanno pubblicato un risultato interessante dimostrando che in realtà ci sono processi di ottimizzazione specializzati, basati sulla coevoluzione, che sono costantemente migliori delle ipotesi casuali.

Indipendentemente da ciò, è indiscutibile che alcuni algoritmi sono migliori di altri, in alcuni sottodomini (lo possiamo vedere empiricamente). NFL ci dice che per stare meglio lì, devono essere peggio altrove. La questione in discussione è se "da qualche altra parte" sono problemi reali o puramente artificiali.


"Sebbene possa essere presente qualche problema di ottimizzazione", presente? Ti suggerisco di chiarire i punti nella sezione "Alcune risposte comuni sono:".
nbro

Bella risposta. Ma con l'algoritmo includono tutte le varianti di esso? Ad esempio il backprop potrebbe essere implementato da derivati, o prendendo piccole differenze o doppi derivati ​​(per quanto ne so), quindi sono uguali o diversi? E per prestazione sono anche i risultati finali o le risorse?
Dutta,

1
@nbro: In realtà penso che sia stata solo una scelta sfortunata <e >mostrare segnaposto. Li ho scambiati in modo da poter vedere più da vicino ciò che John intendeva.
Neil Slater,

@NeilSlater Sì, grazie per averlo fatto!
John Doucette

1
@DuttaA Sì. L'idea chiave è che, indipendentemente dalla strategia che hai elaborato per risolvere il tuo problema di ottimizzazione (come ridurre al minimo l'errore prendendo in considerazione le derivate più elevate), posso creare una versione del problema che sembra esattamente la stessa tranne che, dopokiterazioni, si finisce in una cattiva soluzione.
John Doucette
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.