Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Cílem článku je poskytnout podporu začínajícím datovým vědcům. V předchozí článku těchto příkladech jsme si ukázali tři způsoby řešení rovnice lineární regrese: analytické řešení, gradientní sestup a stochastický gradientní sestup. Pro analytické řešení jsme použili vzorec Převádíme rovnici lineární regrese do maticového tvaru. V tomto článku, jak napovídá název, zdůvodníme použití tohoto vzorce, jinými slovy, odvodíme si ho sami.

Proč má smysl věnovat zvýšenou pozornost vzorci Převádíme rovnici lineární regrese do maticového tvaru?

Právě z maticové rovnice většinou začíná seznámení s lineární regresí. Přitom se podrobné výpočty toho, jak byl vzorec odvozen, objevují zřídka.

Například na kurzech strojového učení od Yandexu, když se posluchači seznamují s regularizací, se doporučuje využít funkce z knihovny sklearn, přičemž se nezmiňuje ani slovo o maticovém zobrazení algoritmu. V tuto chvíli může část posluchačů dostat chuť se v této problematice podívat podrobněji — napsat kód bez použití předem připravených funkcí. A k tomu je potřeba nejprve představit rovnici s regularizátorem v maticové podobě. Tento článek právě umožní těm, kteří chtějí získat takové dovednosti. Pojďme na to.

Počáteční podmínky

Cílové ukazatele

Máme řadu hodnot cílového ukazatele. Například cílovým ukazatelem může být cena nějakého aktiva: ropa, zlato, pšenice, dolar atd. Přičemž pod řadou hodnot cílového ukazatele rozumíme počet pozorování. Takovými pozorováními mohou být například měsíční ceny ropy za rok, tedy budeme mít 12 hodnot cílového ukazatele. Začněme zavádět označení. Označme každou hodnotu cílového ukazatele jako Převádíme rovnici lineární regrese do maticového tvaru. Celkem máme Převádíme rovnici lineární regrese do maticového tvaru pozorování, takže naše pozorování lze představit jako Převádíme rovnici lineární regrese do maticového tvaru.

Regresory

Budeme považovat, že existují faktory, které do určité míry vysvětlují hodnoty cílového ukazatele. Například na kurz páru dolar/rubl má silný vliv cena ropy, sazba FRS a další. Takové faktory se nazývají regresory. Každé hodnotě cílového ukazatele by mělo odpovídat hodnota regresoru, což znamená, že pokud máme 12 cílových ukazatelů za každý měsíc v roce 2018, pak také musíme mít 12 hodnot regresorů za stejné období. Označíme hodnoty každého regresoru jako Převádíme rovnici lineární regrese do maticového tvaru. Předpokládejme, že v našem případě máme Převádíme rovnici lineární regrese do maticového tvaru regresorů (tj. Převádíme rovnici lineární regrese do maticového tvaru faktorů, které mají vliv na hodnoty cílového ukazatele). Naše regresory tedy můžeme představit následujícím způsobem: pro 1. regresor (například cena ropy): Převádíme rovnici lineární regrese do maticového tvaru, pro 2. regresor (například sazba FRS): Převádíme rovnici lineární regrese do maticového tvaru, pro "Převádíme rovnici lineární regrese do maticového tvaru-tý" regresor: Převádíme rovnici lineární regrese do maticového tvaru

Závislost cílových ukazatelů na regresorech

Předpokládejme, že závislost cílového ukazatele Převádíme rovnici lineární regrese do maticového tvaru na regresorech "Převádíme rovnici lineární regrese do maticového tvaru-tého" pozorování může být vyjádřena prostřednictvím rovnice lineární regrese ve tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

, kde Převádíme rovnici lineární regrese do maticového tvaru — «Převádíme rovnici lineární regrese do maticového tvaru-té" hodnota regresoru od 1 do Převádíme rovnici lineární regrese do maticového tvaru,

Převádíme rovnici lineární regrese do maticového tvaru — počet regresorů od 1 do Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru — úhlové koeficienty, které představují velikost, o kterou se průměrně změní vypočítávaný cílový ukazatel při změně regresoru.

