Regressio
Note
Katso lisätietoja Teksti ja kuvat -välilehdeltä!
Regressiomallit on koulutettu ennustamaan numeerisia otsikkoarvoja koulutustietojen perusteella, jotka sisältävät sekä ominaisuuksia että tunnettuja tunnisteita. Regressiomallin (tai itse asiassa minkä tahansa valvotun koneoppimismallin) koulutusprosessi sisältää useita iteraatioita, joissa käytät sopivaa algoritmia (yleensä joillakin parametrisoiduilla asetuksilla) mallin kouluttamiseen, mallin ennakoivan suorituskyvyn arviointiin ja mallin tarkentamiseen toistamalla harjoitusprosessia eri algoritmeilla ja parametreilla, kunnes saavutat hyväksyttävän ennustetarkkuuden tason.
Kaaviossa on neljä ohjattujen koneoppimismallien koulutusprosessin keskeistä elementtiä:
- Jaa harjoitustiedot (satunnaisesti) luodaksesi tietojoukon, jonka avulla malli harjoitetaan, samalla kun pidät alijoukkoa tiedoista, joita käytät koulutetun mallin vahvistamiseen.
- Käytä algoritmia koulutustietojen sovittamiseen malliin. Jos kyseessä on regressiomalli, käytä regressioalgoritmia, kuten lineaarista regressiota.
- Käytä pidättämiäsi vahvistustietoja mallin testaamiseen ennustamalla ominaisuuksien otsikot.
- Vertaa vahvistustietojoukon tunnettuja todellisia otsikoita mallin ennustamiin tunnisteisiin. Koosta sitten ennustettujen ja todellisten otsikkoarvojen väliset erot ja laske mittari, joka ilmaisee, kuinka tarkasti malli ennusti vahvistustiedot.
Jokaisen harjoituksen, vahvistuksen ja iteroinnin arvioinnin jälkeen voit toistaa prosessin eri algoritmeilla ja parametreilla, kunnes hyväksyttävä arviointimittari on saavutettu.
Esimerkki - regressio
Tarkastellaan regressiota yksinkertaistetulla esimerkillä, jossa koulutamme mallin ennustamaan numeerisen otsikon (y) yhden ominaisuuden arvon (x) perusteella. Useimmissa todellisissa skenaarioissa on useita ominaisuusarvoja, mikä lisää monimutkaisuutta. mutta periaate on sama.
Pysytään esimerkissämme jäätelön myyntiskenaariossa, josta keskustelimme aiemmin. Ominaisuudessamme otamme huomioon lämpötilan (oletetaan, että arvo on tietyn päivän maksimilämpötila), ja etiketti, jonka haluamme kouluttaa mallin ennustamaan, on kyseisenä päivänä myytyjen jäätelöiden määrä. Aloitamme joillakin historiallisilla tiedoilla, jotka sisältävät päivittäiset lämpötilat (x) ja jäätelön myynnin (y):
|
|
|---|---|
| Lämpötila (x) | Jäätelön myynti (y) |
| 51 | 1 |
| 52 | 0 |
| 67 | 14 |
| 65 | 14 |
| 70 | 23 |
| 69 | 20 |
| 72 | 23 |
| 75 | 26 |
| 73 | 22 |
| 81 | 30 |
| 78 | 26 |
| 83 | 36 |
Regressiomallin kouluttaminen
Aloitamme jakamalla tiedot ja käyttämällä niiden osajoukkoa mallin kouluttamiseen. Tässä on koulutuksen tietojoukko:
| Lämpötila (x) | Jäätelön myynti (y) |
|---|---|
| 51 | 1 |
| 65 | 14 |
| 69 | 20 |
| 72 | 23 |
| 75 | 26 |
| 81 | 30 |
Saadaksemme käsityksen siitä, miten nämä x- ja y-arvot voivat liittyä toisiinsa, voimme piirtää ne koordinaatteina kahdelle akselille seuraavasti:
Nyt olemme valmiita soveltamaan algoritmia harjoitustietoihimme ja sovittamaan sen funktioon, joka soveltaa operaatiota x:ääny:n laskemiseksi. Yksi tällainen algoritmi on lineaarinen regressio, joka toimii johtamalla funktion, joka tuottaa suoran viivan x - ja y-arvojen leikkauspisteiden läpi ja minimoi suoran ja piirrettyjen pisteiden välisen keskimääräisen etäisyyden, kuten tämä:
Viiva on visuaalinen esitys funktiosta, jossa suoran kaltevuus kuvaa, kuinka y :n arvo lasketaan tietylle x:n arvolle. Viiva leikkaa x-akselin kohdassa 50, joten kun x on 50, y on 0. Kuten kaavion akselimerkeistä näkyy, viiva kalteutuu niin, että jokainen 5:n lisäys x-akselilla johtaa 5:n kasvuun y-akselia ylöspäin; Joten kun x on 55, y on 5; kun x on 60, y on 10 ja niin edelleen. Laskeakseen y:n arvon tietylle x:n arvolle funktio yksinkertaisesti vähentää 50; Toisin sanoen funktio voidaan ilmaista näin:
f(x) = x-50
Tämän toiminnon avulla voit ennustaa myytyjen jäätelöiden määrän kyseisenä päivänä missä tahansa lämpötilassa. Oletetaan esimerkiksi, että sääennuste kertoo, että huomenna on 77 astetta. Voimme soveltaa malliamme laskeaksemme 77-50 ja ennustaa, että myymme huomenna 27 jäätelöä.
Mutta kuinka tarkka mallimme oikein on?
Regressiomallin arviointi
Validoidaksemme mallin ja arvioidaksemme, kuinka hyvin se ennustaa, pidätimme joitakin tietoja, joiden tunnisteen (y) arvon tiedämme. Tässä ovat tiedot, joita pidätimme:
| Lämpötila (x) | Jäätelön myynti (y) |
|---|---|
| 52 | 0 |
| 67 | 14 |
| 70 | 23 |
| 73 | 22 |
| 78 | 26 |
| 83 | 36 |
Mallin avulla voimme ennustaa kunkin tämän tietojoukon havainnon merkinnän ominaisuuden (x) arvon perusteella; ja vertaa sitten ennustettua tunnistetta (ŷ) tunnettuun todelliseen tunnistearvoon (y).
Käyttämällä aiemmin kouluttamaamme mallia, joka kapseloi funktion f(x) = x-50, saadaan seuraavat ennusteet:
| Lämpötila (x) | Toteutunut myynti (y) | Ennakoitu myynti (ŷ) |
|---|---|---|
| 52 | 0 | 2 |
| 67 | 14 | 17 |
| 70 | 23 | 20 |
| 73 | 22 | 23 |
| 78 | 26 | 28 |
| 83 | 36 | 33 |
Voimme piirtää sekä ennustetut että todelliset tunnisteet ominaisuusarvoja vasten seuraavasti:
Malli laskee ennustetut otsikot niin, että ne ovat funktiorivillä, mutta funktion laskemien ŷ-arvojen ja vahvistustietojoukon todellisten y-arvojen välillä on jonkin verran varianssia. joka on merkitty kaaviossa ŷ- ja y-arvojen välisenä viivana, joka osoittaa, kuinka kaukana ennuste oli todellisesta arvosta.
Regression arvioinnin mittarit
Ennustettujen ja todellisten arvojen välisten erojen perusteella voit laskea joitakin yleisiä mittareita, joita käytetään regressiomallin arvioimiseen.
Keskimääräinen absoluuttinen virhe (MAE)
Tämän esimerkin varianssi ilmaisee, kuinka monta jäätelöä kukin ennuste oli väärä. Sillä ei ole väliä, oliko ennuste todellisen arvon ylä- vai alapuolella (joten esimerkiksi -3 ja +3 osoittavat molemmat varianssin 3). Tätä mittaria kutsutaan kunkin ennusteen absoluuttiseksi virheeksi , ja se voidaan tiivistää koko validointijoukolle keskimääräiseksi absoluuttiseksi virheeksi (MAE).
Jäätelöesimerkissä absoluuttisten virheiden (2, 3, 3, 1, 2 ja 3) keskiarvo (keskiarvo) on 2,33.
Keskimääräinen neliövirhe (MSE)
Keskimääräinen absoluuttinen virhemittari ottaa huomioon kaikki ennustettujen ja todellisten tunnisteiden väliset erot tasapuolisesti. Voi kuitenkin olla toivottavampaa, että malli on jatkuvasti hieman väärässä kuin sellainen, joka tekee vähemmän, mutta suurempia virheitä. Yksi tapa tuottaa mittari, joka "vahvistaa" suurempia virheitä neliöimällä yksittäiset virheet ja laskemalla neliöarvojen keskiarvon. Tätä mittaria kutsutaan keskimääräiseksi neliövirheeksi (MSE).
Jäätelöesimerkissämme absoluuttisten arvojen neliöiden (jotka ovat 4, 9, 9, 1, 4 ja 9) keskiarvo on 6.
Neliövirheen keskiarvo (RMSE)
Keskimääräinen neliövirhe auttaa ottamaan huomioon virheiden suuruuden, mutta koska se neliöi virhearvot, tuloksena oleva mittari ei enää edusta etiketin mittaamaa määrää. Toisin sanoen voimme sanoa, että mallimme MSE on 6, mutta se ei mittaa sen tarkkuutta väärin ennustettujen jäätelöiden määrällä; 6 on vain numeerinen pistemäärä, joka ilmaisee validointiennusteiden virhetason.
Jos haluamme mitata virheen jäätelöiden lukumääränä, meidän on laskettava MSE:n neliöjuuri ; joka tuottaa mittarin, jota kutsutaan yllättäen Root Mean Squared Erroriksi. Tässä tapauksessa √6, joka on 2,45 (jäätelöt).
Määrityskerroin (R2)
Kaikki tähän mennessä tehdyt mittarit vertaavat ennustettujen ja todellisten arvojen välistä eroa mallin arvioimiseksi. Todellisuudessa jäätelön päivittäisessä myynnissä on kuitenkin jonkin verran luonnollista satunnaisvaihtelua, jonka malli ottaa huomioon. Lineaarisessa regressiomallissa harjoitusalgoritmi sopii suoraan, joka minimoi funktion ja tunnettujen tunnistearvojen välisen keskimääräisen varianssin. Määrityskerroin (yleisemmin R2 tai R-Squared) on mittari, joka mittaa validointitulosten varianssin osuutta, joka voidaan selittää mallilla, toisin kuin jokin validointitietojen poikkeava näkökohta (esimerkiksi päivä, jolloin jäätelömyynti on erittäin epätavallista paikallisen festivaalin vuoksi).
R2:n laskenta on monimutkaisempi kuin aikaisemmilla mittareilla. Se vertaa ennustettujen ja todellisten otsikoiden välisten neliöerojen summaa todellisten tunnistearvojen ja todellisten tunnistearvojen keskiarvon neliöerojen summaan seuraavasti:
R2 = 1- ∑(y-ŷ)2 ÷ ∑(y-ȳ)2
Älä huolehdi liikaa, jos se näyttää monimutkaiselta; Useimmat koneoppimistyökalut voivat laskea mittarin puolestasi. Tärkeää on, että tulos on arvo välillä 0-1, joka kuvaa mallin selittämää varianssin osuutta. Yksinkertaisesti sanottuna, mitä lähempänä 1:tä tämä arvo on, sitä paremmin malli sopii validointitietoihin. Jäätelön regressiomallin validointitiedoista laskettu R2 on 0,95.
Iteratiivinen koulutus
Edellä kuvattuja mittareita käytetään yleisesti regressiomallin arvioimiseen. Useimmissa tosielämän skenaarioissa datatieteilijä käyttää iteratiivista prosessia mallin toistuvaan kouluttamiseen ja arviointiin vaihtelevasti:
- Ominaisuuden valinta ja valmistelu (malliin sisällytettävien ominaisuuksien valitseminen ja niihin sovellettavat laskelmat paremman sopivuuden varmistamiseksi).
- Algoritmin valinta (Tutkimme lineaarista regressiota edellisessä esimerkissä, mutta on olemassa monia muitakin regressioalgoritmeja)
- Algoritmiparametrit (numeeriset asetukset algoritmin käyttäytymisen ohjaamiseksi, tarkemmin sanottuna hyperparametreja niiden erottamiseksi x- ja y-parametreista).
Useiden iteraatioiden jälkeen valitaan malli, joka tuottaa parhaan arviointimittarin, joka on hyväksyttävä tietylle skenaariolle.