Algoritmus Levenberg – Marquardt - Levenberg–Marquardt algorithm
v matematika a výpočetní technika Algoritmus Levenberg – Marquardt (LMA nebo prostě LM), také známý jako tlumené nejmenší čtverce (DLS), se používá k řešení nelineární nejmenší čtverce problémy. Tyto problémy s minimalizací vznikají zejména v nejmenší čtverce přizpůsobení křivky.
LMA se používá v mnoha softwarových aplikacích pro řešení obecných problémů s přizpůsobením křivky. Stejně jako u mnoha vhodných algoritmů však LMA najde pouze a místní minimum, což nemusí být nutně globální minimum. LMA interpoluje mezi Gauss – Newtonův algoritmus (GNA) a metoda klesání. LMA je více robustní než GNA, což znamená, že v mnoha případech najde řešení, i když začíná velmi daleko od konečného minima. U dobře vychovaných funkcí a rozumných počátečních parametrů má LMA tendenci být o něco pomalejší než GNA. LMA lze také zobrazit jako Gauss – Newton používat důvěryhodný region přístup.
Algoritmus byl poprvé publikován v roce 1944 autorem Kenneth Levenberg,[1] při práci v Frankford Army Arsenal. To bylo nově objevené v roce 1963 Donald Marquardt,[2] kdo pracoval jako statistik na DuPont a nezávisle Girard,[3] Wynne[4] a Morrison.[5]
Problém
Primární aplikace algoritmu Levenberg – Marquardt je v problému přizpůsobení křivky nejmenších čtverců: vzhledem k sadě empirické páry nezávislých a závislých proměnných, vyhledejte parametry modelové křivky takže součet čtverců odchylek je minimalizováno:
- o kterém se předpokládá, že není prázdný.
Řešení
Stejně jako ostatní numerické minimalizační algoritmy je Levenberg – Marquardtův algoritmus iterativní postup. Chcete-li zahájit minimalizaci, musí uživatel poskytnout počáteční odhad vektoru parametru . V případech pouze s jedním minimem, neinformovaný standardní odhad bude fungovat dobře; v případech s několik minim, algoritmus konverguje na globální minimum pouze v případě, že počáteční odhad je již poněkud blízký konečnému řešení.
V každém iteračním kroku vektor parametru je nahrazen novým odhadem . Určit , funkce je aproximován jeho linearizace:
kde
je spád (v tomto případě řádkový vektor) z s ohledem na .
Součet čtvercových odchylek má své minimum na nule spád s ohledem na . Výše uvedená aproximace prvního řádu dává
nebo ve vektorovém zápisu,
Užívání derivátu s ohledem na a nastavení výsledku na nulu dává
kde je Jacobian matrix, jehož -tý řádek se rovná , a kde a jsou vektory s -tá složka a resp. Výše uvedený výraz získaný pro spadá pod Gauss-Newtonovu metodu. Jakobiánská matice, jak je definována výše, není (obecně) čtvercová matice, ale obdélníková matice velikosti , kde je počet parametrů (velikost vektoru ). Násobení matice poskytuje požadované čtvercová matice a produkt matice-vektor na pravé straně poskytuje vektor velikosti . Výsledkem je sada lineární rovnice, které lze vyřešit .
Levenbergovým příspěvkem je nahradit tuto rovnici „tlumenou verzí“:
kde je matice identity, udávající jako přírůstek na odhadovaný vektor parametru .
(Nezáporný) tlumicí faktor se upravuje při každé iteraci. Pokud snížení o je rychlý, lze použít menší hodnotu, čímž se algoritmus přiblíží k Gauss – Newtonův algoritmus, vzhledem k tomu, že pokud iterace neposkytne dostatečné snížení zbytku, lze zvýšit, což je o krok blíže ke směru sestupu a sestupu. Všimněte si, že spád z s ohledem na rovná se . Proto pro velké hodnoty , krok bude proveden přibližně ve směru opačném k přechodu. Pokud buď délka vypočítaného kroku nebo snížení součtu čtverců z nejnovějšího vektoru parametrů klesnout pod předdefinované limity, iterace se zastaví a poslední vektor parametru je považováno za řešení.
Levenbergův algoritmus má tu nevýhodu, že pokud je hodnota tlumicího faktoru je velký, převrácený se vůbec nepoužívá. Fletcher poskytl vhled, že můžeme škálovat každou složku gradientu podle zakřivení, takže dochází k většímu pohybu ve směrech, kde je gradient menší. Tím se zabrání pomalé konvergenci ve směru malého gradientu. Fletcher proto ve svém příspěvku z roku 1971 Upravený Marquardtův podprogram pro nelineární nejmenší čtverce nahradil matici identity s diagonální maticí skládající se z diagonálních prvků , čímž se měřítko řešení nemění:
Podobný tlumicí faktor se objeví v Tichonovova regularizace, který se používá k řešení lineárního špatně uložené problémy, stejně jako v hřebenová regrese, an odhad technika v statistika.
Volba parametru tlumení
Pro nejlepší volbu parametru tlumení byly předloženy různé více či méně heuristické argumenty . Existují teoretické argumenty ukazující, proč některé z těchto voleb zaručují lokální konvergenci algoritmu; tyto volby však mohou způsobit, že globální konvergence algoritmu bude mít nežádoucí vlastnosti nejstrmější sestup, zejména velmi pomalá konvergence blízká optimálnímu.
Absolutní hodnoty jakékoli volby závisí na tom, jak dobře je škálován počáteční problém. Marquardt doporučil začít s hodnotou a faktor . Počáteční nastavení a výpočet zbytkového součtu čtverců po jednom kroku od výchozího bodu s tlumícím faktorem a za druhé s . Pokud jsou oba horší než počáteční bod, pak se tlumení zvýší postupným násobením dokud nebude nalezen lepší bod s novým tlumicím faktorem pro některé .
Při použití tlumicího faktoru má za následek snížení na druhou zbytku, pak se to bere jako nová hodnota (a nové optimální umístění je bráno jako místo získané s tímto tlumícím faktorem) a proces pokračuje; pokud používáte vedlo k horšímu zbytku, ale použití vedlo k lepšímu zbytku se ponechá beze změny a nové optimum se bude brát jako hodnota získaná pomocí jako tlumicí faktor.
Účinná strategie pro řízení parametru tlumení, tzv opožděné uspokojení, spočívá ve zvýšení parametru o malou částku pro každý krok do kopce a snížení o velkou částku pro každý krok z kopce. Myšlenkou této strategie je vyhnout se příliš rychlému pohybu z kopce na začátku optimalizace, a tím omezit kroky dostupné v budoucích iteracích a zpomalit tak konvergenci.[6] Zvýšení o faktor 2 a pokles o faktor 3 se ve většině případů ukázalo jako efektivní, zatímco u velkých problémů mohou extrémnější hodnoty fungovat lépe, se zvýšením o faktor 1,5 a snížením o faktor z 5.[7]
Geodetické zrychlení
Když interpretujeme krok Levenberg – Marquardt jako rychlost podél a geodetické cesta v parametrickém prostoru, je možné vylepšit metodu přidáním výrazu druhého řádu, který zohledňuje zrychlení podél geodetické
kde je řešením
Protože tento termín geodetické akcelerace závisí pouze na směrový derivát ve směru rychlosti , nevyžaduje výpočet celé derivační matice druhého řádu, vyžadující pouze malou režii, pokud jde o výpočetní náklady.[8] Protože derivace druhého řádu může být poměrně složitým výrazem, může být vhodné ji nahradit a konečný rozdíl přiblížení
kde a již byly vypočítány algoritmem, a proto k výpočtu vyžadují pouze jedno další vyhodnocení funkce . Volba kroku konečné diference může ovlivnit stabilitu algoritmu a obecně je přiměřená hodnota kolem 0,1.[7]
Vzhledem k tomu, že zrychlení může směřovat opačným směrem než rychlost, aby se zabránilo zastavení metody v případě, že je tlumení příliš malé, je přidáno další kritérium pro zrychlení, aby bylo možné přijmout krok, který vyžaduje, aby
kde je obvykle fixováno na hodnotu menší než 1, s menšími hodnotami pro řešení těžších problémů.[7]
Přidání termínu geodetické akcelerace může umožnit významné zvýšení rychlosti konvergence a je obzvláště užitečné, když se algoritmus pohybuje úzkými kaňony v prostředí objektivní funkce, kde jsou povolené kroky menší a vyšší přesnost kvůli druhému řádu výraz významně vylepšuje.[7]
Příklad



