#18 Vyšší polynomy, trocha teorie
Publikováno 22.09.2023 v 10:30 v kategorii Regrese, přečteno: 53x
Už delší dobu tě psychicky připravuji na to, že vyšší polynomy (mnohočleny) budou o něco složitější než všechny dosavadní regrese, které jsme probírali. Má to dva prosté důvody: První z nich je ten, že polynomiální křivka se dokáže vícekrát zlomit (ohnout). Druhý je, že nebude existovat jednoduché ani komplikovanější algebraické řešení pomocí už připravených vzorců, ale musí se vypočítávat pomocí aproximace.
Pokud jde o to první, tj. že se křivka dokáže ohýbat (podle počtu členů), to bude mít zásadní význam pro to, že se mnohem pružněji dostane blízko stanoveným uzlovým bodům, než tomu bylo u jednoduchých křivek, které se byly schopny ohnout jen 1x (hyperbola, parabola, logaritmická křivka) nebo 0x (lineární přímka). To je ta dobrá optimistická zpráva. Ta horší, pesimistická, je, že výpočet bude zatížen vždy určitou chybou, protože výsledek bude, jak jsem řekl, nějakým způsobem aproximovaný. Je třeba počítat s tím, že není absolutně přesný a může to působit menší či větší problémy při pozdějším použití v iteracích (opakování). S tou horší zprávou je spojeno také to, že výpočet vyšších polynomů bude sám o sobě komplikovanější matematicky a bude stát tudíž i více strojového času.
Ani jedno by tě ale nemělo odradit. Dokonce nesmí! Vyšší polynomy a jejich křivky jsou nesmírně užitečná věc a pro zajištění zpětné vazby ve strojovém učení mohou být zásadní.
Řekl bych slovy klasika, končí sranda - začíná zábava. Jednu věc ze své zkušenosti ti můžu zase potvrdit. Naprostá většina lidí, programátorů, bude používat to, co je nejjednodušší - lineární regresi. K ní jde totiž všude najít spousty povídání a snadno pochopitelné a zpracovatelné vzorečky. Tím, že počítat vyšší polynomy už není tak snadné a ani neexistuje jednoznačný postup, tak se jim raději vyhýbají, pokud o nich vůbec vědí. Tím spíše si je tu probereme, protože tím se zvětšují tvoje možnosti programování zpětné vazby a zvyšuje se i tvoje cena.
Co přesně myslím vyšším polynomem? Pro účely našeho seriálu tím budu rozumět mnohočleny, které dosahují vyššího stupně než 1 (tj. lineární rovnice). Obecně je to tedy nejvyšší exponent, který se v mnohočlenu vyskytuje. Takže kvadratický polynom je stupeň 2, čili x2. Kubický polynom je stupeň 3, čili x3. Atd. Pro vyšší polynomy xn už nemáme jména a jsou to zkrátka polynomy stupně N.
Nejdále, kam se principiálně dostaneme a kde to dává ještě rozumný smysl vzhledem k možnostem současných počítačů, je polynom stupně 10. Můžeme teoreticky konstruovat i vyšší stupně polynomů, ale chybovost bude už jednak zásadně narůstat, jednak to nebude mít žádný praktický dopad na konstrukci zpětné vazby. Uvidíš sám, že v praxi asi vyšší polynomy než 2.-3. stupně používat příliš nebudeš.
Doteď jsme se zastavili u polynomu 1 - lineární regrese. Pak jsme konstruovali jiné alternativní křivky s jedním ohybem, tzn. hyperbolickou regresi, logaritmickou, exponenciální, mocninnou. V následující kapitole se vrhneme na polynom stupně 2. Budeme si rovnou dávat i praktické ukázky, abys viděl, jak ta regrese ve vyšším polynomu pracuje.
U každého polynomu si ukážeme postup, jak to udělat, aby to fungovalo. Těch postupů může být spousty, ale já ti řeknu ten, který mám už osvědčený a který můžeš s klidem použít. Jako vždy bude zásadní rovnicí to, kde je Y=... a kde se dozvíš jeden konkrétní výsledek. Ten potom zapracuješ do svého programu. Ale předně se musíš dostat ke koeficientům A, B..., které jsme řešili u každé regrese v minulosti. Jen jich bude víc a bude to obtížnější.
Myslím, že je čas vyrazit. Začneme pozvolna, nicméně z gruntu.
Komentáře
Celkem 0 komentářů