📑 Table of Contents
Per minimizzare una funzione convessa (in blu) su un insieme convesso (in verde), l'algoritmo di Frank-Wolfe considera la linearizzazione della funzione obiettivo all'iterazione corrente (in rosso)

In ottimizzazione convessa vincolata e in analisi numerica, l'algoritmo di Frank-Wolfe (detto anche algoritmo del gradiente condizionale[1], oppure del gradiente ridotto; in inglese conditional gradient o reduced gradient) è un metodo iterativo che consente di determinare il punto di minimo di un'approssimazione lineare della funzione obiettivo.

Il metodo fu sviluppato da Marguerite Frank e Philip Wolfe nel 1956[2].

Descrizione

modifica

Sia un insieme convesso compatto in uno spazio vettoriale, e sia una funzione convessa e differenziabile. L'algoritmo di Frank-Wolfe trova in modo iterativo.

* Passo 0 (Inizializzazione): Si sceglie un punto  e si pone 
* Passo 1: Si determina .
* Passo 2: Si determina .
* Passo 3: Si pone .
* Passo 4: Si pone  e si torna al Passo 1.

A ogni iterazione l'algoritmo determina la direzione e la dimensione del passo lungo quella direzione in modo da minimizzare l'approssimazione lineare del problema. A differenza di metodi per l'ottimizzazione non vincolata, quali ad esempio la discesa del gradiente, l'algoritmo di Frank-Wolfe non necessita di proiezioni, poiché in ciascuna iterazione richiede soltanto la soluzione di un problema lineare sull'insieme .

La convergenza dell'algoritmo di Frank-Wolfe è sublineare: l'errore nella funzione obiettivo è minimo dopo iterazioni, purché il gradiente sia Lipschitziano rispetto ad una norma.

Note

modifica
  1. ^ (EN) E.S. Levitin e B.T. Polyak, Constrained minimization methods, in USSR Computational Mathematics and Mathematical Physics, vol. 6, n. 5, gennaio 1966, pp. 1-50, DOI:10.1016/0041-5553(66)90114-5. URL consultato l'8 marzo 2024.
  2. ^ (EN) Marguerite Frank e Philip Wolfe, An algorithm for quadratic programming, in Naval Research Logistics Quarterly, vol. 3, n. 1-2, marzo 1956, pp. 95-110, DOI:10.1002/nav.3800030109. URL consultato l'8 marzo 2024.

Bibliografia

modifica
  • (EN) Jorge Nocedal e Stephen J. Wright, Numerical Optimization, 2ª ed., Berlino, Springer-Verlag, 2006, ISBN 978-0-387-30303-1.
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica

📚 Artikel Terkait di Wikipedia

Algoritmo genetico

Press, NewYork, 1995 ISBN 0-7803-5379-X J.R. Koza, Genetic programming: on the programming of computers by means of natural selection, MIT Press, Cambridge

Apprendimento automatico

programmazione logica induttiva (anche ILP, dall'inglese inductive logic programming) è un approccio all'apprendimento di regole che usa la programmazione

Discesa stocastica del gradiente

Alex Kleeman, Christopher D. Manning (2008). Efficient, Feature-based, Conditional Random Field Parsing. Proc. Annual Meeting of the ACL. ^ LeCun, Yann

Programmazione differenziabile

Learning and Programming Languages (PDF), in SysML Conference 2018, 2018. ^ Mike Innes, Alan Edelman e Keno Fischer, A Differentiable Programming System to

Mappa auto-organizzata

algorithms. Written in Java, so you need a Java-plugin in your browser. Programming a Kohonen Neural Network in Java part of a Java Neural Network web book

Rete bayesiana

ottimizzazione da risolvere mediante tecniche di programmazione intera (integer programming). Si aggiungono vincoli di aciclicità al programma intero (IP) in fase

Regressione isotonica

algorithms for isotonic regression; A unifying framework, in Mathematical Programming, vol. 47, n. 1-3, 1990, pp. 425–439, DOI:10.1007/BF01580873. ^ (EN) Assaf

Classificatore quadratico

^ Linear & Quadratic Discriminant Analysis · UC Business Analytics R Programming Guide, su uc-r.github.io. URL consultato il 29 marzo 2020. ^ Thomas M