Frank-Wulf algoritmi

Frank-Wulff-algoritmi [1] on iteratiivinen ensimmäisen kertaluvun optimointialgoritmi konveksia optimointia varten rajoituksilla [ . Algoritmi tunnetaan myös ehdollisena gradienttimenetelmänä [2] , pelkistetyn gradientin menetelmänä ja konveksina yhdistelmäalgoritmina . Menetelmää ehdottivat alun perin Marguerite Frank ja Philip Wolf vuonna 1956 [3] . Jokaisessa iteraatiossa Frank-Wulff-algoritmi harkitsee tavoitefunktion lineaarista approksimaatiota ja liikkuu tämän lineaarisen funktion minimoimisen suuntaan (samalla mahdollisilla ratkaisuilla).

Ongelman kuvaus

Oletetaan, että se on kompakti kupera joukko vektoriavaruudessa ja on konveksi , differentioituva reaaliarvoinen funktio . Frank-Wulff-algoritmi ratkaisee optimointiongelman

Minimoida tarjotaan .

Algoritmi

Alustus: Antaa ja antaa olla kohta . Vaihe 1. Suuntahaun alitehtävä: Etsi , ratkaisee ongelman Minimoida olosuhteissa (Tulkinta: Minimoimme tehtävän lineaarisen approksimation, joka saadaan funktion lähellä :n ensimmäisen asteen Taylor-approksimaatiolla .) Vaihe 2. Askelkoon määrittäminen: Anna , tai vaihtoehtoisesti etsi , joka minimoi ehdolla . Vaihe 3. Uudelleenlaskenta: Aseta ja siirry vaiheeseen 1.

Ominaisuudet

Kun kilpailevat menetelmät, kuten gradienttilaskeutuminen rajoitettua optimointia varten, vaativat jokaisen iteroinnin projisoitumaan sallittujen arvojen joukkoon, Frank-Wulf-algoritmin tarvitsee vain ratkaista lineaarinen ohjelmointiongelma samassa sarjassa jokaisessa iteraatiossa, joten ratkaisu säilyy aina. toteuttamiskelpoisten ratkaisujen joukossa.

Frank-Wulf-algoritmin konvergenssi on yleensä sublineaarinen - tavoitefunktion virhe suhteessa optimaaliseen arvoon on k iteroinnin jälkeen , mikäli gradientti on Lipschitzin jatkuva jossain normissa. Sama konvergenssi voidaan osoittaa, jos osaongelmat ratkaistaan ​​vain suunnilleen [4] .

Algoritmin iteraatiot voidaan aina esittää ei-tiheänä kuperana yhdistelmänä toteutettavissa olevien ratkaisujen joukon ääripisteitä, mikä on edistänyt algoritmin suosiota harvaan ahneisiin optimointiongelmiin koneoppimisessa ja signaalinkäsittelyssä [5] , koska sekä vähimmäiskustannusvirtojen löytämiseen liikenneverkoissa [6] .

Jos toteutettavissa olevien ratkaisujen joukko annetaan lineaaristen epäyhtälöiden joukolla, niin kussakin iteraatiossa ratkaistava alitehtävä muuttuu lineaariseksi ohjelmointiongelmaksi .

Vaikka yleisen tapauksen pahimman tapauksen konvergenssiastetta ei voida parantaa, erityisongelmille, kuten tiukasti konveksille ongelmille, voidaan saavuttaa korkeammat konvergenssinopeudet [7] .

Ratkaisun ja primaali-duaalianalyysin arvon alarajat

Koska funktio on kupera , meillä on kahdelle pisteelle :

Tämä pätee myös (tuntemattomaan) optimaaliseen ratkaisuun . Se on . Paras pisteen alaraja saadaan kaavasta

Tämä viimeinen ongelma ratkaistaan ​​jokaisessa Frank-Wulff-algoritmin iteraatiossa, joten i:nnen iteroinnin suunnan löytämisen aliongelman ratkaisua voidaan käyttää määrittämään kasvavat alarajat kussakin iteraatiossa antamalla ja

Tällaiset tuntemattoman optimiarvon alarajat ovat käytännössä erittäin tärkeitä, koska niitä voidaan käyttää algoritmin pysäyttämisen kriteerinä ja ne antavat tehokkaan indikaattorin approksimaation laadusta jokaisessa iteraatiossa, koska aina .

On osoitettu, että duaalisuusrako , joka on ero alarajan välillä , pienenee samalla nopeudella, ts.

Muistiinpanot

  1. Algoritmin ovat kehittäneet Margarita Frank ja Philip Wolf, joten venäläisessä kirjallisuudessa laajalti käytetty nimi Frank-Wulf Algorithm on virheellinen.
  2. Levitin, Polyak, 1966 , s. 787-823.
  3. Frank ja Wolfe, 1956 , s. 95–110.
  4. Dunn ja Harshbarger 1978 , s. 432.
  5. Clarkson, 2010 , s. 1–30.
  6. Fukushima, 1984 , s. 169-177.
  7. Bertsekas, 1999 , s. 215.

Kirjallisuus

Linkki

Katso myös