Metoda nejmensich ctvercu
Dobry den, pomohl byste mi objasnit teoreticky zaklad pro vypocet nejmensich ctvercu (resp. priblizne reseni funkce se vstupy z realneho sveta)? Nevim, proc se to pocita tak, jak se to pocita.
Zdeněk S.
04. 11. 2019 01:58
4 odpovědi
Zdenku, tohle se hrozne blbe vysvetluje takhle v komentari. Nemate nahodou muj kurz na funkce vice promennych? Vysvetluju to tam v druhem a tretim videu jako motivaci pro praci s fumkcemi vice promennych.
Strucne receno jde o to, ze mate namerena data ktera prokladate nejakou krivkou. A chcete aby soucet druhych mocnin rozdilu namerenych a teoretickych dat byl co nejmensi. A snazite se nastavit parametry te krivky aby co nejlepe vystihovala ta namerena data.
Snad to trochu pomuze.
Marek
Ahoj, zrovna řeším předmět analýza vícerozměrných dat a zmíněný kurz jsem si zakoupil čistě jen právě kuli těm dvěma videím lineární regrese a ještě parciální derivace. Určitě doporučuji. I když většinu z toho kurzu nevyužiji, kuli zmíněným fakt nelituji a pomohly mi. :-)
Ahoj Zdeňku, Marek má pravdu, protože na dobré pochopení to chce vědět, co to jsou kvadratické formy a umět počítat derivace vícerozměrných funkcí, aby se daly odvodit Normálové rovnice, které jsou základem řešení.
Samotná myšlenka se ovšem dá vysvětlit poměrně jednoduše a bez algebry, když si vezmeme na pomoc statistiku.
Řekněme, že postupně losujeme čísla a poté, co jsme z osudí vytáhli N hodnot \(y1, y2, ..., yN\), bychom rádi uhádli další tažené číslo. To vypadá hodně složitě, protože toho víme hodně málo a šance, že bychom se trefili, je asi dost malá. Nicméně bychom rádi dali alespoň takový tip, který není tak úplně mimo.
V tom případě intuitivně dává smysl, že bychom si třeba mohli spočítat průměr už vytažených hodnot a prohlásit ho za svůj tip. Průměrná hodnota je velmi oblíbená a často používaná veličina a za daných okolností to vypadá jako nejlepší možnost.
Alternativně se můžeme pokusit matematicky vyjádřit, jak moc se svým tipem spleteme. Náš tip označíme třeba hodnotou t a velikost chyby můžeme zapsat jako \((t - y)^2\), kde y je už tažená hodnota. Kvadrát je také výhodná funkce, protože je vždy kladná (a nemůžeme udělat zápornou chybu) a navíc bude pro velké chyby dávat velké hodnoty, zatímco malé chyby jsou po umocnění zase malé.
Protože se chceme splést co nejméně v každém případě, můžeme vytvořit chybovou funkci \(L(t)\) ze všech dosud vylosovaných čísel. Zdůrazním, že L je funkcí proměnné t (náš odhad), zatímco y jsou fixní hodnoty.
\(L(t) = (t - y1)^2 + (t - y2)^2 + ... + (t - yN)^2\)
Teď už je to jen základní analýza - L(t) je vždy kladná a hledáme její minimum. To znamená, že ji zderivujeme a položíme rovnu 0.
\(dL(t)/dt = 2(t - y1) + 2(t - y2) + ... + 2(t - yN) := 0\)
To je jednoduchá lineární rovnice:
\(2(t - y1) + 2(t - y2) + ... + 2(t - yN) = 0\)
\(N * t = y1 + y2 + ... yN\)
\(t = 1/n * (y1 + y2 + ... yN)\)
Takže pokud si zvolíme kvadratickou funkci jako reprezentaci velikosti chyby v našem odhadu, je nejlepším řešením ... zase průměr hodnot! Což odpovídá intuici a v praxi se ukazuje jako poměrně dobrá strategie z mnoha dalších důvodů.
L(t) je součtem čtverců chyb, které děláme, odtud název. Navíc je výsledek konzistentní s intuicí, protože nejmenším součtem (a nejmenší chybou) je jednoduše průměr. V lineární algebře to odpovídá takovému vektoru ze všech možných řešení, který dává nejmenší možnou vzdálenost mezi odhadem a reálnými daty, tomu říkáme projekce.
Malým zobecněním celého postupu je, že máme k dispozici dvojice hodnot \((x1, y1), (x2, y2), ..., (xN, yN)\) a chceme jimi proložit přímku \(px + q = y\). Postup, který jsem tady popsal, se dá identicky použít i na tenhle případ.
Dekuji Vam obema! Zmineny kurz si urcite v nejblizsi dobe zakoupim, protoze me to proste zajima.