Broyden-Fletcher-Goldfarb-Shanno-algoritmi

Broyden  -Fletcher-Goldfarb-Shanno-algoritmi (BFGS) on iteratiivinen numeerinen optimointimenetelmä , joka on suunniteltu etsimään epälineaarisen funktion paikallinen maksimi/minimi ilman rajoituksia.

BFGS on yksi yleisimmin käytetyistä kvasi-newtonilaisista menetelmistä . Kvasinewtonilaisissa menetelmissä funktion Hessenistä ei lasketa suoraan . Hessenin sen sijaan on arvioitu likimääräisesti tähän mennessä tehtyjen askelten perusteella. Tästä menetelmästä on myös muistirajoitettu muunnos ( L-BFGS ), joka on suunniteltu ratkaisemaan epälineaarisia ongelmia, joissa on suuri määrä tuntemattomia, sekä muistirajoitettu modifikaatio moniulotteisessa kuutiossa ( L-BFGS-B ) . .

Tämä menetelmä löytää minkä tahansa kahdesti jatkuvasti differentioituvan konveksin funktion minimin. Näistä teoreettisista rajoituksista huolimatta kokemus on osoittanut, että BFGS käsittelee myös ei-kuperat funktiot hyvin.

Kuvaus

Ratkaistaan ​​toiminnallisuuden optimointi:

Toisen asteen menetelmät ratkaisevat tämän ongelman iteratiivisesti laajentamalla funktion toisen asteen polynomiksi:

missä  on funktion Hessianinen pisteessä . Usein Hessenin laskenta on työlästä, joten BFGS-algoritmi laskee todellisen arvon sijaan likimääräisen arvon , jonka jälkeen se löytää tuloksena olevan neliötehtävän minimin:

Pääsääntöisesti tämän jälkeen etsitään tiettyä suuntaa pitkin pistettä, jolle Wolfen ehdot täyttyvät .

Mitä tahansa rappeutumatonta, hyvin ehdoiteltua matriisia voidaan pitää Hessenin alkuperäisenä approksimaationa. Usein otetaan identiteettimatriisi . Hessenin likimääräinen arvo seuraavassa vaiheessa lasketaan kaavalla:

missä  on identiteettimatriisi,  on algoritmin askel iteraatiota kohti,  on gradientin muutos iteraatiota kohti.

Koska käänteimatriisin laskeminen on laskennallisesti vaikeaa, laskennan sijaan käänteimatriisi päivitetään :

missä .

Algoritmi

annettu alustus , kun     etsi suunta     laske , täyttää Wolfen ehdot     nimetä ja     laske loppu







   

Kirjallisuus

  1. Nocedal, George; Wright, Stephen J. Numeerinen optimointi. – 2. painos. — USA: Springer, 2006. — ISBN 978-0-387-30303-1 .
  2. Avriel, Mordokai. Epälineaarinen ohjelmointi: analyysi ja menetelmät. - Dover Publishing, 2003. - ISBN 0-486-43227-0 .