Annettu tietojoukko D={(X1,Y2),…,(XN,YN)}, kuten Xi ja Yi ovat jatkuvia, "Lineaarisen regression" tavoitteena on löytää paras viiva, joka sopii tähän dataan.
Toisin sanoen haluamme luoda mallin:
y^=a∗0+a∗1.x∗1+⋯+a∗p.x_p
jossa p on muuttujan X dimensioiden lukumäärä.
Tässä artikkelissa näemme, kuinka tämä ongelma ratkaistaan kolmessa skenaariossa:
Kun X on yksiulotteinen eli p=1.
Kun X on moniulotteinen eli p>1.
Käytä kaltevuuslaskua.
X on yksiulotteinen (tavallinen pienin neliö)
Malli, jonka haluamme luoda, on muotoinen:
y^=a∗0+a∗1.x
Muista, että lineaarisen regression tavoitteena on löytää dataan parhaiten sopiva viiva. Toisin sanoen meidän on minimoitava datapisteiden ja viivan välinen etäisyys.
(a∗0^,a∗1^)=(a∗0,a∗1)argmin∑∗i=1N(y∗i−y∗i^)2
=(a∗0,a∗1)argmin∑∗i=1N(y∗i−(a∗0+a∗1.x∗i))2
Laitetaan:
L=∑∗i=1N(y∗i−(a∗0+a∗1.x_i))2
Minimimäärän löytämiseksi meidän on ratkaistava seuraavat yhtälöt:
Tässä tapauksessa Xi ei ole enää reaaliluku, vaan se on vektori, jonka koko on p:
X∗i=(X∗i1,X∗i2,…,X∗ip)
Joten malli on kirjoitettu seuraavasti:
y^=a∗0+a∗1x∗1+a∗2x∗2+⋯+a∗px_p
tai se voidaan kirjoittaa matriisimuodossa:
Y^=X.W
missä:
Y on muotoa (N,1).
X on muotoa (N,p).
W on muotoa (p,1): tämä on parametrivektori (w1,w2,…,wp).
Kuten ensimmäisessä tapauksessa, pyrimme minimoimaan seuraavan määrän:
W^=Wargmin∑∗i=1N(y∗i−y_i^)2
Laitetaanpa vielä:
L=∑∗i=1N(y∗i−y_i^)2
=(Y−XW)T(Y−XW)
=YTY−YTXW−WTXTY+WTXTXW
=YTY−2WTXTY+WTXTXW
Koska haluamme minimoida L suhteessa W, voimme jättää huomioimatta ensimmäisen termin "YTY", koska se on riippumaton W:sta ja ratkaistaan seuraava yhtälö:
∂W∂(−2WTXTY+WTXTXW)=0
−2XTY+2XTXW^=0
W^=(XTX)−1XTY
Käyttämällä gradienttilaskua
Tässä on gradientin laskeutumisalgoritmin muotoilu:
w∗n+1=w∗n−lr×∂w_n∂f
Nyt meidän tarvitsee vain käyttää sitä kahdessa parametrissa a0 ja a1 (jos kyseessä on yksi muuttuja X):
Omistautunut ja keskittynyt sinuun. Autamme sinua ymmärtämään, hyödyntämään ja esittelemään uusia tehokkaita taitojasi ansioluetteloiden, haastattelukäytäntöjen ja alakohtaisten keskustelujen avulla.