Frank-Wulfův algoritmus

Frank-Wulffův algoritmus [1] je iterativní optimalizační algoritmus prvního řádu pro konvexní optimalizaci s omezeními . Algoritmus je také známý jako metoda podmíněného gradientu [2] , metoda sníženého gradientu a algoritmus konvexní kombinace . Metodu původně navrhli Marguerite Frank a Philip Wolf v roce 1956 [3] . Při každé iteraci Frank-Wulffův algoritmus zvažuje lineární aproximaci objektivní funkce a pohybuje se ve směru minimalizace této lineární funkce (na stejné množině proveditelných řešení).

Problémové prohlášení

Předpokládejme, že je to kompaktní konvexní množina ve vektorovém prostoru a je to konvexní , diferencovatelná funkce reálné hodnoty . Problém optimalizace řeší Frank-Wulffův algoritmus

Minimalizovat za předpokladu .

Algoritmus

Inicializace: Nechť a nech být bod v . Krok 1. Dílčí úkol hledání směru: Najděte , vyřešte problém Minimalizovat za podmínek (Výklad: Minimalizujeme lineární aproximaci problému získaného Taylorovou aproximací prvního řádu funkce blízko .) Krok 2. Určení velikosti kroku: Nechte , nebo alternativně najděte , která minimalizuje pod podmínkou . Krok 3. Přepočet: Nastavte a přejděte ke kroku 1.

Vlastnosti

Zatímco konkurenční metody, jako je gradientní sestup pro omezenou optimalizaci, vyžadují, aby se každá iterace promítla do sady povolených hodnot, algoritmus Frank-Wulf potřebuje pouze vyřešit problém lineárního programování na stejné sadě při každé iteraci, takže řešení vždy zůstává v sadě možných řešení.

Konvergence Frank-Wulfova algoritmu je obecně sublineární - chyba účelové funkce vzhledem k optimální hodnotě je po k iteracích za předpokladu, že gradient je v nějaké normě Lipschitzův spojitý . Stejnou konvergenci lze ukázat, pokud jsou dílčí problémy vyřešeny pouze přibližně [4] .

Iterace algoritmu mohou být vždy reprezentovány jako nehustá konvexní kombinace extrémních bodů množiny proveditelných řešení, což přispělo k popularitě algoritmu pro řídké optimalizační problémy ve strojovém učení a zpracování signálů [5] , as i pro hledání minimálních nákladových toků v dopravních sítích [6] .

Pokud je množina možných řešení dána množinou lineárních nerovností, pak se dílčí problém řešený v každé iteraci stává problémem lineárního programování .

Přestože míru konvergence v nejhorším případě pro obecný případ nelze zlepšit, lze získat vyšší míru konvergence pro speciální problémy, jako jsou přísně konvexní problémy [7] .

Dolní hranice hodnoty řešení a primal-duální analýza

Protože je funkce konvexní , pro libovolné dva body máme:

To platí i pro (neznámé) optimální řešení . To je . Nejlepší dolní mez uvažující bod je dána vzorcem

Tento poslední problém se řeší při každé iteraci Frank-Wulffova algoritmu, takže řešení dílčího problému nalezení směru v i -té iteraci lze použít k určení rostoucích dolních mezí při každé iteraci přiřazením a

Takové dolní meze na neznámé optimální hodnotě jsou v praxi velmi důležité, protože mohou být použity jako kritérium pro zastavení algoritmu a poskytují efektivní ukazatel kvality aproximace při každé iteraci, protože vždy .

Ukázalo se, že dualitní mezera , což je rozdíl mezi a spodní hranicí , klesá stejnou rychlostí, tzn.

Poznámky

  1. ↑ Algoritmus vyvinuli Margarita Frank a Philip Wolf, takže název Frank-Wulf Algorithm , který je široce používán v ruské literatuře , je chybný.
  2. Levitin, Polyak, 1966 , str. 787-823.
  3. Frank a Wolfe, 1956 , s. 95–110.
  4. Dunn a Harshbarger 1978 , str. 432.
  5. Clarkson, 2010 , str. 1–30.
  6. Fukušima, 1984 , s. 169–177.
  7. Bertsekas, 1999 , s. 215.

Literatura

Odkaz

Viz také