
Formålet med artiklen er at støtte begyndere inden for datavidenskab. I har vi gennemgået tre måder at løse lineær regressionsligningen på: analytisk løsning, gradient descent og stochastisk gradient descent. Til den analytiske løsning anvendte vi formlen
. I denne artikel, som titlen antyder, vil vi begrunde anvendelsen af denne formel, eller med andre ord, vi vil udlede den selv.
Hvorfor er det vigtigt at give særlig opmærksomhed til formlen
?
Det er netop med matrixligningen, at man i de fleste tilfælde begynder sit møde med lineær regression. Samtidig er detaljerede udledninger af, hvordan formlen blev udledt, sjældne.
For eksempel, på maskinlæringskurserne fra Yandex, når deltagerne bliver introduceret til regularisering, foreslås det at bruge funktioner fra biblioteket sklearn, samtidig nævnes der ikke et ord om den matrixrepræsentation, der ligger bag algoritmen. Det er netop i dette øjeblik, at nogle deltagere kan føle en trang til at forstå dette emne bedre — at skrive kode uden at bruge de færdige funktioner. For at gøre dette, skal man først repræsentere ligningen med regulariseringen i matrixform. Denne artikel vil netop give de interesserede mulighed for at tilegne sig sådanne færdigheder. Lad os komme i gang.
Udsatte betingelser
Målindikatorer
Vi har en række værdier for målindikatoren. For eksempel kan målindikatoren være prisen på en given aktiv: olie, guld, hvede, dollar osv. Herunder forstår vi en række værdier af målindikatoren som antallet af observationer. Sådanne observationer kan for eksempel være månedlige oliepriser over et år, hvilket vil give os 12 værdier for målindikatoren. Lad os begynde at indføre betegnelser. Lad os betegne hver værdi af målindikatoren som
. I alt har vi
observationer, og derfor kan vi repræsentere vores observationer som
.
Regressorer
Lad os antage, at der findes faktorer, der i en vis grad forklarer værdierne af den målte indikator. For eksempel påvirker olieprisen, Federal Reserves rente osv. valutakursen mellem dollar/ruble. Disse faktorer kaldes regressorer. Dertil skal hver værdi af den målte indikator svare til en værdi af regressoren, dvs. hvis vi har 12 målte indikatorer for hver måned i 2018, skal der også være 12 værdier for regressorerne i samme periode. Lad os betegne værdierne for hver regressor ved
. Antag, at vi i vores tilfælde har
regressorer (dvs.
faktorer, der påvirker værdierne af den målte indikator). Det betyder, at vores regressorer kan repræsenteres som følger: for 1. regressor (f.eks. olieprisen):
, for 2. regressor (f.eks. Federal Reserves rente):
, for "
-te" regressor: 
Afhængighed af de målte indikatorer af regressorer
Lad os antage, at afhængigheden af den målte indikator
af regressorerne "
-te" observation kan udtrykkes gennem en lineær regressionsligning af formen:

, hvor
— «
-te" værdi af regressoren fra 1 til
,
--- antallet af regressorer fra 1 til 
--- hældningskoefficienter, der repræsenterer værdien, hvormed den beregnede målte indikator i gennemsnit ændres ved ændring af regressoren.
Med andre ord, for hver (undtagen
) regressor bestemmer vi "vores" koefficient
, så multiplicerer vi koefficienterne med værdierne for regressorerne "
-te" observation, hvilket resulterer i et nærmere estimat af "
-te" målte indikator.
Derfor skal vi finde sådanne koefficienter
, hvorved værdierne for vores approximationsfunktion
vil være så tæt som muligt på værdierne af de målte indikatorer.
Vurdering af kvaliteten af approximationsfunktionen
Vi vil vurdere kvaliteten af approximationsfunktionen ved hjælp af metoden for de mindste kvadrater. Kvalitetsvurderingsfunktionen vil i dette tilfælde være af følgende form:

Vi skal finde sådanne værdier for koefficienterne $w$, hvor værdien
vil være den mindste.
Omdanner ligningen til matrixform
Vektorrepræsentation
For at gøre det nemmere for os selv, bør vi først se på ligningen for lineær regression og bemærke, at den første koefficient
multipliceres ikke med nogen regressorer. Når vi derefter omformer dataene til en matriceform, vil dette forhold alvorligt komplicere beregningerne. I denne forbindelse foreslås det at introducere en yderligere regressor for den første koefficient.
og sætte den lig med én. Mere præcist, hver "
-te" værdi af denne regressor sættes lig med én – for ved at multiplicere med én ændres intet i beregningsresultatet, men set fra matriceproduktions regler, vil vores anstrengelser blive betydeligt forkortet.
Nu, i et stykke tid, for at forenkle materialet, lad os antage, at vi kun har én "
-te" observation. Så forestil dig værdierne for regressorerne for "
-te" observation som en vektor.
Vektoren
har dimensionen
, altså
rækker og 1 søjle:

Lad os forestille os de søgte koefficienter som en vektor
, der har dimensionen
:

Ligningen for lineær regression for den "
-te" observation vil tage form:

Funktionen til at vurdere kvaliteten af den lineære model vil tage form:

Vi bemærker, at i henhold til reglerne for matrixmultiplikation, måtte vi transponere vektoren
.
Matrixrepræsentation
Som resultatet af multiplikationen af vektorerne, vil vi få et tal:
, som vi kunne forvente. Dette tal er tilnærmelsen af den "
-te" målparameter. Men vi har brug for tilnærmelsen af ikke én målparameter, men alle. Til det skal vi skrive alle "
-te" regressorer i matriceformat.
Den resulterende matrix har dimensionen
:

Nu vil ligningen for lineær regression tage form:

Lad os betegne værdierne af målparametre (alle
) som en vektor
i dimensionen
:

Nu kan vi skrive ligningen for vurderingen af kvaliteten af den lineære model i matrixformat:

Egentlig får man fra denne formel den velkendte formel 
Hvordan gøres det? Parenteser åbnes, differentiering udføres, de opnåede udtryk transformeres osv., og det er netop det, vi nu skal tage fat på.
Matrixomformninger
Lad os åbne parenteserne


Lad os forberede ligningen til differentiering
For dette vil vi lave nogle omformninger. I de efterfølgende beregninger vil det være mere praktisk, hvis vektoren
præsenteres i starten af hvert produkt i ligningen.
Transformation 1

Hvordan kom det dertil? For at besvare dette spørgsmål er det nok at se på størrelserne af de multiplicerede matricer og konstatere, at vi får et tal eller andet.
.
Lad os notere størrelserne på de matrixudtryk.



Transformation 2

Vi skriver det ud på samme måde som transformation 1.


Vi får en ligning, som vi skal differentiere:

Vi differentierer funktionen for vurdering af modellens kvalitet.
Vi differentierer med hensyn til vektoren.
:




Der bør ikke være spørgsmål om, hvorfor
der skal være, men vi vil kigge nærmere på operationerne med at bestemme afledte i de to andre udtryk.
Differentiation 1
Lad os uddybe differentieringen: 
For at bestemme den afledte af en matrix eller vektor skal vi se, hvad de indeholder. Vi ser på:



Lad os betegne produktet af matricer
gennem matricen
. Matricen
er kvadratisk og desuden symmetrisk. Disse egenskaber vil vi få brug for senere, lad os huske dem. Matricen
har dimensionen
:

Nu er vores opgave at multiplicere vektorerne korrekt med matricen uden at få "to gange to fem", så lad os fokusere og være yderst forsigtige.




Men, vi har fået et indviklet udtryk! Faktisk har vi fået et tal — en skalar. Og nu går vi virkelig videre til differentiering. Vi skal finde den afledte af det opnåede udtryk med hensyn til hver koefficient
og få som resultat en vektor i dimension
. For en sikkerheds skyld vil jeg uddybe procedurerne for handlingerne:
1) vi differentierer med hensyn til
, vi får: 
2) vi differentierer med hensyn til
, vi får: 
3) vi differentierer med hensyn til
, vi får: 
Som resultat — den lovede vektor af størrelse
:

Hvis man ser nærmere på vektoren, kan man bemærke, at de venstre og tilsvarende højre elementer i vektoren kan grupperes på en sådan måde, at det i sidste ende muliggør at fremhæve en vektor
i størrelse
. For eksempel,
(venstre element i den øverste række af vektoren)
(højre element i den øverste række af vektoren) kan præsenteres som
, og
— som
osv. for hver række. Lad os gruppere:

Vi vil trække vektoren
og få som resultat:

Nu ser vi nærmere på den opnåede matrix. Matricen er summen af to matricer
:

Lad os huske, at vi tidligere har bemærket en vigtig egenskab ved matricen
— den er symmetrisk. Baseret på denne egenskab kan vi med sikkerhed sige, at udtrykket
er lig med
. Dette kan nemt verificeres ved at udvide matriceproduktet element for element.
. Vi vil ikke gøre dette her, de interesserede kan udføre kontrollen selv.
Lad os vende tilbage til vores udtryk. Efter vores transformationer er det blevet som vi ønskede at se det:

Så vi har klaret den første differentiering. Lad os gå videre til det andet udtryk.
Differentiation 2

Lad os følge den slidte vej. Den vil være meget kortere end den foregående, så bliv ikke langt væk fra skærmen.
Lad os bryde vektorerne og matrisen ned element for element:



Lad os midlertidigt fjerne toeren fra beregningerne — den spiller ikke en stor rolle, vi vil sætte den tilbage senere. Vi multiplikerer vektorerne med matrisen. Først multiplicerer vi matrisen
med vektoren
, her har vi ingen begrænsninger. Vi får en vektor af størrelse
:

Vi udfører følgende handling — multiplicerer vektoren
med den opnåede vektor. Vi vil få et tal:

Det er det, vi differentierer. Udgangen vil være en vektor af dimension
:

Ligner det noget? Rigtigt! Det er produktet af matrisen
med vektoren
.
Således er den anden differentiering afsluttet med succes.
Afslutning
Nu ved vi, hvordan ligheden blev til
.
Til sidst vil vi beskrive en hurtig måde at transformere de grundlæggende formler på.
Lad os vurdere kvaliteten af modellen i henhold til metoden for de mindste kvadrater:


Vi differentierer det opnåede udtryk:


Litteratur
Internet kilder:
1)
2)
3)
4)
Lærebøger, opgavebøger:
1) Noter til forelæsninger i højere matematik: komplet kursus / D.T. Pismenniy – 4. udgave – Moskva: Airis-press, 2006
2) Anvendt regressionsanalyse / N. Draper, G. Smith – 2. udgave – Moskva: Finans og statistik, 1986 (oversættelse fra engelsk)
3) Opgaver til løsning af matrixligninger:
Kilde: habr.com
