
Syftet med artikeln är att ge stöd till nybörjare dataforskare. I Vi har skisserat tre sätt att lösa en linjär regressionsekvation: analytisk lösning, gradientnedstigning, stokastisk gradientnedstigning. Sedan använde vi formeln för den analytiska lösningen
. I den här artikeln, som titeln antyder, kommer vi att motivera användningen av denna formel, eller med andra ord, vi kommer att härleda den själva.
Varför det är vettigt att vara extra uppmärksam på formeln
?
Det är med matrisekvationen som man i de flesta fall börjar bekanta sig med linjär regression. Samtidigt är detaljerade beräkningar av hur formeln härleddes sällsynta.
Till exempel, i maskininlärningskurser från Yandex, när eleverna introduceras till regularisering, erbjuds de att använda funktioner från biblioteket lära sig, medan inte ett ord nämns om matrisrepresentationen av algoritmen. Det är i detta ögonblick som vissa lyssnare kanske vill förstå detta problem mer i detalj - skriv kod utan att använda färdiga funktioner. Och för att göra detta måste du först presentera ekvationen med en regularizer i matrisform. Den här artikeln kommer att tillåta dem som vill behärska sådana färdigheter. Låt oss börja.
Initiala förhållanden
Målindikatorer
Vi har en rad målvärden. Till exempel kan målindikatorn vara priset på alla tillgångar: olja, guld, vete, dollar, etc. Samtidigt menar vi med ett antal målindikatorvärden antalet observationer. Sådana observationer kan till exempel vara månatliga oljepriser för året, det vill säga vi kommer att ha 12 målvärden. Låt oss börja introducera notationen. Låt oss beteckna varje värde på målindikatorn som
. Totalt har vi
observationer, vilket betyder att vi kan representera våra observationer som
.
Regressorer
Vi kommer att anta att det finns faktorer som till viss del förklarar målindikatorns värden. Till exempel är växelkursen dollar/rubel starkt påverkad av oljepriset, Federal Reserve-kursen etc. Sådana faktorer kallas regressorer. Samtidigt måste varje målindikatorvärde motsvara ett regressorvärde, det vill säga om vi har 12 målindikatorer för varje månad under 2018, så bör vi också ha 12 regressorvärden för samma period. Låt oss beteckna värdena för varje regressor med
. Låt det i vårt fall finnas
regressorer (dvs.
faktorer som påverkar målindikatorvärdena). Detta innebär att våra regressorer kan presenteras enligt följande: för den 1:a regressorn (till exempel oljepriset):
, för den andra regressorn (till exempel Fed-räntan):
, för "
-th" regressor: 
Målindikatorernas beroende av regressorer
Låt oss anta att beroendet av målindikatorn
från regressorer"
th" observationen kan uttryckas genom en linjär regressionsekvation av formen:

var
- "
-th" regressorvärde från 1 till
,
— antal regressorer från 1 till 
— Vinkelkoefficienter, som representerar det belopp med vilket den beräknade målindikatorn kommer att förändras i genomsnitt när regressorn ändras.
Med andra ord, vi är till för alla (utom
) för regressorn bestämmer vi "vår" koefficient
, multiplicera sedan koefficienterna med värdena för regressorerna "
th" observation, som ett resultat får vi en viss approximation "
-th" målindikator.
Därför måste vi välja sådana koefficienter
, där värdena för vår approximativa funktion
kommer att placeras så nära målindikatorvärdena som möjligt.
Bedöma kvaliteten på den approximerande funktionen
Vi kommer att bestämma kvalitetsbedömningen av den approximerande funktionen med hjälp av minsta kvadratmetoden. Funktionen för kvalitetsbedömning i detta fall kommer att ha följande form:

Vi måste välja sådana värden av koefficienterna $w$ för vilka värdet
kommer att vara den minsta.
Konvertera ekvationen till matrisform
Vektor representation
Till att börja med, för att göra ditt liv enklare, bör du vara uppmärksam på den linjära regressionsekvationen och lägga märke till att den första koefficienten
multipliceras inte med någon regressor. Samtidigt, när vi omvandlar data till matrisform, kommer ovannämnda omständighet att allvarligt komplicera beräkningarna. I detta avseende föreslås det att införa ytterligare en regressor för den första koefficienten
och likställ det med en. Eller snarare, varje"
likställ det:e värdet av denna regressor med ett - trots allt, när det multipliceras med ett, kommer ingenting att förändras ur synvinkeln av resultatet av beräkningarna, men ur synvinkeln av reglerna för produkten av matriser, vår plåga kommer att minska avsevärt.
Nu, för tillfället, för att förenkla materialet, låt oss anta att vi bara har en "
-th" observation. Föreställ dig sedan regressorernas värden "
-th" observationer som en vektor
. Vektor
har dimension
Det är,
rader och 1 kolumn:

Låt oss representera de nödvändiga koefficienterna som en vektor
, med dimension
:

Linjär regressionsekvation för "
-th" observation kommer att ha formen:

Funktionen för att bedöma kvaliteten på en linjär modell kommer att ha formen:

Observera att i enlighet med reglerna för matrismultiplikation behövde vi transponera vektorn
.
Matrisrepresentation
Som ett resultat av att multiplicera vektorer får vi talet:
, vilket är att vänta. Detta nummer är uppskattningen "
-th" målindikator. Men vi behöver en approximation av inte bara ett målvärde, utan alla. För att göra detta, låt oss skriva ner allt "
"th" regressorer i matrisformat
. Den resulterande matrisen har dimensionen
:

Nu kommer den linjära regressionsekvationen att ta formen:

Låt oss beteckna värdena för målindikatorer (alla
) per vektor
dimensionera
:

Nu kan vi skriva ekvationen för att bedöma kvaliteten på en linjär modell i matrisformat:

Faktiskt, från denna formel erhåller vi vidare den formel som vi känner till 
Hur det är gjort? Paranteserna öppnas, differentiering utförs, de resulterande uttrycken transformeras, etc., och det är precis vad vi kommer att göra nu.
Matristransformationer
Låt oss öppna parenteserna


Låt oss förbereda en ekvation för differentiering
För att göra detta kommer vi att utföra några transformationer. I efterföljande beräkningar kommer det att vara bekvämare för oss om vektorn
kommer att representeras i början av varje produkt i ekvationen.
Konvertering 1

Hur hände det? För att besvara den här frågan, titta bara på storleken på de matriser som multipliceras och se att vid utgången får vi ett tal eller på annat sätt
.
Låt oss skriva ner storlekarna på matrisuttryck.



Konvertering 2

Låt oss skriva det på ett liknande sätt som transformation 1


Vid utgången får vi en ekvation som vi måste differentiera:

Vi differentierar modellens kvalitetsbedömningsfunktion
Låt oss skilja på vektorn
:




Frågor varför
det borde inte finnas, men vi kommer att undersöka operationerna för att bestämma derivat i de andra två uttrycken mer i detalj.
Differentiering 1
Låt oss expandera på differentieringen: 
För att bestämma derivatan av en matris eller vektor måste du titta på vad som finns inuti dem. Vi kollar:



Låt oss beteckna produkten av matriser
genom matrisen
. Matris
kvadratisk och dessutom är den symmetrisk. Dessa egenskaper kommer att vara användbara för oss senare, låt oss komma ihåg dem. Matris
har dimension
:

Nu är vår uppgift att korrekt multiplicera vektorerna med matrisen och inte få "två gånger två är fem", så låt oss koncentrera oss och vara extremt försiktiga.




Men vi har uppnått ett intrikat uttryck! Faktum är att vi fick ett nummer - en skalär. Och nu går vi på riktigt över till differentiering. Det är nödvändigt att hitta derivatan av det resulterande uttrycket för varje koefficient
och få dimensionsvektorn som utdata
. För säkerhets skull kommer jag att skriva ner procedurerna genom åtgärd:
1) särskilja med
, vi får: 
2) särskilja med
, vi får: 
3) särskilja med
, vi får: 
Utdata är den utlovade vektorn av storlek
:

Om du tittar närmare på vektorn kommer du att märka att de vänstra och motsvarande högra elementen i vektorn kan grupperas på ett sådant sätt att en vektor som ett resultat kan isoleras från den presenterade vektorn
storlek
. Till exempel
(vänster element i vektorns översta linje)
(det högra elementet i vektorns översta linje) kan representeras som
Och
- som
etc. på varje rad. Låt oss gruppera:

Låt oss ta ut vektorn
och vid utgången får vi:

Låt oss nu titta närmare på den resulterande matrisen. Matrisen är summan av två matriser
:

Låt oss komma ihåg att vi lite tidigare noterade en viktig egenskap hos matrisen
- den är symmetrisk. Baserat på denna egenskap kan vi med säkerhet säga att uttrycket
lika
. Detta kan enkelt verifieras genom att expandera produkten av matriser element för element
. Vi kommer inte att göra detta här, de som är intresserade kan kontrollera det själva.
Låt oss återgå till vårt uttryck. Efter våra förvandlingar blev det som vi ville se det:

Så vi har slutfört den första differentieringen. Låt oss gå vidare till det andra uttrycket.
Differentiering 2

Låt oss följa den upptrampade stigen. Den kommer att vara mycket kortare än den föregående, så gå inte för långt från skärmen.
Låt oss expandera vektorerna och matrisen element för element:



Låt oss ta bort de två från beräkningarna ett tag – det spelar ingen stor roll, sedan sätter vi tillbaka det på sin plats. Låt oss multiplicera vektorerna med matrisen. Först och främst, låt oss multiplicera matrisen
till vektor
, vi har inga begränsningar här. Vi får storleksvektorn
:

Låt oss utföra följande åtgärd - multiplicera vektorn
till den resulterande vektorn. Vid utgången väntar numret på oss:

Då kommer vi att skilja på det. Vid utgången får vi en dimensionsvektor
:

Påminner mig om något? Det är rätt! Detta är produkten av matrisen
till vektor
.
Således är den andra differentieringen framgångsrikt slutförd.
I stället för en slutsats
Nu vet vi hur jämställdheten kom till
.
Slutligen kommer vi att beskriva ett snabbt sätt att omvandla grundläggande formler.
Låt oss utvärdera kvaliteten på modellen i enlighet med minsta kvadratmetoden:


Låt oss skilja det resulterande uttrycket:


Litteratur
Internetkällor:
1)
2)
3)
4)
Läroböcker, samlingar av problem:
1) Föreläsningsanteckningar om högre matematik: hel kurs / D.T. Skrivet – 4:e uppl. – M.: Iris-press, 2006
2) Tillämpad regressionsanalys / N. Draper, G. Smith - 2nd ed. – M.: Finans och statistik, 1986 (översättning från engelska)
3) Problem för att lösa matrisekvationer:
Källa: will.com
