Le tecniche di apprendimento automatico sono "algoritmi di approssimazione"?


23

Recentemente c'è stata una domanda simile a ML su cstheory stackexchange e ho pubblicato una risposta raccomandando il metodo di Powell, la discesa del gradiente, gli algoritmi genetici o altri "algoritmi di approssimazione". In un commento qualcuno mi ha detto che questi metodi erano "euristica" e non "algoritmi di approssimazione" e spesso non si avvicinavano all'ottimale teorico (perché "spesso rimangono bloccati nei minimi locali").

Altri sono d'accordo con quello? Inoltre, mi sembra che gli algoritmi euristici possano avvicinarsi agli ottimum teorici se sono impostati per esplorare gran parte dello spazio di ricerca (ad es. Impostazione di parametri / dimensioni del gradino ridotte), anche se non ho Ho visto quello in un documento. Qualcuno sa se questo è stato mostrato o dimostrato in un documento? (se non per una grande classe di algoritmi, forse per una piccola classe dire NN ecc.)


riflettendo ulteriormente su questa domanda, sembra che l'area di ricerca correlata / pertinente sia chiamata metodi / varianti di ottimizzazione globale in cima agli algoritmi di tipo locale, ad es. discesa del gradiente ...
vzn

Risposte:


29

Penso che stai mescolando più concetti importanti. Vorrei provare a chiarire un paio di cose:

  • Esistono metodi metauristici, che sono metodi che tentano iterativamente di migliorare una soluzione candidata. Esempi di questo sono la ricerca nei tabu, la ricottura simulata, gli algoritmi genetici, ecc. Osservare che mentre ci possono essere molti casi in cui questi metodi funzionano bene, non c'è una profonda comprensione di quando questi metodi funzionano e quando non funzionano. E, soprattutto, quando non arrivano alla soluzione, possiamo essere arbitrariamente lontani da essa. I problemi risolti con metodi meta-euristici tendono ad essere di natura discreta, poiché esistono strumenti di gran lunga migliori per gestire i problemi continui. Ma ogni tanto vedi metheuristics anche per problemi continui.

  • Esistono metodi di ottimizzazione numerica, le persone in questa comunità esaminano attentamente la natura della funzione da ottimizzare e le restrizioni della soluzione (in gruppi come ottimizzazione convessa, programmazione quadratica, programmazione lineare, ecc.) E applicano algoritmi che sono stati mostrati lavorare per quel tipo di funzione e quel tipo di restrizioni. Quando le persone in quest'area dicono "dimostrato di lavorare", significano una prova. La situazione è che questi tipi di metodi funzionano con problemi continui. Ma quando il tuo problema rientra in questa categoria, questo è sicuramente lo strumento da usare.

  • Esistono metodi di ottimizzazione discreti, che tendono ad essere cose che in natura sono collegate ad algoritmi a problemi discreti ben studiati: come percorsi più brevi, flusso massimo, ecc. Le persone in quest'area si preoccupano anche che i loro algoritmi funzionino davvero (prove). Ci sono un sottoinsieme di persone in questo gruppo che studiano problemi davvero difficili per i quali non ci si aspetta che esista un algoritmo veloce. Studiano quindi algoritmi di approssimazione, che sono algoritmi veloci per i quali sono in grado di dimostrare che la loro soluzione rientra in un fattore costante del vero ottimale. Questo si chiama "algoritmi di approssimazione". Queste persone mostrano anche i loro risultati come prove.

Quindi ... per rispondere alla tua domanda, non credo che la metaoreuristica sia un algoritmo di approssimazione. Non mi sembra qualcosa di collegato all'opinione, è solo un dato di fatto.


ri "metodi di ottimizzazione numerica", "metodi di ottimizzazione discreti", sembra che molte tecniche ML potrebbero essere dimostrate essere all'interno di un fattore costante del vero ottimale se il loro "spazio di ricerca iniziale" è costretto ad essere grande, ma non ho mai visto un riferimento su questo.

