Diskusia: Lokální extrémy funkce

Člen

Zobrazené 8 správy z 8.
Na prispôsobenie obsahu a reklamy, poskytovanie funkcií sociálnych médií a analýzu našej návštevnosti používame súbory cookie. Informácie o tom, ako náš web používaš, zdieľame s našimi partnermi pre sociálne médiá, inzerciu a analýzy. Partneri môžu tieto údaje kombinovať s ďalšími informáciami, ktoré si im poskytol alebo ktoré získali v dôsledku toho, že používaš ich služby.
Používame nevyhnutné cookies na fungovanie webu a s tvojím súhlasom aj analytické a marketingové cookies.
Zaisťujú základné funkcie, bezpečnosť a služby, ktoré si si vyžiadal. Nedajú sa vypnúť.
| Služba | Poskytovateľ | Účel | Cookies a úložisko | Doba uloženia |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Prevádzka webu, relácia, prihlásenie a uloženie nastavenia cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relácia až 1 rok |
| Google Tag Manager | Správa značiek a načítanie meracích nástrojov webu. | Žiadne | Neukladá sa | |
| Google Fonts | Načítanie typografie webu. | Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa | |
| Google Hosted Libraries | Načítanie potrebných knižníc a štýlov webu. | Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa | |
| Google reCAPTCHA | Ochrana formulárov a webu pred zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relácia až 180 dní | |
| YouTube | Prehrávanie vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relácia až trvalé úložisko | |
| Vimeo | Vimeo | Prehrávanie vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relácia až 2 roky |
| Facebook Login | Meta | Prihlásenie pomocou účtu tretej strany. | Úložisko riadené poskytovateľom | Relácia až 1 rok |
| GoPay | GoPay | Spracovanie používateľom vyžiadanej platby. | Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa |
Pomáhajú nám porozumieť používaniu webu a zlepšovať ho.
| Služba | Poskytovateľ | Účel | Cookies a úložisko | Doba uloženia |
|---|---|---|---|---|
| Google Analytics 4 | Meranie návštevnosti a používania webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Meranie návštevnosti a používania webu. | _clck, _clsk, _cltk | Relácia až 1 rok |
Slúžia na meranie kampaní, personalizáciu reklamy a marketingovú komunikáciu.
| Služba | Poskytovateľ | Účel | Cookies a úložisko | Doba uloženia |
|---|---|---|---|---|
| Google Ads | Meranie kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relácia až 90 dní | |
| Meta Pixel | Meta | Meranie kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Meranie kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relácia až trvalé úložisko |
| LinkedIn Insight | Meranie kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relácia až 1 rok | |
| Ecomail | Ecomail.cz | Meranie kampaní, reklama a remarketing. | ecmid, Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa |
| Atribúcia kampaní ITnetwork | ITnetwork | Priradenie návštevy a objednávky ku kampani. | campaign_clid[*], user_session_context | Až 1 rok |


