Mašininis mokymasis yra dirbtinio intelekto šaka, kurioje pagrindinis dėmesys skiriamas algoritmų ir statistinių modelių kūrimui, kurie gali mokytis iš duomenų ir daryti prognozes. Tiesinė regresija taip pat yra mašininio mokymosi algoritmo tipas, tiksliau a prižiūrimas mašininio mokymosi algoritmas kuri mokosi iš pažymėtų duomenų rinkinių ir susieja duomenų taškus į labiausiai optimizuotas tiesines funkcijas. kuriuos galima naudoti numatant naujus duomenų rinkinius.
Pirmiausia turėtume žinoti, kas yra prižiūrimi mašininio mokymosi algoritmai. Tai mašininio mokymosi tipas, kai algoritmas mokosi iš pažymėtų duomenų. Pažymėti duomenys reiškia duomenų rinkinį, kurio atitinkama tikslinė vertė jau žinoma. Prižiūrimas mokymasis yra dviejų tipų:
- klasifikacija : Jis numato duomenų rinkinio klasę pagal nepriklausomą įvesties kintamąjį. Klasė yra kategoriškos arba atskiros vertės. kaip gyvūno vaizdas yra katė ar šuo?
- Regresija : Jis numato nuolatinius išvesties kintamuosius pagal nepriklausomą įvesties kintamąjį. kaip būsto kainų prognozavimas pagal įvairius parametrus, pvz., namo amžių, atstumą nuo pagrindinio kelio, vietą, plotą ir kt.
Čia aptarsime vieną iš paprasčiausių regresijos tipų t.y. Tiesinė regresija.
Turinys
- Kas yra tiesinė regresija?
- Tiesinės regresijos tipai
- Kokia yra geriausia Fit Line?
- Tiesinės regresijos sąnaudų funkcija
- Paprastosios tiesinės regresijos prielaidos
- Daugialypės tiesinės regresijos prielaidos
- Tiesinės regresijos vertinimo metrika
- Python tiesinės regresijos įgyvendinimas
- Tiesinių modelių reguliavimo metodai
- Tiesinės regresijos taikymai
- Tiesinės regresijos pranašumai ir trūkumai
- Tiesinė regresija – dažnai užduodami klausimai (DUK)
Kas yra tiesinė regresija?
Tiesinė regresija yra tam tikra rūšis prižiūrimas mašininis mokymasis algoritmas, apskaičiuojantis tiesinį ryšį tarp priklausomo kintamojo ir vieno ar daugiau nepriklausomų požymių, pritaikant tiesinę lygtį prie stebimų duomenų.
Kai yra tik viena nepriklausoma savybė, ji vadinama Paprasta tiesinė regresija , o kai yra daugiau nei viena funkcija, ji vadinama Daugkartinė tiesinė regresija .
usa kiek miestų
Panašiai, kai yra tik vienas priklausomas kintamasis, jis laikomas Vienamatė tiesinė regresija , o kai yra daugiau nei vienas priklausomas kintamasis, jis vadinamas Daugiamatė regresija .
Kodėl tiesinė regresija yra svarbi?
Tiesinės regresijos aiškinamumas yra nepaprasta stiprybė. Modelio lygtis pateikia aiškius koeficientus, kurie išaiškina kiekvieno nepriklausomo kintamojo įtaką priklausomam kintamajam, palengvinančią gilesnį pagrindinės dinamikos supratimą. Jo paprastumas yra privalumas, nes tiesinė regresija yra skaidri, lengvai įgyvendinama ir naudojama kaip pagrindinė sudėtingesnių algoritmų koncepcija.
Tiesinė regresija nėra tik nuspėjamoji priemonė; tai yra įvairių pažangių modelių pagrindas. Tokios technikos kaip reguliavimas ir paramos vektoriaus mašinos semiasi įkvėpimo iš tiesinės regresijos, plečiant jos naudingumą. Be to, tiesinė regresija yra kertinis prielaidų tikrinimo akmuo, leidžiantis tyrėjams patvirtinti pagrindines prielaidas apie duomenis.
Tiesinės regresijos tipai
Yra du pagrindiniai tiesinės regresijos tipai:
Paprasta tiesinė regresija
Tai paprasčiausia tiesinės regresijos forma ir apima tik vieną nepriklausomą kintamąjį ir vieną priklausomą kintamąjį. Paprastos tiesinės regresijos lygtis yra tokia:
kur:
- Y yra priklausomas kintamasis
- X yra nepriklausomas kintamasis
- β0 yra sankirta
- β1 yra nuolydis
Daugkartinė tiesinė regresija
Tai apima daugiau nei vieną nepriklausomą kintamąjį ir vieną priklausomą kintamąjį. Daugialypės tiesinės regresijos lygtis yra tokia:
kur:
- Y yra priklausomas kintamasis
- X1, X2, …, Xp yra nepriklausomi kintamieji
- β0 yra sankirta
- β1, β2, …, βn yra nuolydžiai
Algoritmo tikslas yra rasti geriausia Fit Line lygtis, kuri gali numatyti reikšmes pagal nepriklausomus kintamuosius.
Regresijos atveju įrašų rinkinys yra su X ir Y reikšmėmis ir šios reikšmės naudojamos funkcijai išmokti, taigi, jei norite numatyti Y iš nežinomo X, šią išmoktą funkciją galima naudoti. Regresijoje turime rasti Y reikšmę, taigi, reikalinga funkcija, kuri numatytų tolydų Y regresijos atveju, kai X yra nepriklausomas požymis.
Kokia yra geriausia Fit Line?
Mūsų pagrindinis tikslas naudojant tiesinę regresiją yra rasti geriausiai tinkančią liniją, o tai reiškia, kad paklaida tarp numatomų ir faktinių verčių turėtų būti kuo mažesnė. Geriausiai tinkančioje eilutėje bus mažiausiai klaidų.
Geriausia Fit Line lygtis pateikia tiesią liniją, kuri parodo priklausomų ir nepriklausomų kintamųjų ryšį. Linijos nuolydis rodo, kiek priklausomasis kintamasis pasikeičia, kai nepriklausomo kintamojo (-ių) vienetas pasikeičia.