2
Non sono d'accordo. * per l'ottimizzazione numerica è possibile entrare nel minimo locale (ovviamente è anche possibile applicare procedure che lo rendono imperscrutabile). * Lo stesso vale per le reti neurali (almeno può accadere durante l'allenamento di perceptron). * Gli algoritmi genetici possono anche arrivare al minimo locale, inoltre se si scelgono tassi di mutazione elevati non si otterrà alcuna evoluzione ragionevole! Inoltre, sospetto fortemente che ci siano set di dati che faranno sempre che alcuni modelli abbiano arbitrariamente grandi errori.
jb.

2
@vzn molte persone scelgono modelli per i quali è possibile trovare la soluzione ottimale. Questo perché l'uso delle funzioni di perdita convessa, come fanno gli SVM. Trovare il vero ottimale qui significa "trovare la soluzione ottimale nel tuo spazio di ricerca", in modo che non abbia nulla a che fare con l'aspetto dello spazio di ricerca. Come detto jb, per le funzioni di perdita generale, trovare il vero ottimale è generalmente impossibile / non fattibile.
Andreas Mueller,

accettando questa risposta come una descrizione dello stato attuale delle cose e delle categorie generali di applicazioni, ma penso ancora che ci siano alcuni bridge thms che esistono e rimangono da dimostrare che collegano le aree separate. la prova che gli NN possono modellare o "approssimare" qualsiasi fn matematico continuo a un grado arbitrario di accuratezza è strettamente correlato ... vale a dire kolmogorovs thm
vzn

3

L'apprendimento automatico spesso si occupa dell'ottimizzazione di una funzione che ha molte minimas locali. Le reti neurali Feedforward con unità nascoste sono un buon esempio. Che queste funzioni siano discrete o continue, non esiste un metodo che raggiunga un minimo globale e si arresti. È facile dimostrare che non esiste un algoritmo generale per trovare un minimo globale di una funzione continua anche se è monodimensionale e regolare (ha infiniti derivati). In pratica, tutti gli algoritmi per l'apprendimento delle reti neurali sono rimasti al minimo. È facile verificarlo: crea una rete neurale casuale, crea una grande serie di risposte a input casuali, quindi prova a imparare un'altra rete neurale con la stessa architettura per copiare le risposte. Sebbene esista la soluzione perfetta, né la backpropagation né nessun altro algoritmo di apprendimento saranno in grado di scoprirla,

Alcuni metodi di apprendimento, come la ricottura simulata o algoritmi genetici, esplorano molte minimas locali. Per le funzioni continue ci sono metodi come la discesa gradiente, che trova il minimo locale più vicino. Sono molto più veloci, ecco perché sono ampiamente utilizzati nella pratica. Ma dato il tempo sufficiente, il primo gruppo di metodi supera quello successivo in termini di errore dell'insegnamento. Ma con limiti di tempo ragionevoli, per problemi del mondo reale, quest'ultimo gruppo è generalmente migliore.

Per alcuni modelli, come la regressione logistica, esiste un minimo locale, la funzione è convessa, la minimizzazione converge al minimo, ma i modelli stessi sono semplicistici.

Questa è l'amara verità.

Si noti inoltre che la prova di convergenza e la prova di convergenza alla soluzione migliore sono due cose diverse. L'algoritmo K-significa ne è un esempio.

Infine, per alcuni modelli non sappiamo affatto come imparare. Ad esempio, se l'output è una funzione calcolabile arbitraria degli input, non conosciamo buoni algoritmi che, in tempi ragionevoli, trovano un Turing o una macchina equivalente che implementa questa funzione. Ad esempio, se f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (dieci primi primi), noi don non conosce alcun algoritmo di apprendimento in grado di prevedere, in tempi ragionevoli, che f (11) = 31, a meno che non conosca già il concetto di numeri primi.

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.