Ahoj, tak jenom pro sjednocení postupu, abychom to chápali stejně. Lokální extrémy funkce f() obecně o n neznámých hledáme následovně:
Mimochodem obecný předpokladem pro tento postup je, že funkce f() je derivovatelná.
Popis postupu není asi úplně matematicky přesně a některé detaily
zanedbává, ale přišlo mi dobré to zde vysvětlit trochu "lidsky". 
Nuže v dalších komentáři zkusím postup aplikovat a vyřešit
konkrétně tu Tvoji funkci. 
Takže jdeme na to. Nejdříve opíši zadání:
f(x,y) = y + 1/y - 2 * (ln(x))^2
Možná by předem také nebylo špatné vidět, jak ta funkce vlastně
vypadá v grafu. K tomu si na pomoc vezmu Wolfram|Alpha a pro jistotu ho
použiji i k počítání derivací, abych si to ověřil. 
0. Graf funkce:
https://www.wolframalpha.com/input/?…
Mimochodem předpokládám, že počítáme na R, takže
budu ignorovat, že to má řešení i v C. 
1. Spočítám gradient:
d/dx y + 1/y - 2 * (ln(x))^2 = - (4 * ln(x)) / x
https://www.wolframalpha.com/input/?…
d/dy y + 1/y - 2 * (ln(x))^2 = 1 - 1/(y^2)
https://www.wolframalpha.com/input/?…
grad y + 1/y - 2 * (ln(x))^2 = (- (4 * ln(x)) / x, 1 - 1/(y^2))
https://www.wolframalpha.com/input/?…
Tak jo, máme gradient, který teď můžeme vzít a položit rovno nule, ale
to udělám až v dalším komentáři. 
Koukám, že ITnetwork komentáře nějak kazí ty odkazy na Wolfram, když
tak stačí vzít tu první část a vložit přímo na stránku a mělo by to
normálně spočítat, jelikož to píšu v té jejich syntaxi. 
2. Položíme gradient rovno nule (samozřejmě vektorově):
(- (4 * ln(x)) / x, 1 - 1/(y^2)) = (0,0)
Z toho vznikne soustava rovnic:
- (4 * ln(x)) / x = 0, 1 - 1/(y^2) = 0
A její výsledek budou stacionární body:
x = 1, y = 1
x = 1, y = -1
https://www.wolframalpha.com/input/?…
Toto jsou tedy naše dva body.
Další krok je spočítat druhou derivaci funkce, neboli hesián. Viz.
další komentář. 
3. Spočítáme hesián:
a. Derivace první složky gradientu podle x:
d/dx - (4 * ln(x)) / x = (4 * (ln(x) - 1)) / x^2
http://m.wolframalpha.com/input/?…
Vlastně se jedná o druhou derivaci původní funkce.
b. Derivace druhé složky gradientu podle x:
d/dx 1 - 1/(y^2) = 0
http://m.wolframalpha.com/input/?…
Ano, je potřeba derivovat všechny složky, i když už se tam samotná derivační proměnná nenachází, protože v obecném případě tam klidně může být.
c. Derivace první složky gradientu podle y:
d/dy - (4 * ln(x)) / x = 0
http://m.wolframalpha.com/input/?…
d. Derivace druhé složky gradientu podle y:
d/dy 1 - 1/(y^2) = 2 / y^3
http://m.wolframalpha.com/input/?…
Z těchto čtyř derivací vznikne tedy hesiánová matice:
hessian matrix y + 1/y - 2 * (ln(x))^2 = ((4 * (ln(x) - 1)) / x^2 0, 0 2 / y^3)
http://m.wolframalpha.com/input/?…
Omlouvám se za zápis, ale víceřádková matice se špatně zapisuje na jeden řádek.
A nyní je tedy potřeba do matice dosadit stacionární body a zjistit, zda
bude > 0, < 0 nebo = 0. Opět viz. další komentář. 
4. Dosazení stacionárních bodů do hesiánu:
a. První bod (1,1):
((4 * (ln(x) - 1)) / x^2 0, 0 2 / y^3) => ((4 * (ln(1) - 1)) / 1^2 0, 0 2 / 1^3) = (-4 0, 0 2)
Poměrně jednoduché dosazení, ale jaká je tato výsledná matice? To zjistíme pokud se budeme ptát na její tzv. definitnost. Pokud bude pozitivně definitní, tak je v bode lokální minimum. Pokud bude naopak negativně definitní, tak je v bodě lokální maximum. Pokud bude indefinitní, tak je v bodě již zmiňované sedlo.
Nuže:
Is {{-4, 0}, {0, 2}} positive definite? => NO
Is {{-4, 0}, {0, 2}} negative definite? => NO
https://www.wolframalpha.com/input/?…
https://www.wolframalpha.com/input/?…
Z toho plyne, že v bodě není ani lokální minimum, ani lokální maximum, nýbrž sedlo. Dobrá, ještě zkontrolovat druhý bod stejným postupem.
b. Druhý bod (1,-1):
((4 * (ln(x) - 1)) / x^2 0, 0 2 / y^3) => ((4 * (ln(1) - 1)) / 1^2 0, 0 2 / (-1)^3) = (-4 0, 0 -2)
Definitnost výsledné matice:
Is {{-4, 0}, {0, -2}} positive definite? => NO
Is {{-4, 0}, {0, -2}} negative definite? => YES
https://www.wolframalpha.com/input/?…
https://www.wolframalpha.com/input/?…
Z toho tedy plyne, že v bodě (1, -1) se nachází lokální extrém a je to
lokální maximum. Heuréka! 
Mimochodem všechny tyto poznatky už se daly zkušenějším okem docela
dobře vykoukat z toho původního grafu funkce. 
Tento kód vrátí onen bod:
max y + 1/y - 2 * (ln(x))^2
https://www.wolframalpha.com/input/?…
A tento řekne, že zde není žádné minimum:
min y + 1/y - 2 * (ln(x))^2
https://www.wolframalpha.com/input/?…
To je za mě asi všechno, kdyby byly nějaké dotazy, klidně se ptejte.

P.S.: Osobně matiku moc nemusím... 
Zobrazené 8 správy z 8.