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 
(m2)

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 
(m2)

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.

 

 

Last modified: Saturday, 21 June 2025, 10:45 PM