- View
Vráťme sa k príkladu, ktorý sme použili na predstavenie paradigmy programovania založeného na údajoch. V datasete sme mali informácie o štvorcových záberoch nehnuteľností a ich cenách a našou úlohou bolo zistiť súvislosť medzi týmito hodnotami, aby sme mohli odhadnúť ceny nových nehnuteľností.
Pre jednoduchosť majme trénovaciu sadu, ktorá obsahuje 10 inštancií, ktoré sú uvedené v nasledujúcej tabuľke:
| Štvorcová plocha (m2) | Ceny nehnuteľností (1000€) |
| 43 | 60 |
| 25 | 32.1 |
| 66 | 88.4 |
| 80 | 111.4 |
| 105 | 120.32 |
| 70 | 72.1 |
| 40 | 46.3 |
| 85 | 90.1 |
| 84 | 99.6 |
| 102 | 139.2 |
Tieto obrázky môžeme zobraziť aj graficky. Pozdĺž osi x nastavíme hodnoty štvorcových záberov, pozdĺž osi y hodnoty cien nehnuteľností a páry hodnôt označíme modrými kruhmi.

Vyberme pre model funkciu, ktorá spája štvorcovú plochu nehnuteľnosti x a ceny nehnuteľností y s rovnicou \(y = \beta_0 + \beta_1x\), kde \(\beta_0\) a \(\beta_1\) predstavujú neznáme parametre. Toto je takzvaný lineárny model , a keďže ho používame na riešenie regresného problému, nazývame ho aj lineárny regresný model . Všimnite si, že toto je vlastne priamková rovnica \(y = kx + n\), kde koeficient priamky je označený \(\beta_1\) a voľný člen je označený \(\beta_0\). Motivácia pre predstavenie tohto modelu spočíva v tom, že Bodky sledujú pomyselnú uhlopriečku kvadrantu, možno mierne zníženú.
Táto časť je spárovaná s Jupyter Volume 05-1-linear_regression.ipynb . Ak chcete obsah ďalej sledovať, kliknite na odkaz a potom na tlačidlo
na otvorenie obsahu v Google Colab . Ak si poznámkové bloky prezeráte v lokálnom počítači, vyhľadajte poznámkový blok s rovnakým názvom v obsahu a spustite ho. Podrobnejšie pokyny nájdete v časti Hands-on Zone a lekcii Jupyter Exercise Notebook.
Vašou úlohou je načítať množinu údajov o nehnuteľnostiach do sprievodného poznámkového bloku a vybrať hodnoty parametrov \(\beta_0\) a \(\beta_1\), ktoré podľa vás najlepšie zodpovedajú týmto údajom. Môžete ich upraviť pohybom posúvačov doľava a doprava. Pamätajte na hodnoty, ktoré ste si vybrali a aké myšlienky vás viedli pri určovaní parametrov.
Pravdepodobne ste sa snažili získať ten správny, ktorý sa čo najviac približuje daným bodom a robí čo najmenej odchýlok. S niektorými voľbami parametrov ste boli rovnako spokojní, zatiaľ čo niektoré boli naozaj zlé. A z pohľadu strojového učenia sa snažíme nájsť hodnoty parametrov \(\beta_0\) a \(\beta_1\), pre ktoré urobíme najmenšiu chybu, ale musíme presne definovať, o akú chybu vlastne ide. Tu je návod, ako to urobíme.
Predpokladajme, že vybraté hodnoty sú \(\beta_0= 6,3\) a \(\beta_1= 1,02\). Teraz rozbaľme tabuľku údajov o stĺpec s hodnotami vypočítanými týmto lineárnym regresným modelom pre kvadratúrne hodnoty, ktoré máme. Z uhla modelu ich znázorňujeme veľkosťou x.
|
Štvorcové zábery |
Ceny nehnuteľností (1000€) |
Cena modelu \(y = 6.3 + 1.02x\) (1000€) |
| 43 | 60 | 50.16 |
| 25 | 32.1 | 31.8 |
| 66 | 88.4 | 73.62 |
| 80 | 111.4 | 87.9 |
| 105 | 120.32 | 113.4 |
| 70 | 72.1 | 77.7 |
| 40 | 46.3 | 47.1 |
| 85 | 90.1 | 93 |
| 84 | 99.6 | 91.98 |
| 102 | 139.2 | 110.34 |
Rozdiel medzi očakávanými hodnotami (známymi v súbore údajov) a hodnotami, ktoré sme vypočítali (nezabudnite ich nazvať predpovedami), je chyba. Teraz vypočítajme všetky chyby a zaznamenajme ich do tabuľky.
|
Štvorcové zábery |
Ceny nehnuteľností (1000€) |
Cena modelu \(y = 6.3 + 1.02x\) (1000€) |
Chyba modelu |
| 43 | 60 | 50.16 | 9.84 |
| 25 | 32.1 | 31.8 | 0.3 |
| 66 | 88.4 | 73.62 | 14.78 |
| 80 | 111.4 | 87.9 | 2.53 |
| 105 | 120.32 | 113.4 | 6.92 |
| 70 | 72.1 | 77.7 | -5.6 |
| 40 | 46.3 | 47.1 | -0.8 |
| 85 | 90.1 | 93 | -2.9 |
| 84 | 99.6 | 91.98 | 7.62 |
| 102 | 139.2 | 110.34 | 28.86 |
Na uľahčenie sledovania správania chýb sú na obrázku nižšie ich hodnoty zobrazené modrými bodkovanými čiarami.

Aby sme získali predstavu o celkovej chybe modelu, nie je rozumné sčítať jednotlivé chyby, pretože niektoré chybové hodnoty sú kladné a niektoré záporné. Preto ich môžeme urovnať a sčítať - získame tak silnejšie informácie o veľkosti chyby bez ohľadu na to, či je kladná alebo záporná. Ak výsledný súčet vydelíme počtom inštancií v množine, urobme si predstavu o priemernej chybe modelu. V našom prípade je to: \((9.84^2+0.32^2+14.782^2+23.52^2+6.92^2+(-5.6)^2+(-0.8)^2+(-2.9)^2+7.62^2+28.86^2)/10=184.687\)
Chyba takto vypočítaného lineárneho regresného modelu sa nazýva stredná štvorcová chyba (MSE). Pre pevné hodnoty parametrov \(\beta_0\) a \(\beta_1\ možno postup výpočtu, ktorý sme opísali, skrátiť vzorcom \(\frac{1}{N}\sum\limits_{i = 1}^{N}(y_i-(\beta_0+\beta_1x_i))^2\). V ňom páry \(x_i,y_i\) zodpovedajú jednotlivým inštanciám, štvorcovým záberom nehnuteľností xi a ich cenám yi a číslo n označuje celkový počet inštancií. V našom prípade je to 10. Výraz uvedený v súčte predstavuje rozdiel medzi očakávanou hodnotou yi a vypočítanými hodnotami \(\beta_0+ \beta_1x_i\).
Štvorcová chyba je chyba, že vždy spárujeme s lineárnym regresným modelom a ktorú chceme čo najviac minimalizovať výberom parametrov rulex \(\beta_0\) a \(\beta_1\). Zo skúseností s nastavovaním parametrov ste videli, že to nie je veľmi ľahká úloha. Našťastie existujú matematické techniky, ktoré nám s tým môžu pomôcť. Aby sme zistili, ako to urobiť, prejdime na ďalšiu lekciu o gradientnom zostupe.