V tomto příkladu se pokusíme přizpůsobit funkci pomocí algoritmu Levenberg – Marquardt implementovaného v GNU oktáva jako leasqr funkce. Grafy ukazují postupně lepší přizpůsobení parametrům , použitý v počáteční křivce. Křivky přesně zapadají, pouze když jsou parametry v posledním grafu vybrány nejblíže originálu. Tato rovnice je příkladem velmi citlivých počátečních podmínek pro algoritmus Levenberg – Marquardt. Jedním z důvodů této citlivosti je existence několika minim - funkce má minima na hodnotě parametru a .
Viz také
- Důvěryhodný region
- Metoda Nelder – Mead
- Varianty Levenberg – Marquardtova algoritmu byly také použity pro řešení nelineárních systémů rovnic.[9]
Reference
- ^ Levenberg, Kenneth (1944). „Metoda řešení některých nelineárních problémů v nejmenších čtvercích“. Quarterly of Applied Mathematics. 2 (2): 164–168. doi:10.1090 / qam / 10666.
- ^ Marquardt, Donald (1963). "Algoritmus pro odhad nejmenších čtverců nelineárních parametrů". SIAM Journal on Applied Mathematics. 11 (2): 431–441. doi:10.1137/0111030. hdl:10338.dmlcz / 104299.
- ^ Girard, André (1958). "Výpis z Revue d'optique théorique et instrumentale". Rev. Opt. 37: 225–241, 397–424.
- ^ Wynne, C. G. (1959). "Návrh objektivu elektronickým digitálním počítačem: I". Proc. Phys. Soc. Lond. 73 (5): 777–787. Bibcode:1959 PPS ... 73..777 W.. doi:10.1088/0370-1328/73/5/310.
- ^ Morrison, David D. (1960). "Metody pro řešení problémů s nelineárními metodami nejmenších čtverců a důkazy o konvergenci". Proceedings of the Jet Propulsion Laboratory Seminar on Tracking Programmes and Orbit Determination: 1–9.
- ^ Transtrum, Mark K; Machta, Benjamin B; Sethna, James P (2011). "Geometrie nelineárních nejmenších čtverců s aplikacemi na nedbalé modely a optimalizace". Fyzický přehled E. APS. 83 (3): 036701.
- ^ A b C d Transtrum, Mark K; Sethna, James P (2012). "Vylepšení algoritmu Levenberg-Marquardt pro nelineární minimalizaci nejmenších čtverců". arXiv:1201.5885.
- ^ „Nelineární montáž nejmenších čtverců“. Vědecká knihovna GNU. Archivovány od originál dne 2020-04-14.
- ^ Kanzow, Christian; Yamashita, Nobuo; Fukushima, Masao (2004). „Levenberg – Marquardtova metoda se silnými vlastnostmi místní konvergence pro řešení nelineárních rovnic s konvexními omezeními“. Journal of Computational and Applied Mathematics. 172 (2): 375–397. doi:10.1016 / j.cam.2004.02.013.
Další čtení
- Moré, Jorge J .; Sorensen, Daniel C. (1983). „Výpočet kroku v oblasti důvěryhodnosti“ (PDF). SIAM J. Sci. Stat. Comput. 4 (3): 553–572. doi:10.1137/0904038.
- Gill, Philip E .; Murray, Walter (1978). "Algoritmy pro řešení nelineárního problému nejmenších čtverců". Časopis SIAM o numerické analýze. 15 (5): 977–992. Bibcode:1978SJNA ... 15..977G. doi:10.1137/0715063.
- Pujol, Jose (2007). „Řešení nelineárních inverzních problémů a metoda Levenberg-Marquardt“. Geofyzika. SEG. 72 (4): W1 – W16. Bibcode:2007Geop ... 72W ... 1P. doi:10.1190/1.2732552.[trvalý mrtvý odkaz ]
- Nocedal, Jorge; Wright, Stephen J. (2006). Numerická optimalizace (2. vyd.). Springer. ISBN 978-0-387-30303-1.
externí odkazy
- Podrobný popis algoritmu najdete v Numerické recepty v C, kapitola 15.5: Nelineární modely
- C. T. Kelley, Iterativní metody pro optimalizaci, SIAM Frontiers in Applied Mathematics, no 18, 1999, ISBN 0-89871-433-8. Online kopie
- Historie algoritmu ve zprávách SIAM
- Výukový program Ananth Ranganathan
- K. Madsen, H. B. Nielsen, O. Tingleff, Metody pro řešení problémů s nelineárními metodami nejmenších čtverců (nelineární tutoriál nejmenších čtverců; L-M kód: analytický Jacobian sekán )
- T. Strutz: Přizpůsobení dat a nejistota (praktický úvod do vážených nejmenších čtverců a dále). 2. vydání, Springer Vieweg, 2016, ISBN 978-3-658-11455-8.
- H. P. Gavin, Levenbergova-Marquardtova metoda pro řešení problémů s nelineárními křivkami nejmenších čtverců (MATLAB včetně implementace)