Givet ett dataset D={(X1,Y2),…,(XN,YN)} som Xi och Yi är kontinuerliga, Målet med "Linjär regression" är att hitta den bästa linjen som passar denna data.
Med andra ord vill vi skapa modellen:
y^=a∗0+a∗1.x∗1+⋯+a∗p.x_p
där p är antalet dimensioner för variabeln X.
I den här artikeln kommer vi att se hur du löser detta problem i tre scenarier:
När X är endimensionell, dvs p=1.
När X är flerdimensionell, dvs p>1.
Använder gradientnedstigning.
X är endimensionell (vanlig minsta kvadrat)
Modellen som vi vill skapa har formen:
y^=a∗0+a∗1.x
Kom ihåg att målet med linjär regression är att hitta den linje som bäst passar data. Med andra ord måste vi minimera avståndet mellan datapunkterna och linjen.
(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
Låt oss sätta:
L=∑∗i=1N(y∗i−(a∗0+a∗1.x_i))2
För att hitta minimum måste vi lösa följande ekvationer:
I det här fallet är Xi inte längre ett reellt tal, utan det är istället en vektor av storleken p:
X∗i=(X∗i1,X∗i2,…,X∗ip)
Så modellen är skriven som följer:
y^=a∗0+a∗1x∗1+a∗2x∗2+⋯+a∗px_p
eller så kan det skrivas i ett matrisformat:
Y^=X.W
var:
Y har formen (N,1).
X har formen (N,p).
W har formen (p,1): detta är parametrarna vektor (w1,w2,…,wp).
På samma sätt som i det första fallet strävar vi efter att minimera följande kvantitet:
W^=Wargmin∑∗i=1N(y∗i−y_i^)2
Låt oss återigen säga:
L=∑∗i=1N(y∗i−y_i^)2
=(Y−XW)T(Y−XW)
=YTY−YTXW−WTXTY+WTXTXW
=YTY−2WTXTY+WTXTXW
Eftersom vi vill minimera L med avseende på W, då kan vi ignorera den första termen "YTY" eftersom den är oberoende av W och låt oss lösa följande ekvation:
∂W∂(−2WTXTY+WTXTXW)=0
−2XTY+2XTXW^=0
W^=(XTX)−1XTY
Använder gradientnedstigning
Här är formuleringen av algoritmen för gradientnedstigning:
w∗n+1=w∗n−lr×∂w_n∂f
Nu behöver vi bara tillämpa det på de två parametrarna a0 och a1 (i fallet med en variabel X):
Engagerade och fokuserade på dig. Vi hjälper dig att förstå, utnyttja och visa upp dina nya färdigheter genom CV-granskning, intervjuträning och branschdiskussioner.