Lineêre regressie

wiskunde
lineêre regressie
Lineêre regressie cover image

Inleiding

Gegee 'n datastel D={(X1,Y2),,(XN,YN)}D = \{(X_{1}, Y_{2}), \dots,(X_{N}, Y_{N})\} soos XiX_{i} en YiY_{i } is kontinu, Die doel van "Lineêre regressie" is om die beste lyn te vind wat by hierdie data pas.

Met ander woorde, ons wil die model skep:

y^=a0+a1.x1++ap.x_p\hat{y} = a*{0} + a*{1}.x*{1} + \dots + a*{p}.x\_{p}

waar pp die aantal dimensies van die veranderlike XX is.

In hierdie artikel sal ons sien hoe om hierdie probleem in drie scenario's op te los:

  • Wanneer X eendimensioneel is, dit wil sê p=1p=1.

  • Wanneer X multidimensioneel is, dit wil sê p>1p>1.

  • Gebruik gradiënt afkoms.

XX is eendimensioneel (gewone kleinste vierkant)

Die model wat ons wil skep, is van vorm:

y^=a0+a1.x\hat{y} = a*{0} + a*{1}.x

Onthou dat die doel van lineêre regressie is om die lyn te vind wat die beste by die data pas. Met ander woorde, ons moet die afstand tussen die datapunte en die lyn minimaliseer.

(a0^,a1^)=argmin(a0,a1)i=1N(yiyi^)2(\hat{a*{0}}, \hat{a*{1}}) = \underset{(a*{0}, a*{1})}{\operatorname{argmin}} \sum\limits*{i=1}^{N} (y*{i} - \hat{y*{i}})^2

=argmin(a0,a1)i=1N(yi(a0+a1.xi))2= \underset{(a*{0}, a*{1})}{\operatorname{argmin}} \sum\limits*{i=1}^{N} (y*{i} - (a*{0} + a*{1}.x*{i}))^2

Kom ons stel:

L=i=1N(yi(a0+a1.x_i))2L = \sum\limits*{i=1}^{N} (y*{i} - (a*{0} + a*{1}.x\_{i}))^2

Om die minimum te vind, moet ons die volgende vergelykings oplos:

{La0=0La1=0\begin{cases} \frac{\partial L}{\partial a_{0}} = 0\\ \frac{\partial L}{\partial a_{1}} = 0 \end{cases}
{i=1N2(yi(a0+a1.xi))=0i=1N2xi(yi(a0+a1.xi))=0\begin{cases} \sum\limits_{i=1}^{N} -2(y_{i} - (a_{0} + a_{1}.x_{i})) = 0\\ \sum\limits_{i=1}^{N} -2x_{i}(y_{i} - (a_{0} + a_{1}.x_{i})) = 0 \end{cases}

Ons begin deur die eerste vergelyking te ontwikkel:

i=1Nyii=1Na0+i=1Na1.xi=0\sum\limits_{i=1}^{N} y_{i} - \sum\limits_{i=1}^{N}a_{0} + \sum\limits_{i=1}^{N} a_{1}.x_{i} = 0\\
i=1NyiNa0+i=1Na1.xi=0\sum\limits_{i=1}^{N} y_{i} - Na_{0} + \sum\limits_{i=1}^{N} a_{1}.x_{i} = 0\\
a0=i=1NyiNi=1NxiNa1a_{0} = \frac{\sum\limits_{i=1}^{N} y_{i}}{N} - \frac{\sum\limits_{i=1}^{N} x_{i}}{N}a_{1}
a0=YXa1a_{0} = Y - Xa_{1}

Ons vervang in die tweede vergelyking:

i=1Nxi(yiY+Xa1a1xi)=0\sum\limits_{i=1}^{N} x_{i}(y_{i} - Y + Xa_{1} - a_{1}x_{i}) = 0
i=1N(yiY)+a1(Xxi)=0\sum\limits_{i=1}^{N} (y_{i} - Y) + a_{1}(X - x_{i}) = 0
i=1N(yiY)i=1Na1(xiX)=0\sum\limits_{i=1}^{N} (y_{i} - Y) - \sum\limits_{i=1}^{N}a_{1}(x_{i} - X) = 0
a1=i=1N(yiY)i=1N(xiX)=i=1N(yiY)(xiX)i=1N(xiX)2=COV(X,Y)VAR(X)a_{1} = \frac{\sum\limits_{i=1}^{N} (y_{i} - Y)}{\sum\limits_{i=1}^{N}(x_{i} - X)} = \frac{\sum\limits_{i=1}^{N} (y_{i} - Y)(x_{i} - X)}{\sum\limits_{i=1}^{N}(x_{i} - X)^2} = \frac{COV(X, Y)}{VAR(X)}

Ons vervang terug in a0a_{0}:

{a0=YXCOV(X,Y)VAR(X)a1=COV(X,Y)VAR(X)\begin{cases} a_{0} = Y - X\frac{COV(X, Y)}{VAR(X)}\\ a_{1} = \frac{COV(X, Y)}{VAR(X)} \end{cases}

XX is multidimensioneel (gewone kleinste vierkant)

In hierdie geval is XiX_{i} nie meer 'n reële getal nie, maar in plaas daarvan is dit 'n vektor van grootte pp:

Xi=(Xi1,Xi2,,Xip)X*{i} = (X*{i1},X*{i2},\dots,X*{ip})

Dus, die model is soos volg geskryf:

y^=a0+a1x1+a2x2++apx_p\hat{y} = a*{0} + a*{1}x*{1} + a*{2}x*{2} + \dots + a*{p}x\_{p}

of dit kan in 'n matriksformaat geskryf word:

Y^=X.W\hat{Y} = X.W

waar:

  • YY het vorm (N,1)(N, 1).

  • XX het vorm (N,p)(N, p).

  • WW het vorm (p,1)(p, 1): dit is die parameters vektor (w1,w2,,wp)(w_{1}, w_{2}, \dots, w_{p}).

Net soos die eerste geval, poog ons om die volgende hoeveelheid te minimaliseer:

W^=argminWi=1N(yiy_i^)2\hat{W} = \underset{W}{\operatorname{argmin}} \sum\limits*{i=1}^{N} (y*{i} - \hat{y\_{i}})^2

Kom ons stel weer:

L=i=1N(yiy_i^)2L = \sum\limits*{i=1}^{N} (y*{i} - \hat{y\_{i}})^2

=(YXW)T(YXW)= (Y-XW)^{T}(Y-XW)
=YTYYTXWWTXTY+WTXTXW= Y^TY-Y^TXW-W^TX^TY+W^TX^TXW
=YTY2WTXTY+WTXTXW= Y^TY-2W^TX^TY+W^TX^TXW

Aangesien ons LL met betrekking tot WW wil minimaliseer, kan ons die eerste term "YTYY^TY" ignoreer omdat dit onafhanklik is van WW en kom ons los die volgende vergelyking op:

(2WTXTY+WTXTXW)W=0\frac{\partial (-2W^TX^TY+W^TX^TXW)}{\partial W} = 0
2XTY+2XTXW^=0-2X^TY+2X^TX\hat{W} = 0
W^=(XTX)1XTY\hat{W} = (X^TX)^{-1}X^TY

Gebruik gradiënt afkoms

Hier is die formulering van die gradiënt-afkomsalgoritme:

wn+1=wnlr×fw_nw*{n+1} = w*{n} - lr \times \frac{\partial f}{\partial w\_{n}}

Al wat ons nou hoef te doen is om dit toe te pas op die twee parameters a0a_{0} en a1a_{1} (in die geval van 'n een veranderlike XX):

{a0(n+1)=a0(n)lr×La0a1(n+1)=a1(n)lr×La1\begin{cases} a_{0}^{(n+1)} = a_{0}^{(n)} - lr \times \frac{\partial L}{\partial a_{0}}\\ a_{1}^{(n+1)} = a_{1}^{(n)} - lr \times \frac{\partial L}{\partial a_{1}} \end{cases}

en ons weet dat:

{La0=i=1N2(yi(a0+a1.xi))La1=i=1N2xi(yi(a0+a1.xi))\begin{cases} \frac{\partial L}{\partial a_{0}} = \sum\limits_{i=1}^{N} -2(y_{i} - (a_{0} + a_{1}.x_{i}))\\ \frac{\partial L}{\partial a_{1}} = \sum\limits_{i=1}^{N} -2x_{i}(y_{i} - (a_{0} + a_{1}.x_{i})) \end{cases}

Deur vervanging:

{a0(n+1)=a0(n)+2×lr×i=1N(yi(a0(n)+a1(n).xi))a1(n+1)=a1(n)+2×lr×i=1Nxi(yi(a0(n)+a1(n).xi))\begin{cases} a_{0}^{(n+1)} = a_{0}^{(n)} + 2 \times lr \times \sum\limits_{i=1}^{N} (y_{i} - (a_{0}^{(n)} + a_{1}^{(n)}.x_{i}))\\ a_{1}^{(n+1)} = a_{1}^{(n)} + 2 \times lr \times \sum\limits_{i=1}^{N} x_{i}(y_{i} - (a_{0}^{(n)} + a_{1}^{(n)}.x_{i})) \end{cases}

Vasvra

  • Wat is die formule van die optimale parametervektor in die geval van multidimensionele lineêre regressie:

  • COV(X,Y)VAR(Y)\frac{COV(X, Y)}{VAR(Y)}

  • COV(X,Y)VAR(X)\frac{COV(X, Y)}{VAR(X)}

  • (XTX)1XTY(X^TX)^{-1}X^TY "korrek"

  • Hoekom plaas ons die afgeleide op 0?

  • Om die ekstremum te vind. "korrek"

  • Om die afgeleide te minimaliseer.

  • Om slegs die werklike deel van die afgeleide te behou.

  • Wat is die doel van lineêre regressie?

  • Om die lyn te vind wat by al die punte verbygaan.

  • Om die lyn te vind wat die data die beste beskryf."korrek"

  • Om die lyn te vind wat die data die beste skei.


Career Services background pattern

Loopbaandienste

Contact Section background image

Kom ons bly in kontak

Code Labs Academy © 2024 Alle regte voorbehou.