Lagrange Multiplier Demystified

Image via https://elements.envato.com under license to Naoki Shibuya

Have you ever wondered why we use the Lagrange multiplier to solve constrained optimization problems?

Is it just a clever technique?

vzhledem k tomu, že je velmi snadné použití, učíme se to jako základní aritmetiku tím, že ji cvičíme, dokud to nedokážeme srdcem.

ALE Přemýšleli jste někdy, proč to funguje? Funguje to vždycky? Pokud ne, proč ne?

Pokud chcete znát odpovědi na tyto otázky, jste na správném místě.

demystifikuji to za vás.

příklad omezený optimalizační problém

V případě, že nejste obeznámeni s tím, co constrained optimalizace jsou, jsem napsal článek, který to vysvětluje. V opačném případě čtěte dále.

Předpokládejme, že máme horu, která vypadá níže:

Image by author using Grapher on macOS

The height of a location (x, y) is given as follows (in kilometers):

Further suppose, the mountain has an eruption:

Image by author using Grapher on macOS

From the top, it looks like below:

Image by author using Grapher on macOS

The eruption area is given as follows:

To znamená, že okraje erupce je dána takto:

Tak, na okraj, vypadá takhle.

Obrázek vytvořil autor pomocí Grapher na macOS

Předpokládejme, že chceme vědět, co nejvyšší pozici erupce na této hoře.

To znamená, že nejvyšší pozice, musí být na okraji trati erupce, které můžeme vyjádřit takto:

místo (x, y), který splňuje g(x, y)=0 je na okraji erupce.

Proto, omezený optimalizační problém je najít maximální f(x, y) uspokojující g(x, y) = 0.

Intuice o tom, jak vyřešit omezený optimalizační problém

Intuitivně víme, že maximální výška erupce je kolem kde je modrá šipka ukazuje.

Obrázek vytvořil autor pomocí Grapher na macOS

Těšíme se na nejvyšší vrstevnici, která se dotýká okraje erupce.

definujme rovnici vrstevnice:

f(x, y) = H

H je konstantní hodnota udávající výšku obrysu.

Pro danou hodnotu H, existuje sada (x, y) hodnoty, které splňuje f(x, y) = H.

gradient f(x, y) označuje směr, kde se zvyšuje výška, která je kolmá k obrysové čáře.

Image by author using Grapher on macOS

The gradient is a vector of partial derivatives.

Similarly, the gradient of g(x, y) is perpendicular to the edge of the eruption area.

nejvyšší vrstevnici, která se dotýká okraje erupce musí mít sklon f(x, y) paralelně k přechodu g(x, y).

Obrázek podle autora

Pokud je gradient vrstevnici není souběžně s přechodem erupce okraji, tam budou nějaké erupce oblast, která se nachází vyšší než vrstevnice.

Obrázek podle autora

musíme najít takový bod (x, y), kde gradient f(x, y) je paralelně k přechodu g(x, y).

Lagrangeův multiplikátor a Lagrangeův

vložíme náš cíl do matematického vzorce.

přechod f(x, y) a gradient g(x, y) by měl být v paralelní, ale mohou mít různé velikosti a směru.

grad f(x, y) = λ grad g(x, y)

λ se nazývá Lagrangeův násobič za názvem matematik, který představil Lagrangeovské mechaniky v roce 1788.

Joseph-Louis Lagrange (Wikipedia)

V této fázi, nevíme hodnota λ což by mohlo být něco jako 2,5, -1, nebo jiným. Znamená to jen skutečnost, že dva přechody musí být paralelně.

rovnici můžeme přeskupit následovně:

grad { f(x, y) - λ g(x, y) } = 0

nula zde znamená vektor s nulami: (0,0).

a vnitřek složených závorek nazýváme Lagrangián L.

L = f(x, y) - λ g(x, y)

takže říkáme, že následující je požadovaná podmínka.

grad L = 0

gradient Lagrangiánu nám dává dvě rovnice.

Ale máme tři neznámé xyλ. Jak můžeme vyřešit tyto rovnice?

ve skutečnosti máme ještě jednu rovnici, která je g(x, y) = 0.

takže můžeme vyřešit tři rovnice, abychom našli nejvyšší umístění (x, y), které splňuje omezení.

problém se nyní stává aritmetickým cvičením.

odpověď je f(x, y) = 2 where x = 1 and y = 1.

Obrázek vytvořil autor pomocí Grapher na macOS

Můžete ověřit hodnoty s rovnic.

také λ = -4/5 což znamená, že tyto gradienty jsou podle očekávání v opačných směrech.

celkově je multiplikátor Lagrange užitečný pro řešení problémů s optimalizací omezení.

najít místo (x, y), kde je gradient funkce, které jsme optimalizaci a gradient omezení funkce je souběžně pomocí multiplikační λ.

v souhrnu jsme postupovali podle následujících kroků:

  • Identifikujte funkci pro optimalizaci (maximalizaci nebo minimalizaci): f(x, y)
  • Identifikujte funkci pro omezení: g(x, y) = 0
  • Definovat Lagrangeovské L = f(x, y) - λ g(x, y)
  • Řešení grad L = 0 splňující omezení

je To jako mechanické jako výše, a teď víte, proč to funguje.

ale je třeba zmínit ještě několik věcí.

když to nefunguje

udělal jsem několik předpokladů při vysvětlování Lagrangeova multiplikátoru.

za Prvé, předpokládal jsem, že všechny funkce mají přechody (první deriváty), což znamená, že funkce f(x, y)g(x, y) jsou spojité a hladké.

za Druhé, jsem se také předpokládat, že f(x, y) má druhé derivace, takže můžeme zkontrolovat, zda roztok (x, y) je skutečně maximální, nebo ne.

tyto dva předpoklady jsou pravdivé v tomto příkladu, ale v reálných problémech byste měli zkontrolovat, zda je možné použít Lagrangeův multiplikátor k vyřešení problému optimalizace omezení.

za třetí, zjednodušil jsem otázku tak, že se musíme zabývat pouze jedním maximem.

jinými slovy, tvar hory je definován tak, že existuje pouze jedno řešení problému omezené optimalizace.

v reálných problémech by Hora mohla mít složitější tvary s více vrcholy a údolími.

https://unsplash.com/@simonfitall

V takovém případě budeme muset vypořádat s globální optimalizační problém (tj. více lokální maxima).

místo toho se příklad v tomto článku zabývá pouze jedním lokálním maximem, které je také globálním maximem.

doufám, že vaše chápání Lagrangeova multiplikátoru je nyní optimální.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *