Kezdőoldal » Tudományok » Alkalmazott tudományok » A Levenberg–Marquardt algoritm...

A Levenberg–Marquardt algoritmust el tudná valaki magyarázni?

Figyelt kérdés
Sajnos a wikipedias szócikket nem értem: [link] Egyszerűen le tudná valaki írni a lényegét?

#Levenberg–Marquardt
2021. febr. 21. 03:00
 1/1 anonim ***** válasza:

Az algoritmus egy f(x, p1, p2, ..., pn) függvény p paramétereit próbálja optimalizálni úgy, hogy az a legkisebb négyzetes hibát adja az (xi, yi) megfigyeléseiden.


Úgy működik, hogy kezd egy bármilyen p1...pn vektorral (a példában csupa 1-es, de lehet véletlenszerű is), és megnézi hogy az adott pontban a hibafüggvény gradiense mely irányba mutat. Ennek az a jelentése, hogy ha p1-et infinitezimálisan változtatom, akkor a hibafüggvény e1-nyit nő/csökken, ha p2-t, akkor e2-nyit, és így tovább. A (p1, ... pn)-beli gradiens ez az (e1, e2, ... en) vektor, ezt nevezik a hibafüggvény adott pontban vett legnagyobb meredekség irányának. Ha nem tanultál analízist, akkor esélytelen hogy ennyiből megértsd, de mindegy.

Amit ez az algoritmus csinál, hogy a p1..pn vektort ebbe az e1..en irányba változtatja egy ügyesen kiszámított méretű ugrással (ami se nem túl kicsi, se nem túl nagy, ne is menjünk bele) és ez jó esetben egy alacsonyabb hibát eredményez. Az új p1..pn pontban ugyanezt megismétli, és ezt csinálja egészen addig amíg nem tudja tovább csökkenteni a hibát.


A fő gond vele, hogy bele tud ragadni lokális optimumokba, tehát olyan p vektorokba, amelyeket bármely irányba infinitezimálisan változtatva nagyobb lesz a hiba, annak ellenére, hogy egy kellően nagy ugrással sokkal alacsonyabb hibát is el lehetne érni. 1 dimenzióban így néz ki egy lokális minimum: [link]


Még valami, ha te vagy az, aki a töréspontos kérdést kiírta a múlt héten: a gradiens a töréspont paraméterre nézve mindig nulla vagy végtelen (végtelen a meglevő xi pontokban, nulla mindenhol máshol) tehát ha a többit még úgy-ahogy meg is oldja, a töréspontot mindenképp ki kell faktorálnod a függvényedből, és nyers erővel optimalizálnod, mert ez az algoritmus magától nem fogja megmozdítani neked a kezdeti értékét.

2021. febr. 26. 14:01
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!