Tiesinė regresija
Čia Y vadinamas priklausomu arba tiksliniu kintamuoju, o X vadinamas nepriklausomu kintamuoju, taip pat žinomu kaip Y prognozės veiksnys. Yra daug funkcijų arba modulių, kuriuos galima naudoti regresijai. Linijinė funkcija yra paprasčiausias funkcijos tipas. Čia X gali būti viena ypatybė arba kelios problemą nurodančios funkcijos.
Tiesinė regresija atlieka užduotį numatyti priklausomo kintamojo reikšmę (y), remiantis duotu nepriklausomu kintamuoju (x)). Taigi pavadinimas yra tiesinė regresija. Aukščiau esančiame paveikslėlyje X (input) yra darbo patirtis, o Y (output) yra asmens atlyginimas. Regresijos linija geriausiai tinka mūsų modeliui.
Mes naudojame sąnaudų funkciją, kad apskaičiuotume geriausias vertes, kad gautume geriausiai tinkančią liniją, nes skirtingos svorių ar linijų koeficiento reikšmės lemia skirtingas regresijos linijas.
Tiesinės regresijos hipotezės funkcija
Kaip manėme anksčiau, mūsų nepriklausomas požymis yra patirtis, ty X, o atitinkamas atlyginimas Y yra priklausomas kintamasis. Tarkime, kad tarp X ir Y yra tiesinis ryšys, tada atlyginimą galima numatyti naudojant:
ARBA
Čia
y_i epsilon Y ;; (i= 1,2, cdots , n) yra duomenų etiketės (mokymasis prižiūrimas)x_i epsilon X ;; (i= 1,2, cdots , n) yra nepriklausomi įvesties mokymo duomenys (vienamatis – vienas įvesties kintamasis (parametras))hat{y_i} epsilon hat{Y} ;; (i= 1,2, cdots , n) yra numatomos vertės.
Modelis gauna geriausią regresijos liniją, radęs geriausią θ1ir θ2vertybes.
- i 1 : perimti
- i 2 : koeficientas x
Kai tik surasime geriausią θ1ir θ2vertes, gauname geriausiai tinkančią liniją. Taigi, kai pagaliau naudosime savo modelį numatymui, jis numatys y reikšmę x įvesties vertei.
Kaip atnaujinti θ 1 ir θ 2 vertes, kad gautumėte geriausiai tinkančią liniją?
Kad būtų pasiekta tinkamiausia regresijos linija, modeliu siekiama numatyti tikslinę vertę
Tiesinės regresijos sąnaudų funkcija
The kaštų funkcija arba praradimo funkcija yra ne kas kita, kaip numatomos vertės klaida arba skirtumas
Taikant tiesinę regresiją, Vidutinė kvadrato klaida (MSE) naudojama kaštų funkcija, kuri apskaičiuoja kvadratinių klaidų vidurkį tarp numatytų verčių
MSE funkciją galima apskaičiuoti taip:
Naudojant MSE funkciją, iteracinis gradiento nusileidimo procesas taikomas norint atnaujinti reikšmes
Šis procesas apima nuolatinį parametrų ( heta_1) ir ( heta_2) koregavimą pagal gradientus, apskaičiuotus iš MSE. Galutinis rezultatas yra tiesinė regresijos linija, kuri sumažina bendrus skirtumus tarp numatytų ir faktinių verčių kvadratu ir optimaliai atvaizduoja pagrindinį duomenų ryšį.
Gradiento nusileidimas tiesinei regresijai
Linijinės regresijos modelis gali būti mokomas naudojant optimizavimo algoritmą gradiento nusileidimas iteratyviai modifikuodami modelio parametrus, kad sumažintumėte vidutinė kvadratinė paklaida (MSE) modelio treniruočių duomenų rinkinyje. Norėdami atnaujinti θ1ir θ2reikšmes, kad sumažintų kaštų funkciją (sumažindama RMSE vertę) ir pasiektų geriausiai tinkančią liniją, modelis naudoja gradiento nusileidimą. Idėja yra pradėti nuo atsitiktinio θ1ir θ2vertes, o tada pakartotinai atnaujinkite vertes, pasiekdami minimalias išlaidas.
bourne vėl apvalkalas
Gradientas yra ne kas kita, o išvestinė, kuri apibrėžia funkcijos išvesties poveikį, šiek tiek keičiant įvestis.
Atskirkime sąnaudų funkciją (J) atsižvelgiant į
Atskirkime sąnaudų funkciją (J) atsižvelgiant į
Tiesinės regresijos tikslas yra rasti tiesinės lygties, kuri geriausiai atitinka mokymo duomenis, koeficientus. Judant vidutinės kvadratinės klaidos neigiamo gradiento kryptimi koeficientų atžvilgiu, koeficientus galima keisti. O atitinkama X pertrauka ir koeficientas bus jei
Gradiento nusileidimas
Paprastosios tiesinės regresijos prielaidos
Tiesinė regresija yra galinga priemonė suprasti ir numatyti kintamojo elgesį, tačiau ji turi atitikti keletą sąlygų, kad būtų tikslūs ir patikimi sprendimai.
- Tiesiškumas : nepriklausomi ir priklausomi kintamieji turi tiesinį ryšį vienas su kitu. Tai reiškia, kad priklausomo kintamojo pokyčiai linijiniu būdu seka nepriklausomo (-ių) kintamojo (-ų) pokyčius. Tai reiškia, kad turi būti tiesi linija, kurią būtų galima nubrėžti per duomenų taškus. Jei ryšys nėra tiesinis, tai tiesinė regresija nebus tikslus modelis.

- Nepriklausomybė : duomenų rinkinio stebėjimai nepriklauso vienas nuo kito. Tai reiškia, kad vieno stebėjimo priklausomo kintamojo reikšmė nepriklauso nuo kito stebėjimo priklausomo kintamojo reikšmės. Jei stebėjimai nėra nepriklausomi, tiesinė regresija nebus tikslus modelis.
- Homoscedastiškumas : Visuose nepriklausomo kintamojo (-ių) lygiuose klaidų dispersija yra pastovi. Tai rodo, kad nepriklausomo (-ių) kintamojo (-ų) dydis neturi įtakos klaidų dispersijai. Jei likučių dispersija nėra pastovi, tai tiesinė regresija nebus tikslus modelis.

Homoscedastiškumas tiesine regresija
- Normalumas : Likučiai turi būti pasiskirstę normaliai. Tai reiškia, kad likučiai turi atitikti varpo formos kreivę. Jei likučiai nėra normaliai pasiskirstę, tiesinė regresija nebus tikslus modelis.
Daugialypės tiesinės regresijos prielaidos
Daugiatiesinei regresijai taikomos visos keturios paprastosios tiesinės regresijos prielaidos. Be to, žemiau yra keletas kitų:
- Nėra daugiakolineariškumo : Nėra didelės koreliacijos tarp nepriklausomų kintamųjų. Tai rodo, kad tarp nepriklausomų kintamųjų yra mažai arba visai nėra koreliacijos. Daugiakolinisiškumas atsiranda, kai du ar daugiau nepriklausomų kintamųjų yra labai koreliuojami vienas su kitu, todėl gali būti sunku nustatyti individualų kiekvieno kintamojo poveikį priklausomam kintamajam. Jei yra daugiakolineariškumas, tai daugkartinė tiesinė regresija nebus tikslus modelis.
- Papildomumas: Modelyje daroma prielaida, kad prognozuojamojo kintamojo pokyčių poveikis atsako kintamajam yra nuoseklus, nepaisant kitų kintamųjų reikšmių. Ši prielaida reiškia, kad nėra sąveikos tarp kintamųjų jų poveikio priklausomam kintamajam.
- Funkcijos pasirinkimas: Taikant daugialypę tiesinę regresiją, būtina atidžiai pasirinkti nepriklausomus kintamuosius, kurie bus įtraukti į modelį. Įtraukus nesvarbius arba perteklinius kintamuosius, modelis gali būti per daug pritaikytas ir apsunkinti modelio aiškinimą.
- Per didelis pritaikymas: Per didelis pritaikymas įvyksta, kai modelis per daug pritaiko mokymo duomenis, užfiksuodamas triukšmą arba atsitiktinius svyravimus, kurie neatspindi tikrojo pagrindinio kintamųjų ryšio. Dėl to gali prastai apibendrinti nauji, nematyti duomenys.
Daugiakolinisiškumas
Daugiakolinisiškumas yra statistinis reiškinys, atsirandantis, kai du ar daugiau nepriklausomų kintamųjų daugialypės regresijos modelyje labai koreliuoja, todėl sunku įvertinti individualų kiekvieno kintamojo poveikį priklausomam kintamajam.
Daugiakolineariškumo aptikimas apima du būdus:
- Koreliacijos matrica: Nepriklausomų kintamųjų koreliacijos matricos tyrimas yra įprastas būdas nustatyti daugiakolineariškumą. Didelės koreliacijos (arti 1 arba -1) rodo galimą daugiakolineariškumą.
- VIF (dispersinės infliacijos koeficientas): VIF yra matas, kiekybiškai įvertinantis, kiek padidėja apskaičiuoto regresijos koeficiento dispersija, jei jūsų prognozės yra koreliuojamos. Aukštas VIF (paprastai didesnis nei 10) rodo daugiakolineariškumą.
Tiesinės regresijos vertinimo metrika
Įvairių vertinimo priemones gali būti naudojamas bet kurio tiesinės regresijos modelio stiprumui nustatyti. Šios vertinimo metrikos dažnai parodo, kaip gerai modelis sukuria stebimus rezultatus.
Dažniausi matavimai yra šie:
Vidutinė kvadratinė klaida (MSE)
Vidutinė kvadrato klaida (MSE) yra vertinimo metrika, apskaičiuojanti visų duomenų taškų faktinių ir numatomų verčių skirtumų kvadratu vidurkį. Skirtumas padalytas į kvadratą, siekiant užtikrinti, kad neigiami ir teigiami skirtumai nepanaikintų vienas kito.
Čia
- n yra duomenų taškų skaičius.
- iriyra faktinė arba stebima i vertėthduomenų taškas.
widehat{y_{i}} yra numatoma i reikšmėthduomenų taškas.
MSE yra būdas kiekybiškai įvertinti modelio prognozių tikslumą. MSE yra jautrus nuokrypiams, nes didelės klaidos labai prisideda prie bendro balo.
Vidutinė absoliuti klaida (MAE)
Vidutinė absoliuti klaida yra vertinimo metrika, naudojama regresijos modelio tikslumui apskaičiuoti. MAE matuoja vidutinį absoliutų skirtumą tarp numatomų ir faktinių verčių.
Matematiškai MAE išreiškiamas taip:
Čia
- n yra stebėjimų skaičius
- IRiparodo tikrąsias vertes.
widehat{Y_i} reiškia numatomas vertes
Mažesnė MAE reikšmė rodo geresnį modelio veikimą. Jis nėra jautrus nuokrypiams, nes atsižvelgiame į absoliučius skirtumus.
Šaknies vidurkio kvadrato klaida (RMSE)
Likučių dispersijos kvadratinė šaknis yra Šaknies vidurkio kvadrato klaida . Jame aprašoma, kaip stebimi duomenų taškai atitinka numatomas vertes arba modelio absoliučią atitiktį duomenims.
Matematiniu žymėjimu jis gali būti išreikštas taip:
Užuot padalinus visą modelio duomenų taškų skaičių iš laisvės laipsnių skaičiaus, reikia padalyti likučių kvadratu sumą, kad gautume nešališką įvertinimą. Tada šis skaičius vadinamas likutine standartine klaida (RSE).
Matematiniu žymėjimu jis gali būti išreikštas taip:
RSME nėra tokia gera metrika kaip R kvadratas. Vidutinio kvadratinio dydžio klaida gali svyruoti, kai kintamųjų vienetai skiriasi, nes jos reikšmė priklauso nuo kintamųjų vienetų (tai nėra normalizuotas matas).
kaip iškviesti metodą java
Nustatymo koeficientas (R kvadratas)
R kvadratas yra statistika, rodanti, kiek variacijų sukurtas modelis gali paaiškinti ar užfiksuoti. Jis visada yra intervale nuo 0 iki 1. Apskritai, kuo geriau modelis atitinka duomenis, tuo didesnis R kvadrato skaičius.
Matematiniu žymėjimu jis gali būti išreikštas taip:
- Likutinė kvadratų suma (RSS): The kiekvieno sklypo ar duomenų taško likutinės kvadratų suma yra žinoma kaip likutinė kvadratų suma arba RSS. Tai skirtumo tarp pastebėtos ir numatytos produkcijos matavimas.
RSS=sum_{i=2}^{n}(y_{i}-b_{0}-b_{1}x_{i})^{2} - Bendra kvadratų suma (TSS): Duomenų taškų klaidų suma iš atsakymo kintamojo vidurkio yra žinoma kaip bendra kvadratų suma arba TSS.
TSS= sum_{}^{}(y-overline{y_{i}})^2
R kvadratinė metrika yra priklausomo kintamojo dispersijos proporcijos matas, paaiškinamas nepriklausomiems kintamiesiems modelyje.
Pakoreguota R kvadrato klaida
Patikslintas R2matuoja priklausomo kintamojo dispersijos proporciją, kuri regresijos modelyje paaiškinama nepriklausomais kintamaisiais. Sureguliuotas R kvadratas atsižvelgia į modelio prognozių skaičių ir bausti modelį už nesvarbius prognozuotojus, kurie reikšmingai nepadeda paaiškinti priklausomų kintamųjų dispersijos.
Matematiškai pakoreguota R2išreiškiamas taip:
Čia
- n yra stebėjimų skaičius
- k – prognozių skaičius modelyje
- R2yra ryžto koeficientas
Sureguliuotas R kvadratas padeda išvengti per didelio pritaikymo. Tai nubausti modelį su papildomais prognozatoriais, kurie reikšmingai nepadeda paaiškinti priklausomo kintamojo dispersijos.
Python tiesinės regresijos įgyvendinimas
Importuokite reikalingas bibliotekas:
Python3 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.axes as ax from matplotlib.animation import FuncAnimation> Įkelkite duomenų rinkinį ir atskirkite įvesties bei tikslinius kintamuosius
Čia yra duomenų rinkinio nuoroda: Duomenų rinkinio nuoroda
Python3 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)> Sukurkite tiesinės regresijos modelį ir nubrėžkite regresijos liniją
Žingsniai:
- Sklindant pirmyn, taikoma tiesinės regresijos funkcija Y=mx+c, iš pradžių priskiriant atsitiktinę parametro reikšmę (m & c).
- Mes parašėme funkciją, kad surastume išlaidų funkciją, ty vidurkį