Jinými slovy, pro každý (s výjimkou Převádíme rovnici lineární regrese do maticového tvaru) regresor určíme "svůj" koeficient Převádíme rovnici lineární regrese do maticového tvaru, poté násobíme koeficienty hodnotami regresorů "Převádíme rovnici lineární regrese do maticového tvaru-tého" pozorování, čímž získáme určité přiblížení "Převádíme rovnici lineární regrese do maticového tvaru-tého" cílového ukazatele.

Proto potřebujeme nalézt takové koeficienty Převádíme rovnici lineární regrese do maticového tvaru, při kterých budou hodnoty naší aproximační funkce Převádíme rovnici lineární regrese do maticového tvaru umístěny co nejblíže hodnotám cílových ukazatelů.

Hodnocení kvality aproximační funkce

Určíme hodnocení kvality aproximační funkce metodou nejmenších čtverců. Funkce hodnocení kvality v tomto případě nabude následujícího tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Potřebujeme nalézt takové hodnoty koeficientů $w$, při kterých bude hodnota Převádíme rovnici lineární regrese do maticového tvaru co nejmenší.

Převedeme rovnici do maticového tvaru

Vektorové zobrazení

Nejdříve, abychom si usnadnili práci, je třeba se zaměřit na rovnici lineární regrese a všimnout si, že první koeficient Převádíme rovnici lineární regrese do maticového tvaru není násobena žádným regresorem. Přitom, když data převedeme do maticové podoby, výše uvedená okolnost značně zkomplikuje výpočty. V této souvislosti navrhujeme zavést ještě jeden regresor pro první koeficient Převádíme rovnici lineární regrese do maticového tvaru a přiradit mu hodnotu jedna. Přesněji, každou "Převádíme rovnici lineární regrese do maticového tvaru-tou" hodnotu tohoto regresoru přiradit jedné — vždyť při násobení jedničkou se nám z hlediska výsledku výpočtů nic nezmění, zatímco z pohledu pravidel maticového násobení, významně zjednoduší naše mučení.

Nyní, na nějaký čas, s cílem zjednodušit materiál, předpokládejme, že máme pouze jedno "Převádíme rovnici lineární regrese do maticového tvaru-té" pozorování. Poté si představme hodnoty regresorů "Převádíme rovnici lineární regrese do maticového tvaru-tého" pozorování jako vektor Převádíme rovnici lineární regrese do maticového tvaru. Vektor Převádíme rovnici lineární regrese do maticového tvaru má rozměrnost Převádíme rovnici lineární regrese do maticového tvaru, to znamená Převádíme rovnici lineární regrese do maticového tvaru řádků a 1 sloupec:

Převádíme rovnici lineární regrese do maticového tvaru

Hledané koeficienty si představme ve formě vektoru Převádíme rovnici lineární regrese do maticového tvaru, který má rozměrnost Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Rovnice lineární regrese pro "Převádíme rovnici lineární regrese do maticového tvaru-té" pozorování nabude tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Funkce hodnocení kvality lineárního modelu nabude tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Všimněte si, že v souladu s pravidly maticového násobení, bylo nutné transponovat vektor Převádíme rovnici lineární regrese do maticového tvaru.

Maticová reprezentace

V důsledku násobení vektorů získáme číslo: Převádíme rovnici lineární regrese do maticového tvaru, což jsme očekávali. Toto číslo je aproximací "Převádíme rovnici lineární regrese do maticového tvaru-tého" cílového ukazatele. Ale my potřebujeme aproximaci nikoliv jednoho hodnoty cílového ukazatele, ale všech. K tomu zapíšeme všechny "Převádíme rovnici lineární regrese do maticového tvaru-té" regresory ve formátu matice Převádíme rovnici lineární regrese do maticového tvaru. Získaná matice má rozměrnost Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Nyní rovnice lineární regrese nabude tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Označme hodnoty cílových ukazatelů (všechny Převádíme rovnici lineární regrese do maticového tvaru) za vektor Převádíme rovnici lineární regrese do maticového tvaru o rozměrnosti Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Nyní můžeme napsat v maticovém formátu rovnici hodnocení kvality lineárního modelu:

Převádíme rovnici lineární regrese do maticového tvaru

Vlastně, z tohoto vzorce dále získáváme nám známý vzorec Převádíme rovnici lineární regrese do maticového tvaru

Jak to děláme? Rozvíjejí se závorky, provádí se diferenciace, transformují se získané výrazy atd., a tím se nyní budeme zabývat.

Maticové transformace

Rozvineme závorky

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Připravíme rovnici pro diferenciaci

K tomu provedeme některé transformace. V následujících výpočtech bude pohodlnější, pokud bude vektor Převádíme rovnici lineární regrese do maticového tvaru představován na začátku každého součinu v rovnici.

Transformace 1

Převádíme rovnici lineární regrese do maticového tvaru

Jak se to stalo? Abychom na tuto otázku odpověděli, stačí se podívat na rozměry násobených matic a vidět, že na výstupu dostáváme číslo, nebo jinak, Převádíme rovnici lineární regrese do maticového tvaru.

Zapíšeme rozměry maticových výrazů.

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Transformace 2

Převádíme rovnici lineární regrese do maticového tvaru

Zapišme obdobně jako u transformace 1

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Na výstupu dostáváme rovnici, kterou budeme muset diferencovat:
Převádíme rovnici lineární regrese do maticového tvaru

Diferencujeme funkci hodnocení kvality modelu

Diferencujeme podle vektoru Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Otázek proč Převádíme rovnici lineární regrese do maticového tvaru by nemělo být, ale operace při určování derivací ve dvou dalších výrazech podrobněji prozkoumáme.

Diferencování 1

Otevřeme diferencování: Převádíme rovnici lineární regrese do maticového tvaru

Abychom určili derivaci matice nebo vektoru, musíme se podívat, co je uvnitř. Díváme se:

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru Převádíme rovnici lineární regrese do maticového tvaru

Označme součin matic Převádíme rovnici lineární regrese do maticového tvaru přes matici Převádíme rovnici lineární regrese do maticového tvaru. Matice Převádíme rovnici lineární regrese do maticového tvaru je čtvercová a navíc symetrická. Tyto vlastnosti se nám budou hodit dále, zapamatujme si je. Matice Převádíme rovnici lineární regrese do maticového tvaru má rozměrnost Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Nyní je naším úkolem správně násobit vektory s maticí a nezískat "dva krát dva pět", takže se soustředíme a budeme maximálně opatrní.

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Nicméně, máme složitý výraz! Ve skutečnosti jsme dostali číslo — skalár. A teď přecházíme k diferenciaci. Musíme najít derivaci získaného výrazu podle každého koeficientu Převádíme rovnici lineární regrese do maticového tvaru a na výstupu dostat vektor s rozměrem Převádíme rovnici lineární regrese do maticového tvaru. Pro jistotu popíšu postupy po jednotlivých krocích:

1) diferencujeme podle Převádíme rovnici lineární regrese do maticového tvaru, dostaneme: Převádíme rovnici lineární regrese do maticového tvaru

2) diferencujeme podle Převádíme rovnici lineární regrese do maticového tvaru, dostaneme: Převádíme rovnici lineární regrese do maticového tvaru

3) diferencujeme podle Převádíme rovnici lineární regrese do maticového tvaru, dostaneme: Převádíme rovnici lineární regrese do maticového tvaru

Na výstupu — slíbený vektor o velikosti Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Pokud se na vektor podíváte pozorněji, můžete si všimnout, že levé a odpovídající pravé prvky vektoru lze uspořádat tak, že nakonec z předloženého vektoru můžeme vyčlenit vektor Převádíme rovnici lineární regrese do maticového tvaru velikosti Převádíme rovnici lineární regrese do maticového tvaru. Například, Převádíme rovnici lineární regrese do maticového tvaru (levý prvek horního řádku vektoru) Převádíme rovnici lineární regrese do maticového tvaru (pravý prvek horního řádku vektoru) lze představit jako Převádíme rovnici lineární regrese do maticového tvaru, a Převádíme rovnici lineární regrese do maticového tvaru — jako Převádíme rovnici lineární regrese do maticového tvaru atd. pro každý řádek. Uskupíme:

Převádíme rovnici lineární regrese do maticového tvaru

Vyneseme vektor Převádíme rovnici lineární regrese do maticového tvaru a na výstupu dostaneme:

Převádíme rovnici lineární regrese do maticového tvaru

Nyní se podívejme na získanou matici. Matice je součtem dvou matic Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Vzpomněli jsme si, že jsme před chvílí zmínili jednu důležitou vlastnost matice Převádíme rovnici lineární regrese do maticového tvaru — je symetrická. Na základě této vlastnosti můžeme s jistotou prohlásit, že výraz Převádíme rovnici lineární regrese do maticového tvaru se rovná Převádíme rovnici lineární regrese do maticového tvaru. To lze snadno ověřit, když otevřeme prvek po prvku součin matic. Převádíme rovnici lineární regrese do maticového tvaruNebudeme to zde dělat, ti, kdo chtějí, mohou provést kontrolu sami.

Vrátíme se k našemu výrazu. Po našich transformacích vypadá tak, jak jsme chtěli, aby vypadal:

Převádíme rovnici lineární regrese do maticového tvaru

Takže prvního diferenciování jsme se úspěšně zhostili. Přecházíme k druhému výrazu.

Diferencování 2

Převádíme rovnici lineární regrese do maticového tvaru

Půjdeme po vyšlapané cestě. Bude mnohem kratší než ta předchozí, takže se nedávejte příliš daleko od obrazovky.

Rozložíme po jednotlivých prvcích vektory a matici:

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Na chvíli odstraníme ze výpočtů dvojku — ta zde nehraje žádnou roli, pak ji vrátíme na místo. Vynásobíme vektory maticí. Nejdříve vynásobíme matici Převádíme rovnici lineární regrese do maticového tvaru vektorem Převádíme rovnici lineární regrese do maticového tvaru, zde nemáme žádná omezení. Dostaneme vektor velikosti Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Provedeme další akci — vynásobíme vektor Převádíme rovnici lineární regrese do maticového tvaru přijatým vektorem. Na výstupu nás čeká číslo:

Převádíme rovnici lineární regrese do maticového tvaru

To je to, co budeme diferencovat. Na výstupu získáme vektor dimenze Převádíme rovnici lineární regrese do maticového tvaru:

Převádíme rovnici lineární regrese do maticového tvaru

Něco vám to připomíná? Správně! To je součin matice Převádíme rovnici lineární regrese do maticového tvaru vektorem Převádíme rovnici lineární regrese do maticového tvaru.

Tímto způsobem jsme úspěšně dokončili druhé diferenciování.

Na závěr

Nyní víme, jak vzniklo rovnost Převádíme rovnici lineární regrese do maticového tvaru.

Nakonec popíšeme rychlou cestu transformací základních vzorců.

Odhadneme kvalitu modelu podle metody nejmenších čtverců:
Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Diferencujeme získaný výraz:
Převádíme rovnici lineární regrese do maticového tvaru Převádíme rovnici lineární regrese do maticového tvaru

Převádíme rovnici lineární regrese do maticového tvaru

Literatura

Internetové zdroje:

1) habr.com/ru/post/278513
2) habr.com/ru/company/ods/blog/322076
3) habr.com/ru/post/307004
4) nabatchikov.com/blog/view/matrix_der

Učebnice, sborníky úloh:

1) Konspekt přednášek z vyšší matematiky: kompletní kurz / D.T. Písmený – 4. vyd. – M.: Iris-press, 2006
2) Aplikovaná regrese / N. Draper, G. Smith – 2. vyd. – M.: Finance a statistika, 1986 (překlad z angličtiny)
3) Úlohy na řešení maticových rovnic:
function-x.ru/matrix_equations.html
mathprofi.ru/deistviya_s_matricami.html


Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster