Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Scopul articolului este de a oferi suport începătorilor în data science. În articolul anterior am explicat pe înțelesul tuturor trei metode de rezolvare a ecuației regresiei liniare: soluția analitică, coborârea gradientului și coborârea stochastică a gradientului. Astfel, pentru soluția analitică am aplicat formula Transformăm ecuația regresiei liniare în formă matricială. În acest articol, după cum sugerează titlul, vom justifica aplicarea acestei formule sau, cu alte cuvinte, o vom deduce singuri.

De ce are sens să acordăm o atenție deosebită formulei Transformăm ecuația regresiei liniare în formă matricială?

Anume cu ecuația matricială, în cele mai multe cazuri, începe familiarizarea cu regresia liniară. Totuși, detaliile despre cum a fost dedusă formula sunt rare.

De exemplu, în cursurile de învățare automată de la Yandex, când ascultătorii sunt familiarizați cu regularizarea, li se sugerează să folosească funcțiile din biblioteca sklearn, fără a menționa vreun cuvânt despre reprezentarea matricială a algoritmului. Exact în acel moment, unii dintre ascultători ar putea dori să aprofundeze această problemă — să scrie un cod fără a folosi funcții gata făcute. Și pentru aceasta, trebuie mai întâi să ne reprezentăm ecuația cu regularizatorul în formă matricială. Acest articol va permite celor care doresc să dobândească astfel de abilități. Să începem.

Condițiile inițiale

Indicatorii țintiți

Avem o serie de valori ale indicatorului țintă. De exemplu, indicatorul țintă poate fi prețul unui activ: petrol, aur, grâu, dolar etc. În acest context, prin seria de valori ale indicatorului țintă înțelegem numărul de observații. Aceste observații pot fi, de exemplu, prețurile lunare ale petrolului timp de un an, adică vom avea 12 valori ale indicatorului țintă. Să începem să introducem denumirile. Vom denumi fiecare valoare a indicatorului țintă ca Transformăm ecuația regresiei liniare în formă matricială. În total, avem Transformăm ecuația regresiei liniare în formă matricială observații, așa că putem reprezenta observațiile noastre ca Transformăm ecuația regresiei liniare în formă matricială.

Regresorii

Să considerăm că există factori care, într-o anumită măsură, explică valorile indicatorului țintă. De exemplu, în cazul cursului perechii dolar/rublă, prețul petrolului, rata FRS și altele au un impact semnificativ. Acești factori se numesc regresori. Astfel, fiecărei valori a indicatorului țintă trebuie să îi corespundă o valoare a regresorului, adică, dacă avem 12 indicatori țintă pentru fiecare lună din 2018, atunci trebuie să avem și 12 valori ale regresorilor pentru aceeași perioadă. Să denotăm valorile fiecărui regresor prin Transformăm ecuația regresiei liniare în formă matricială. Să presupunem că în cazul nostru avem Transformăm ecuația regresiei liniare în formă matricială regresori (adică Transformăm ecuația regresiei liniare în formă matricială factori care influențează valorile indicatorului țintă). Astfel, regresorii noștri pot fi reprezentați după cum urmează: pentru 1-regresor (de exemplu, prețul petrolului): Transformăm ecuația regresiei liniare în formă matricială, pentru 2-regresor (de exemplu, rata FRS): Transformăm ecuația regresiei liniare în formă matricială, pentru regresorul „Transformăm ecuația regresiei liniare în formă matricială-lea”: Transformăm ecuația regresiei liniare în formă matricială

Dependenta indicatorilor țintă de regresori

Presupunem că dependența indicatorului țintă Transformăm ecuația regresiei liniare în formă matricială de regresorii „Transformăm ecuația regresiei liniare în formă matricială-ei” observații poate fi exprimată printr-o ecuație de regresie liniară de forma:

Transformăm ecuația regresiei liniare în formă matricială

, unde Transformăm ecuația regresiei liniare în formă matricială — «Transformăm ecuația regresiei liniare în formă matricială-le” valoare a regresorului de la 1 la Transformăm ecuația regresiei liniare în formă matricială,

Transformăm ecuația regresiei liniare în formă matricială — numărul regresorilor de la 1 la Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială — coeficienții unghiulari, care reprezintă magnitudinea cu care se va schimba indicatorul țintă calculat în medie la schimbarea regresorului.

Cu alte cuvinte, pentru fiecare regresor (cu excepția Transformăm ecuația regresiei liniare în formă matricială) definim coeficientul „propriu” Transformăm ecuația regresiei liniare în formă matricială, apoi înmulțim coeficienții cu valorile regresorilor „Transformăm ecuația regresiei liniare în formă matricială-ei” observații, rezultând o aproximare a indicatorului țintă „Transformăm ecuația regresiei liniare în formă matricială-ei”.

Prin urmare, trebuie să găsim coeficienți Transformăm ecuația regresiei liniare în formă matricială, pentru care valorile funcției noastre de aproximare Transformăm ecuația regresiei liniare în formă matricială vor fi plasate cât mai aproape de valorile indicatorilor țintă.

Evaluarea calității funcției de aproximare

Vom determina evaluarea calității funcției de aproximare prin metoda celor mai mici pătrate. Funcția de evaluare a calității va avea următoarea formă:

Transformăm ecuația regresiei liniare în formă matricială

Trebuie să găsim valori ale coeficientelor $w$, pentru care valoarea Transformăm ecuația regresiei liniare în formă matricială va fi cea mai mică.

Transformăm ecuația într-o formă matriceală

Reprezentare vectorială

Pentru început, pentru a ne ușura viața, ar trebui să ne îndreptăm atenția către ecuația de regresie liniară și să observăm că primul coeficient Transformăm ecuația regresiei liniare în formă matricială nu este multiplicat cu niciun regresor. În acest context, atunci când vom transforma datele într-o formă matricială, circumstanța menționată anterior va complica serios calculele. În acest sens, se propune introducerea unui alt regresor pentru primul coeficient. Transformăm ecuația regresiei liniare în formă matricială și să-l egalăm cu unu. Mai exact, fiecare „Transformăm ecuația regresiei liniare în formă matricială-a” valoare a acestui regresor va fi egalată cu unu — căci, prin multiplicarea cu unu, din punctul de vedere al rezultatelor calculelor, nimic nu se va schimba, iar din perspectiva regulilor multiplicării matricelor, ne vor scuti de multe neplăceri.

Acum, pentru o perioadă, în scopul simplificării materialului, să presupunem că avem doar o singură „Transformăm ecuația regresiei liniare în formă matricială-a” observație. Atunci, să ne imaginăm valorile regresorilor pentru observația „Transformăm ecuația regresiei liniare în formă matricială-ă” sub forma unui vector. Transformăm ecuația regresiei liniare în formă matricialăVectorul Transformăm ecuația regresiei liniare în formă matricială are dimensiunea Transformăm ecuația regresiei liniare în formă matricială, adică Transformăm ecuația regresiei liniare în formă matricială linii și 1 coloană:

Transformăm ecuația regresiei liniare în formă matricială

Coeficientii căutați i-am reprezentat sub formă de vector Transformăm ecuația regresiei liniare în formă matricială, având dimensiunea Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Ecuația regresiei liniare pentru observația „Transformăm ecuația regresiei liniare în formă matricială-ă” va avea următoarea formă:

Transformăm ecuația regresiei liniare în formă matricială

Funcția de evaluare a calității modelului liniare va lua următoarea formă:

Transformăm ecuația regresiei liniare în formă matricială

Să observăm că, în conformitate cu regulile multiplicării matricelor, a fost necesar să transpunem vectorul Transformăm ecuația regresiei liniare în formă matricială.

Reprezentarea matricială

Ca rezultat al multiplicării vectorilor, vom obține un număr: Transformăm ecuația regresiei liniare în formă matricială, ceea ce era de așteptat. Acest număr este aproximarea valorii țintă „Transformăm ecuația regresiei liniare în formă matricială-ului”. Însă noi avem nevoie de aproximarea nu unei singure valori a indicatorului țintă, ci a tuturor. În acest scop, vom scrie toți regresorii „Transformăm ecuația regresiei liniare în formă matricială-i” în format matricial. Transformăm ecuația regresiei liniare în formă matricialăMatricea obținută are dimensiunea Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Acum ecuația regresiei liniare va arăta astfel:

Transformăm ecuația regresiei liniare în formă matricială

Să notăm valorile indicatorilor țintă (toate Transformăm ecuația regresiei liniare în formă matricială) prin vectorul Transformăm ecuația regresiei liniare în formă matricială de dimensiune Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Acum putem scrie în format matricial ecuația evaluării calității modelului liniare:

Transformăm ecuația regresiei liniare în formă matricială

Practic, din această formulă obținem formula bine cunoscută nouă. Transformăm ecuația regresiei liniare în formă matricială

Cum se face acest lucru? Se deschid parantezele, se realizează derivarea, se transformă expresiile obținute etc., iar exact asta ne vom ocupa acum.

Transformări matriciale

Să deschidem parantezele

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Să pregătim ecuația pentru derivare

Pentru aceasta, vom efectua unele transformări. În calculele viitoare, ne va fi mai convenabil dacă vectorul Transformăm ecuația regresiei liniare în formă matricială va fi reprezentat la începutul fiecărui produs din ecuație.

Transformarea 1

Transformăm ecuația regresiei liniare în formă matricială

Cum s-a întâmplat asta? Pentru a răspunde la această întrebare, este suficient să ne uităm la dimensiunile matricelor înmulțite și să vedem că la ieșire obținem un număr sau altfel Transformăm ecuația regresiei liniare în formă matricială.

Să notăm dimensiunile expresiilor matriciale.

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformare 2

Transformăm ecuația regresiei liniare în formă matricială

Să detaliem în mod similar transformarea 1

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

La ieșire obținem ecuația pe care trebuie să o derivăm:
Transformăm ecuația regresiei liniare în formă matricială

Derivăm funcția de evaluare a modelului

Derivăm după vector Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Întrebările de ce Transformăm ecuația regresiei liniare în formă matricială nu ar trebui să existe, dar operațiile de definire a derivatelor în celelalte două expresii le vom analiza mai detaliat.

Derivare 1

Să detaliem derivarea: Transformăm ecuația regresiei liniare în formă matricială

Pentru a determina derivata unei matrice sau a unui vector, trebuie să ne uităm la ce au în interior. Să ne uităm:

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială Transformăm ecuația regresiei liniare în formă matricială

Să denotăm produsul matricelor Transformăm ecuația regresiei liniare în formă matricială prin matricea Transformăm ecuația regresiei liniare în formă matricială. Matricea Transformăm ecuația regresiei liniare în formă matricială este pătrată și mai mult decât atât, este simetrică. Aceste proprietăți ne vor fi utile mai departe, să le reținem. Matricea Transformăm ecuația regresiei liniare în formă matricială are dimensiunea Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Acum, sarcina noastră este să înmulțim corect vectorii cu matricea și să nu obținem „doi ori doi este cinci”, așa că să ne concentrăm și să fim extrem de atenți.

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Cu toate acestea, am avut o expresie complicată! De fapt, am obținut un număr — scalar. Și acum, cu adevărat, trecem la derivare. Este necesar să găsim derivata expresiei obținute după fiecare coeficient Transformăm ecuația regresiei liniare în formă matricială și să obținem un vector de dimensiune Transformăm ecuația regresiei liniare în formă matricială. Ca o precauție, voi scrie procedurile pas cu pas:

1) derivăm după Transformăm ecuația regresiei liniare în formă matricială, obținem: Transformăm ecuația regresiei liniare în formă matricială

2) derivăm după Transformăm ecuația regresiei liniare în formă matricială, obținem: Transformăm ecuația regresiei liniare în formă matricială

3) derivăm după Transformăm ecuația regresiei liniare în formă matricială, obținem: Transformăm ecuația regresiei liniare în formă matricială

La ieșire — vectorul promis de dimensiune Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Dacă ne uităm atent la vector, putem observa că elementele din stânga și cele corespunzătoare din dreapta ale vectorului pot fi grupate în așa fel încât, în final, din vectorul prezentat să putem desprinde vectorul Transformăm ecuația regresiei liniare în formă matricială de dimensiune Transformăm ecuația regresiei liniare în formă matricială. De exemplu, Transformăm ecuația regresiei liniare în formă matricială (elementul din stânga al primei linii a vectorului) Transformăm ecuația regresiei liniare în formă matricială (elementul din dreapta al primei linii a vectorului) poate fi reprezentat ca Transformăm ecuația regresiei liniare în formă matricială, iar Transformăm ecuația regresiei liniare în formă matricială — ca Transformăm ecuația regresiei liniare în formă matricială și așa mai departe pentru fiecare linie. Să grupăm:

Transformăm ecuația regresiei liniare în formă matricială

Să scoatem vectorul Transformăm ecuația regresiei liniare în formă matricială și la ieșire vom obține:

Transformăm ecuația regresiei liniare în formă matricială

Acum, să ne uităm la matricea obținută. Matricea reprezintă suma a două matrice Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Să ne amintim că, cu puțin timp în urmă, am menționat o proprietate importantă a matricei Transformăm ecuația regresiei liniare în formă matricială — este simetrică. Pe baza acestei proprietăți, putem afirma cu încredere că expresia Transformăm ecuația regresiei liniare în formă matricială este egală cu Transformăm ecuația regresiei liniare în formă matricială. Este ușor de verificat, deschizând produsul matricelor pe elemente. Transformăm ecuația regresiei liniare în formă matricială. Nu vom face asta aici, cei dornici pot efectua verificarea singuri.

Să ne întoarcem la expresia noastră. După transformările noastre, a rezultat exact așa cum voiam să-l vedem:

Transformăm ecuația regresiei liniare în formă matricială

Deci, am reușit cu prima diferențiere. Trecem la a doua expresie.

Diferențiere 2

Transformăm ecuația regresiei liniare în formă matricială

Să urmăm calea trasată. Aceasta va fi mult mai scurtă decât precedentul, așa că nu vă îndepărtați prea mult de ecran.

Să descompunem elementele vectorilor și matricea:

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Pentru un timp vom elimina din calcule cifra două - aceasta nu are un rol semnificativ, o vom aduce înapoi mai târziu. Vom înmulți vectorii cu matricea. În primul rând, vom înmulți matricea Transformăm ecuația regresiei liniare în formă matricială cu vectorul Transformăm ecuația regresiei liniare în formă matricială, aici nu avem nicio restricție. Vom obține un vector de dimensiune Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Vom efectua următoarea acțiune - vom înmulți vectorul Transformăm ecuația regresiei liniare în formă matricială cu vectorul obținut. La ieșire ne va aștepta un număr:

Transformăm ecuația regresiei liniare în formă matricială

Exact acesta îl vom diferenția. La ieșire vom obține un vector de dimensiune Transformăm ecuația regresiei liniare în formă matricială:

Transformăm ecuația regresiei liniare în formă matricială

Îți pare cunoscut? Precis! Aceasta este produsul matricei Transformăm ecuația regresiei liniare în formă matricială cu vectorul Transformăm ecuația regresiei liniare în formă matricială.

Astfel, a doua diferențiere a fost finalizată cu succes.

În concluzie

Acum știm cum s-a obținut egalitatea Transformăm ecuația regresiei liniare în formă matricială.

În final, să descriem o cale rapidă de transformare a formelor de bază.

Să evaluăm calitatea modelului conform metodei celor mai mici pătrate:
Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Diferențiem expresia obținută:
Transformăm ecuația regresiei liniare în formă matricială Transformăm ecuația regresiei liniare în formă matricială

Transformăm ecuația regresiei liniare în formă matricială

Literatură

Sursele online:

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

Cărți, culegeri de probleme:

1) Curs de predare a matematicii superioare: curs complet / D.T. Pisemenyi – ediția a 4-a. – Moscova: Iris-Press, 2006
2) Analiza regresională aplicată / N. Draper, G. Smith – ediția a 2-a. – Moscova: Finanțe și statistică, 1986 (traducere din engleză)
3) Probleme de soluționare a ecuațiilor matrice:
function-x.ru/matrix_equations.html
mathprofi.ru/deistviya_s_matricami.html


Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster