Við veljum eitthvað líkan \(\hat{f}\) sem á að nálga \(f\) byggt á gögnum \[ (x_1,y_1),\ldots,(x_N,y_N) \]
Líkanið okkar verður á forminu \[ \hat{f}(x) = \theta_1f_1(x) + \ldots + \theta_pf_p(x) \]
Inntakið er nú \(n\)-vigur \(x\), föllin sem við notum verða \[ f_1(x) = 1, f_i(x) = x_{i-1}, \quad i=2,\ldots,n+1 \] þ.e. \(f_i\) pikkar út stak \(i-1\) úr vigrinum.
Líkanið verður þá \[ \hat{f}(x) = \theta_1 + \theta_2x_1 + \ldots \theta_{n+1}x_n = x^T\theta_{2:n}+\theta_1 \]
Oft skrifað sem \(\hat{y} = x^T\beta + v\). Hér verður \(A\) fylkið
\[ A = \begin{bmatrix}\mathbf{1} & X^T\end{bmatrix} \] þar sem \(X\) er fylkið með dálkana \(x_1,\ldots,x_N\).
Inntak eru gögnin \((x_1,y_1),\ldots,(x_N,y_N)\).
Niðurstöður fyrir þjálfun (\(1.6\%\) villutíðni)
| \(\hat{y}=1\) | \(\hat{y}=-1\) | Samtals | |
|---|---|---|---|
| \(y = 1\) | \(5165\) | \(758\) | \(5923\) |
| \(y = -1\) | \(179\) | \(53898\) | \(54077\) |
| Samtals | \(5344\) | \(54656\) | \(60000\) |
Niðurstöður fyrir prufu (\(1.6\%\) villutíðni)
| \(\hat{y}=1\) | \(\hat{y}=-1\) | Samtals | |
|---|---|---|---|
| \(y = 1\) | \(864\) | \(116\) | \(980\) |
| \(y = -1\) | \(42\) | \(8978\) | \(9020\) |
| Samtals | \(906\) | \(9094\) | \(10000\) |
Svipuð villutíðni í þjálfun og prufu sem þýðir að flokkarinn ætti að ná sömu villutíðni á alvöru gögnum.
Þegar fleiri en tveir möguleikar eru á svari, t.d. með tölustafi, virkar þessi aðferð ekki lengur.
En við getum endurnýtt hugmyndir úr tvíþátta flokkun. Látum \(K\) vera fjölda flokka og þjálfum nokkra flokkara \(\tilde{f}_1, \ldots, \tilde{f}_K\) sem læra að þetta þau stök sem tilheyra flokki \(i\) á móti öllum öðrum.
Lokaflokkarinn er þá
\[ \hat{f}(x) = \mathrm{argmax}_{i=1,\ldots,K} \tilde{f}_k(x) \]
þ.e. númerið á þeim flokkara sem skorar hæst.
Með því að nota þetta fyrir MNIST stafina fæst villutíðni upp á 14.5%.
Gerum alltaf ráð fyrir að dálkar \(A\) séu línulega óháðir og \(A\) er mjótt fylki, þ.e. \(m\ge n\).
Þá er Gram fylkið \(A^TA\) andhverfanlegt og lausnin á minnsta fervikavandamálinu er
\[ \hat{x} = (A^TA)^{-1}A^Tb = A^\dagger b \]
Ef \(A\) er ferningslaga þá er \(x=A^{-1}b\) og \(A^\dagger\) er útvíkkun á andhverfunni fyrir mjó fylki.
Þá höfum við fleiri stika (dálkar í fylkinu) eins og gagnapunkta (raðir í fylkinu).
Vandamál
Þá fáum við tvö (eða fleiri) markföll, þ.e. hversu nálægt lausnin er (lágmarka fervik) og hversu flókin hún er (lágmarka flækju).
Stærðin \(J = ||Ax-b||^2\) er kölluð markfall. Í mörgum verkefnum höfum við fleiri en eitt markfall.
\[ J_1 = ||A_1x-b_1||^2, \ldots, J_k = ||A_kx-b||^2 \]
Við veljum vigtir \(\lambda_1,\ldots,\lambda_k\) og myndum vigtað markfall
\[\begin{aligned} J &= \lambda_1J_1 + \ldots + \lambda_kJ_k\\ &= \lambda_1||A_1x-b_1||^2 + \ldots + \lambda_k||A_kx-b_k||^2 \end{aligned} \]
Skrifum summuna af markföllum sem
\[ J = \left|\left|\begin{bmatrix}\sqrt{\lambda_1}(A_1x-b_1) \\ \vdots \\ \sqrt{\lambda_k}(A_kx-b_k) \end{bmatrix} \right|\right|^2 \]
Þá höfum við \(J = ||\tilde{A}x-\tilde{b}||^2\) með \[ \tilde{A} = \begin{bmatrix}\sqrt{\lambda_1}A_1 \\ \vdots \\ \sqrt{\lambda_k}A_k\end{bmatrix}, \qquad \tilde{b} = \begin{bmatrix}\sqrt{\lambda_1}b_1 \\ \vdots \\ \sqrt{\lambda_k}b_k \end{bmatrix} \]
Getum lágmarkað \(J\) sem venjuleg minnstu fervikavandamál.
Gerum ráð fyrir að dálkar \(\tilde{A}\) séu línulega óháðir.
\[ \begin{aligned} \hat{x} &= (\tilde{A}^T\tilde{A})^{-1}\tilde{A}^T\tilde{b}\\ &= (\lambda_1A_1^TA_1 + \ldots + \lambda_kA_k^TA_k)^{-1}(\lambda_1A_1^Tb_1 + \ldots + \lambda_k A_k^Tb_k) \end{aligned} \]
Líkan \(y = Ax+v\)
Lendum í vandamálum ef stikarnir eru c.a. jafnmargir og mælingar. Þurfum margar mælingar til að geta stytt út mæliskekkjuna. Minnsta fervikalausn verður ofaðlöguð (e. overfit)
Getum fengið betri lausn með því að nota aðrar upplýsingur um hvernig "eðlilegar" lausnir eiga að vera, t.d.
Setjum fram sem önnur markföll sem refsa (e. regularize) fyrir frávik frá eðlilegum lausnum
Lágmörkum \(J_1 + \lambda J_2\) - stillum \(\lambda\) af þar til okkur líkar við lausnina
Notum líkan af \(y \approx f(x)\) \[ \hat{f}(x) = \theta_1f_1(x) + \ldots + \theta_pf_p(x) \] með \(f_1(x) = 1\).
Gefin gögn \((x_1,y_1),\ldots,(x_N,y_N)\)
Veljum svo \(\lambda\) með því að bera saman þjálfunargögn við prufugögn.
\(x\) er mynd, yfirleitt sem \(w\times h\) fylki en verður hér \(wh\)-vigur. \(A\) er blur virki, sem við skrifum sem línulegt fylki og \(y = Ax+v\) er óskýra myndin
\[ ||Ax-y||^2 + \lambda(||D_vx||^2 + ||D_hx||^2) \]
Fyrir 32x32 mynd verður \(x\) 1024-vigur, fylkið \(A\) verður þá \(1024\times 1024\).
Síðasti fyrirlestur misserisins, klárum það sem vantar hér að ofan, tölum um verkefni 2 og efni til prófs.