Koneoppiminen on tekoälyn haara, joka keskittyy sellaisten algoritmien ja tilastollisten mallien kehittämiseen, jotka voivat oppia tiedosta ja tehdä ennusteita tiedoista. Lineaarinen regressio on myös eräänlainen koneoppimisalgoritmi tarkemmin a valvottu koneoppimisalgoritmi joka oppii nimetyistä tietojoukoista ja kartoittaa datapisteet optimoiduimpiin lineaarisiin funktioihin. joita voidaan käyttää uusien tietojoukkojen ennustamiseen.
Ensinnäkin meidän pitäisi tietää, mitä valvotut koneoppimisalgoritmit ovat. Se on eräänlainen koneoppiminen, jossa algoritmi oppii merkityistä tiedoista. Merkitty data tarkoittaa tietojoukkoa, jonka kohdearvo on jo tiedossa. Ohjattua oppimista on kahta tyyppiä:
- Luokittelu : Se ennustaa tietojoukon luokan riippumattoman syöttömuuttujan perusteella. Luokka on kategorinen tai diskreetti arvo. kuin eläimen kuva on kissa vai koira?
- Regressio : Se ennustaa jatkuvat lähtömuuttujat riippumattoman tulomuuttujan perusteella. kuten asuntojen hintojen ennustaminen eri parametrien perusteella, kuten talon ikä, etäisyys päätieltä, sijainti, alue jne.
Täällä keskustelemme yhdestä yksinkertaisimmista regressiotyypeistä, ts. Lineaarinen regressio.
Sisällysluettelo
- Mikä on lineaarinen regressio?
- Lineaarisen regression tyypit
- Mikä on paras Fit Line?
- Lineaarisen regression kustannusfunktio
- Yksinkertaisen lineaarisen regression oletukset
- Usean lineaarisen regression oletukset
- Lineaarisen regression arviointimetrit
- Lineaarisen regression Python-toteutus
- Regularisointitekniikat lineaarisille malleille
- Lineaarisen regression sovellukset
- Lineaarisen regression edut ja haitat
- Lineaarinen regressio – Usein kysytyt kysymykset (FAQ)
Mikä on lineaarinen regressio?
Lineaarinen regressio on eräänlainen valvottua koneoppimista Algoritmi, joka laskee riippuvan muuttujan ja yhden tai useamman riippumattoman ominaisuuden välisen lineaarisen suhteen sovittamalla lineaarisen yhtälön havaittuun tietoon.
Kun on vain yksi itsenäinen ominaisuus, se tunnetaan nimellä Yksinkertainen lineaarinen regressio , ja kun ominaisuuksia on enemmän kuin yksi, se tunnetaan nimellä Useita lineaarisia regressioita .
git-komennot pushille
Vastaavasti, kun on vain yksi riippuva muuttuja, se otetaan huomioon Yksimuuttuja lineaarinen regressio , kun taas kun riippuvaisia muuttujia on enemmän kuin yksi, se tunnetaan nimellä Monimuuttujaregressio .
Miksi lineaarinen regressio on tärkeä?
Lineaarisen regression tulkittavuus on huomattava vahvuus. Mallin yhtälö tarjoaa selkeät kertoimet, jotka selvittävät kunkin riippumattoman muuttujan vaikutuksen riippuvaan muuttujaan, mikä helpottaa taustalla olevan dynamiikan syvempää ymmärtämistä. Sen yksinkertaisuus on hyve, sillä lineaarinen regressio on läpinäkyvä, helppo toteuttaa ja toimii perustana monimutkaisemmille algoritmeille.
Lineaarinen regressio ei ole vain ennustava työkalu; se muodostaa perustan erilaisille edistyneille malleille. Tekniikat, kuten regularisointi ja tukivektorikoneet, saavat inspiraatiota lineaarisesta regressiosta ja laajentavat sen käyttökelpoisuutta. Lisäksi lineaarinen regressio on oletustestauksen kulmakivi, jonka avulla tutkijat voivat vahvistaa dataa koskevat keskeiset oletukset.
Lineaarisen regression tyypit
Lineaarista regressiota on kahta päätyyppiä:
Yksinkertainen lineaarinen regressio
Tämä on lineaarisen regression yksinkertaisin muoto, ja se sisältää vain yhden riippumattoman muuttujan ja yhden riippuvan muuttujan. Yksinkertaisen lineaarisen regression yhtälö on:
missä:
- Y on riippuvainen muuttuja
- X on riippumaton muuttuja
- β0 on leikkauspiste
- β1 on kaltevuus
Useita lineaarisia regressioita
Tämä sisältää useamman kuin yhden riippumattoman muuttujan ja yhden riippuvan muuttujan. Moninkertaisen lineaarisen regression yhtälö on:
missä:
- Y on riippuvainen muuttuja
- X1, X2, …, Xp ovat riippumattomia muuttujia
- β0 on leikkauspiste
- β1, β2, …, βn ovat kaltevuudet
Algoritmin tavoitteena on löytää paras Fit Line yhtälö, joka voi ennustaa arvot riippumattomien muuttujien perusteella.
Regressiossa tietuejoukot ovat läsnä X- ja Y-arvoilla ja näitä arvoja käytetään funktion oppimiseen, joten jos haluat ennustaa Y:n tuntemattomasta X:stä, tätä opittua funktiota voidaan käyttää. Regressiossa on löydettävä Y:n arvo, joten tarvitaan funktio, joka ennustaa jatkuvan Y:n, jos regressio on annettu itsenäisenä ominaisuutena X.
Mikä on paras Fit Line?
Ensisijainen tavoitteemme käytettäessä lineaarista regressiota on löytää parhaiten sopiva viiva, mikä tarkoittaa, että ennustettujen ja todellisten arvojen välinen virhe tulisi pitää mahdollisimman pienenä. Parhaiten sopivalla rivillä on vähiten virheitä.
Paras Fit Line -yhtälö tarjoaa suoran viivan, joka edustaa riippuvien ja riippumattomien muuttujien välistä suhdetta. Viivan kaltevuus osoittaa, kuinka paljon riippuva muuttuja muuttuu riippumattoman muuttujan (riippumattomien muuttujien) yksikkömuutoksen vuoksi.

Lineaarinen regressio
Tässä Y:tä kutsutaan riippuvaiseksi tai kohdemuuttujaksi ja X:ää itsenäiseksi muuttujaksi, joka tunnetaan myös Y:n ennustajana. Regressioon voidaan käyttää monenlaisia funktioita tai moduuleja. Lineaarinen funktio on yksinkertaisin funktiotyyppi. Tässä X voi olla yksi ominaisuus tai useita ongelmaa edustavia ominaisuuksia.
Lineaarinen regressio suorittaa tehtävän ennustaa riippuvaisen muuttujan arvo (y) tietyn riippumattoman muuttujan (x) perusteella. Siksi nimi on Lineaarinen regressio. Yllä olevassa kuvassa X (input) on henkilön työkokemus ja Y (output) on henkilön palkka. Regressioviiva on mallillemme parhaiten sopiva suora.
Käytämme kustannusfunktiota parhaiden arvojen laskemiseen parhaan sovitusviivan saamiseksi, koska erilaiset painoarvot tai viivojen kertoimet johtavat erilaisiin regressiosuoraan.
Lineaarisen regression hypoteesifunktio
Kuten olemme aiemmin olettaneet, että riippumaton ominaisuutemme on kokemus eli X ja vastaava palkka Y on riippuvainen muuttuja. Oletetaan, että X:n ja Y:n välillä on lineaarinen suhde, jolloin palkka voidaan ennustaa käyttämällä:
TAI
Tässä,
y_i epsilon Y ;; (i= 1,2, cdots , n) ovat datan tunnisteita (ohjattu oppiminen)x_i epsilon X ;; (i= 1,2, cdots , n) ovat syötteestä riippumattomia harjoitustietoja (yksimuuttuja – yksi syötemuuttuja(parametri))hat{y_i} epsilon hat{Y} ;; (i= 1,2, cdots , n) ovat ennustetut arvot.
Malli saa parhaan regression sovitusviivan etsimällä parhaan θ:n1ja θ2arvot.
- i 1 : siepata
- i 2 : kerroin x
Kun löydämme parhaan θ1ja θ2arvot, saamme parhaiten sopivan linjan. Joten kun lopulta käytämme malliamme ennustamiseen, se ennustaa y:n arvon x:n syöttöarvolle.
Kuinka päivittää θ 1 ja θ 2 arvot saadaksesi parhaiten sopivan linjan?
Parhaiten sopivan regressioviivan saavuttamiseksi malli pyrkii ennustamaan tavoitearvon
Lineaarisen regression kustannusfunktio
The kustannustoiminto tai häviötoiminto on vain virhe tai ero ennustetun arvon välillä
osi referenssimalli verkottumisessa
Lineaarisessa regressiossa Keskimääräinen neliövirhe (MSE) käytetään kustannusfunktiota, joka laskee ennustettujen arvojen välisten neliövirheiden keskiarvon
MSE-funktio voidaan laskea seuraavasti:
MSE-funktiota käyttämällä iteratiivista gradientin laskeutumisprosessia käytetään arvojen päivittämiseen
Tämä prosessi sisältää parametrien ( heta_1) ja ( heta_2) jatkuvan säätämisen MSE:stä laskettujen gradienttien perusteella. Lopputulos on lineaarinen regressioviiva, joka minimoi kokonaisneliöerot ennustettujen ja todellisten arvojen välillä ja tarjoaa optimaalisen esityksen datan taustalla olevasta suhteesta.
Lineaarisen regression gradienttilasku
Lineaarista regressiomallia voidaan harjoitella käyttämällä optimointialgoritmia gradienttilasku muokkaamalla mallin parametreja iteratiivisesti pienentämään keskimääräinen neliövirhe (MSE) mallista harjoitustietojoukossa. Päivittääksesi θ1ja θ2arvot kustannusfunktion alentamiseksi (RMSE-arvon minimoiminen) ja parhaiten sopivan linjan saavuttamiseksi, malli käyttää Gradient Descent -toimintoa. Ajatuksena on aloittaa satunnaisella θ:lla1ja θ2arvot ja päivittää sitten arvot iteratiivisesti saavuttaen vähimmäiskustannukset.
Gradientti ei ole muuta kuin johdannainen, joka määrittelee vaikutukset funktion ulostuloihin pienellä vaihtelulla tuloissa.
Erotetaan kustannusfunktio (J) suhteessa
Erotetaan kustannusfunktio (J) suhteessa
Lineaarisen regression tavoitteena on löytää parhaiten koulutustietoihin sopivan lineaarisen yhtälön kertoimet. Kertoimia voidaan muuttaa siirtymällä Mean Squared Error negatiivisen gradientin suuntaan kertoimien suhteen. Ja vastaava leikkauspiste ja X:n kerroin on jos
Gradientti laskeutuminen
Yksinkertaisen lineaarisen regression oletukset
Lineaarinen regressio on tehokas työkalu muuttujan käyttäytymisen ymmärtämiseen ja ennustamiseen, mutta sen on täytettävä muutama ehto ollakseen tarkkoja ja luotettavia ratkaisuja.
- Lineaarisuus : Riippumattomalla ja riippuvaisella muuttujalla on lineaarinen suhde toisiinsa. Tämä tarkoittaa, että muutokset riippuvassa muuttujassa seuraavat riippumattomien muuttujien (riippumattomien muuttujien) muutoksia lineaarisesti. Tämä tarkoittaa, että datapisteiden läpi pitäisi olla suora viiva, joka voidaan vetää. Jos suhde ei ole lineaarinen, lineaarinen regressio ei ole tarkka malli.
- Itsenäisyys : Tietojoukon havainnot ovat toisistaan riippumattomia. Tämä tarkoittaa, että yhden havainnon riippuvaisen muuttujan arvo ei riipu toisen havainnon riippuvan muuttujan arvosta. Jos havainnot eivät ole riippumattomia, lineaarinen regressio ei ole tarkka malli.
- Homosedastisuus : Kaikilla riippumattomien muuttujien tasoilla virheiden varianssi on vakio. Tämä osoittaa, että riippumattomien muuttujien määrällä ei ole vaikutusta virheiden varianssiin. Jos residuaalien varianssi ei ole vakio, lineaarinen regressio ei ole tarkka malli.
Homoskedastisuus lineaarisessa regressiossa
unordered_map c++
- Normaalisuus : Jäännösten tulee jakautua normaalisti. Tämä tarkoittaa, että jäännösten tulee seurata kellon muotoista käyrää. Jos residuaalit eivät ole normaalijakautuneita, lineaarinen regressio ei ole tarkka malli.
Usean lineaarisen regression oletukset
Multiple lineaarisessa regressiossa kaikki neljä yksinkertaisen lineaarisen regression oletusta pätevät. Tämän lisäksi alla muutamia muita:
- Ei multikollineaarisuutta : Riippumattomien muuttujien välillä ei ole korkeaa korrelaatiota. Tämä osoittaa, että riippumattomien muuttujien välillä on vähän tai ei ollenkaan korrelaatiota. Multikollineaarisuus ilmenee, kun kaksi tai useampi riippumaton muuttuja korreloi voimakkaasti keskenään, mikä voi vaikeuttaa kunkin muuttujan yksittäisen vaikutuksen määrittämistä riippuvaan muuttujaan. Jos multikollineaarisuus on olemassa, moninkertainen lineaarinen regressio ei ole tarkka malli.
- Additiivisuus: Malli olettaa, että ennustajamuuttujan muutosten vaikutus vastemuuttujaan on johdonmukainen muiden muuttujien arvoista riippumatta. Tämä oletus viittaa siihen, että muuttujien välillä ei ole vuorovaikutusta niiden vaikutuksissa riippuvaan muuttujaan.
- Ominaisuuden valinta: Moninkertaisessa lineaarisessa regressiossa on tärkeää valita huolellisesti malliin sisällytettävät riippumattomat muuttujat. Epäolennaisten tai redundanttien muuttujien sisällyttäminen voi johtaa ylisovitukseen ja vaikeuttaa mallin tulkintaa.
- Yliasennus: Ylisovitus tapahtuu, kun malli sopii harjoitusdataan liian tiiviisti ja sieppaa kohinaa tai satunnaisia vaihteluita, jotka eivät edusta muuttujien välistä todellista taustalla olevaa suhdetta. Tämä voi johtaa huonoon yleistyssuorituskykyyn uudella, näkymättömällä tiedolla.
Monikollineaarisuus
Monikollineaarisuus on tilastollinen ilmiö, joka ilmenee, kun kaksi tai useampi riippumaton muuttuja moniregressiomallissa korreloi voimakkaasti, mikä tekee vaikeaksi arvioida kunkin muuttujan yksittäisiä vaikutuksia riippuvaan muuttujaan.
Multikollineaarisuuden havaitseminen sisältää kaksi tekniikkaa:
- Korrelaatiomatriisi: Korrelaatiomatriisin tutkiminen riippumattomien muuttujien kesken on yleinen tapa havaita multikollineaarisuus. Korkeat korrelaatiot (lähellä 1 tai -1) viittaavat mahdolliseen multikollineaarisuuteen.
- VIF (varianssiinflaatiotekijä): VIF on mitta, joka määrittää, kuinka paljon arvioidun regressiokertoimen varianssi kasvaa, jos ennustajat korreloivat. Korkea VIF (tyypillisesti yli 10) viittaa monikollineaarisuuteen.
Lineaarisen regression arviointimetrit
Erilaisia arviointitoimenpiteitä voidaan käyttää minkä tahansa lineaarisen regressiomallin vahvuuden määrittämiseen. Nämä arviointimittarit antavat usein viitteitä siitä, kuinka hyvin malli tuottaa havaitut tulokset.
Yleisimmät mittaukset ovat:
Keskimääräinen neliövirhe (MSE)
Keskimääräinen neliövirhe (MSE) on arviointimetriikka, joka laskee kaikkien datapisteiden todellisten ja ennustettujen arvojen välisten neliöityjen erojen keskiarvon. Ero on neliöity sen varmistamiseksi, että negatiiviset ja positiiviset erot eivät kumoa toisiaan.
Tässä,
- n on datapisteiden lukumäärä.
- jaion i:n todellinen tai havaittu arvothdatapiste.
widehat{y_{i}} on i:n ennustettu arvothdatapiste.
MSE on tapa kvantifioida mallin ennusteiden tarkkuus. MSE on herkkä poikkeaville arvoille, koska suuret virheet vaikuttavat merkittävästi kokonaispistemäärään.
Keskimääräinen absoluuttinen virhe (MAE)
Keskimääräinen absoluuttinen virhe on arviointimittari, jota käytetään laskemaan regressiomallin tarkkuus. MAE mittaa keskimääräistä absoluuttista eroa ennustettujen arvojen ja todellisten arvojen välillä.
Matemaattisesti MAE ilmaistaan seuraavasti:
Tässä,
- n on havaintojen lukumäärä
- JAiedustaa todellisia arvoja.
widehat{Y_i} edustaa ennustettuja arvoja
Alempi MAE-arvo osoittaa parempaa mallin suorituskykyä. Se ei ole herkkä poikkeaville arvoille, koska otamme huomioon absoluuttiset erot.
Root Mean Squared Error (RMSE)
Residuaalien varianssin neliöjuuri on Root Mean Squared Error . Se kuvaa kuinka hyvin havaitut datapisteet vastaavat odotettuja arvoja tai mallin absoluuttista sovitusta dataan.
Matemaattisessa merkinnässä se voidaan ilmaista seuraavasti:
Sen sijaan, että mallin datapisteiden koko määrä jaettaisiin vapausasteiden lukumäärällä, on jaettava neliöityjen jäännösten summa puolueettoman arvion saamiseksi. Sitten tähän lukuun viitataan nimellä Residual Standard Error (RSE).
Matemaattisessa merkinnässä se voidaan ilmaista seuraavasti:
RSME ei ole yhtä hyvä mittari kuin R-neliö. Root Mean Squared Error voi vaihdella, kun muuttujien yksiköt vaihtelevat, koska sen arvo on riippuvainen muuttujien yksiköistä (se ei ole normalisoitu mitta).
Determinaatiokerroin (R-neliö)
R-neliö on tilasto, joka osoittaa, kuinka paljon vaihtelua kehitetty malli voi selittää tai kaapata. Se on aina välillä 0 - 1. Yleensä mitä paremmin malli vastaa tietoja, sitä suurempi on R-neliö.
Matemaattisessa merkinnässä se voidaan ilmaista seuraavasti:
java katkeaa silmukasta
- Neliöiden jäännössumma (RSS): The jäännösneliöiden summa jokaiselle kaavion tai datan datapisteelle tunnetaan neliöiden jäännössummana tai RSS:nä. Se mittaa eroa havaitun ja odotetun tuotoksen välillä.
RSS=sum_{i=2}^{n}(y_{i}-b_{0}-b_{1}x_{i})^{2} - Neliöiden kokonaissumma (TSS): Datapisteiden virheiden summa vastausmuuttujan keskiarvosta tunnetaan neliöiden kokonaissummana eli TSS:nä.
TSS= sum_{}^{}(y-overline{y_{i}})^2
R-neliömetriikka on riippuvaisen muuttujan varianssin osuuden mitta, joka on selitetty riippumattomille muuttujille mallissa.
Muokattu R-neliövirhe
Muokattu R2mittaa riippuvaisen muuttujan varianssin osuutta, joka selittyy riippumattomilla muuttujilla regressiomallissa. Säädetty R-neliö ottaa huomioon mallin ennustajien määrän ja rankaisee mallia epäolennaisten ennustajien sisällyttämisestä, jotka eivät merkittävästi selitä riippuvien muuttujien varianssia.
Matemaattisesti säädetty R2ilmaistaan seuraavasti:
Tässä,
- n on havaintojen lukumäärä
- k on ennustajien lukumäärä mallissa
- R2on päättäväisyyden kerroin
Säädetty R-neliö auttaa estämään liiallista sovitusta. Se rankaisee mallia lisäennusteilla, jotka eivät merkittävästi selitä riippuvan muuttujan varianssia.
Lineaarisen regression Python-toteutus
Tuo tarvittavat kirjastot:
Python 3 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.axes as ax from matplotlib.animation import FuncAnimation>
Lataa tietojoukko ja erota syöte- ja kohdemuuttujat
Tässä linkki datajoukkoon: Tietojoukon linkki
Python 3 url = 'https://media.techcodeview.com data = pd.read_csv(url) data # Drop the missing values data = data.dropna() # training dataset and labels train_input = np.array(data.x[0:500]).reshape(500, 1) train_output = np.array(data.y[0:500]).reshape(500, 1) # valid dataset and labels test_input = np.array(data.x[500:700]).reshape(199, 1) test_output = np.array(data.y[500:700]).reshape(199, 1)>
Rakenna lineaarinen regressiomalli ja piirrä regressioviiva
Askeleet:
- Eteenpäin etenemisessä käytetään lineaarista regressiofunktiota Y=mx+c antamalla aluksi parametrin (m & c) satunnaisarvo.
- Olemme kirjoittaneet funktion kustannusfunktion eli keskiarvon löytämiseen