Lineaarne regressioon ja selle taastamise meetodid

Lineaarne regressioon ja selle taastamise meetodid
Allikas: xkcd

Lineaarne regressioon on üks põhialgoritme paljudes andmeanalüüsiga seotud valdkondades. Selle põhjus on ilmne. See on väga lihtne ja arusaadav algoritm, mis on aidanud kaasa selle laialdasele kasutamisele kümneid, kui mitte sadu aastaid. Idee seisneb selles, et eeldame ühe muutuja lineaarset sõltuvust teiste muutujate hulgast ja proovime seejärel seda sõltuvust taastada.

Kuid see artikkel ei käsitle lineaarse regressiooni kasutamist praktiliste probleemide lahendamiseks. Siin käsitleme selle taastamiseks hajutatud algoritmide rakendamise huvitavaid funktsioone, millega puutusime kokku masinõppemooduli kirjutamisel Apache Ignite. Väike matemaatika, masinõpe ja hajutatud andmetöötlus aitavad teil mõista, kuidas teostada lineaarset regressiooni isegi siis, kui teie andmed on jaotatud tuhandete sõlmede vahel.

Millest me räägime?

Me seisame silmitsi ülesandega taastada lineaarne sõltuvus. Sisendandmetena on antud väidetavalt sõltumatute muutujate vektorite kogum, millest igaüks on seotud sõltuva muutuja teatud väärtusega. Neid andmeid saab esitada kahe maatriksi kujul:

Lineaarne regressioon ja selle taastamise meetodid

Kuna sõltuvus on eeldatud ja pealegi lineaarne, siis kirjutame oma eelduse maatriksite korrutise kujul (salvestamise lihtsustamiseks eeldatakse siin ja all, et võrrandi vaba liige on peidetud taga Lineaarne regressioon ja selle taastamise meetodidja maatriksi viimane veerg Lineaarne regressioon ja selle taastamise meetodid sisaldab ühikuid):

Lineaarne regressioon ja selle taastamise meetodid

Kõlab nagu lineaarsete võrrandite süsteem, kas pole? Tundub, aga suure tõenäosusega sellisele võrrandisüsteemile lahendusi ei tule. Selle põhjuseks on müra, mis esineb peaaegu kõigis reaalsetes andmetes. Teine põhjus võib olla lineaarse sõltuvuse kui sellise puudumine, mille vastu saab võidelda lisamuutujate sisseviimisega, mis mittelineaarselt sõltuvad algsetest muutujatest. Kaaluge järgmist näidet:
Lineaarne regressioon ja selle taastamise meetodid
Allikas: Wikipedia

See on lihtne näide lineaarsest regressioonist, mis näitab ühe muutuja suhet (piki telge Lineaarne regressioon ja selle taastamise meetodid) teisest muutujast (piki telge Lineaarne regressioon ja selle taastamise meetodid). Et sellele näitele vastaval lineaarvõrrandisüsteemil oleks lahendus, peavad kõik punktid asuma täpselt samal sirgel. Aga see pole tõsi. Kuid nad ei asu samal sirgel just müra tõttu (või seetõttu, et lineaarse seose eeldus oli ekslik). Seega, et taastada lineaarne seos reaalsetest andmetest, on tavaliselt vaja sisse viia veel üks eeldus: sisendandmed sisaldavad müra ja see müra on normaaljaotus. Eeldusi saab teha ka teist tüüpi mürajaotuse kohta, kuid enamikul juhtudel võetakse arvesse normaaljaotust, millest tuleb edaspidi juttu.

Maksimaalse tõenäosuse meetod

Niisiis eeldasime juhusliku normaalselt jaotatud müra olemasolu. Mida teha sellises olukorras? Sel juhul matemaatikas on ja kasutatakse laialdaselt maksimaalse tõenäosuse meetod. Lühidalt, selle olemus seisneb valikus tõenäosusfunktsioonid ja selle järgnev maksimeerimine.

Naaseme normaalse müraga andmetest lineaarse seose taastamise juurde. Pange tähele, et eeldatud lineaarne seos on matemaatiline ootus Lineaarne regressioon ja selle taastamise meetodid olemasolev normaaljaotus. Samas on tõenäosus, et Lineaarne regressioon ja selle taastamise meetodid omandab ühe või teise väärtuse, olenevalt vaadeldavate tegurite olemasolust Lineaarne regressioon ja selle taastamise meetodid, järgnevalt:

Lineaarne regressioon ja selle taastamise meetodid

Asendame nüüd selle asemel Lineaarne regressioon ja selle taastamise meetodid и Lineaarne regressioon ja selle taastamise meetodid Muutujad, mida vajame, on:

Lineaarne regressioon ja selle taastamise meetodid

Jääb üle vaid vektor leida Lineaarne regressioon ja selle taastamise meetodid, mille puhul see tõenäosus on maksimaalne. Sellise funktsiooni maksimeerimiseks on mugav kõigepealt võtta selle logaritm (funktsiooni logaritm saavutab maksimumi funktsiooni endaga samas punktis):

Lineaarne regressioon ja selle taastamise meetodid

Mis omakorda taandub järgmise funktsiooni minimeerimisele:

Lineaarne regressioon ja selle taastamise meetodid

Muide, seda nimetatakse meetodiks vähimruudud. Sageli jäetakse kõik ülaltoodud kaalutlused välja ja seda meetodit kasutatakse lihtsalt.

QR-de lagunemine

Ülaltoodud funktsiooni miinimumi saab leida, leides punkti, kus selle funktsiooni gradient on null. Ja gradient kirjutatakse järgmiselt:

Lineaarne regressioon ja selle taastamise meetodid

QR-de lagunemine on maatriksmeetod minimeerimisülesande lahendamiseks, mida kasutatakse vähimruutude meetodil. Sellega seoses kirjutame võrrandi ümber maatriksi kujul:

Lineaarne regressioon ja selle taastamise meetodid

Seega lagundame maatriksi Lineaarne regressioon ja selle taastamise meetodid maatriksitele Lineaarne regressioon ja selle taastamise meetodid и Lineaarne regressioon ja selle taastamise meetodid ja tehke seeria teisendusi (siin ei võeta arvesse QR-i lagunemisalgoritmi ennast, vaid ainult selle kasutamist seoses käsiloleva ülesandega):

Lineaarne regressioon ja selle taastamise meetodid

maatriks Lineaarne regressioon ja selle taastamise meetodid on ortogonaalne. See võimaldab meil tööst lahti saada Lineaarne regressioon ja selle taastamise meetodid:

Lineaarne regressioon ja selle taastamise meetodid

Ja kui asendate Lineaarne regressioon ja selle taastamise meetodid edasi Lineaarne regressioon ja selle taastamise meetodid, siis läheb korda Lineaarne regressioon ja selle taastamise meetodid. Võttes arvesse, et Lineaarne regressioon ja selle taastamise meetodid on ülemine kolmnurkne maatriks, näeb see välja järgmine:

Lineaarne regressioon ja selle taastamise meetodid

Seda saab lahendada asendusmeetodi abil. Element Lineaarne regressioon ja selle taastamise meetodid asub kui Lineaarne regressioon ja selle taastamise meetodid, eelmine element Lineaarne regressioon ja selle taastamise meetodid asub kui Lineaarne regressioon ja selle taastamise meetodid ja nii edasi.

Siinkohal väärib märkimist, et saadud algoritmi keerukus QR-dekompositsiooni kasutamisest on võrdne Lineaarne regressioon ja selle taastamise meetodid. Veelgi enam, hoolimata asjaolust, et maatriksi korrutamise operatsioon on hästi paralleelne, ei ole võimalik kirjutada selle algoritmi efektiivset hajutatud versiooni.

Gradiendi laskumine

Funktsiooni minimeerimisest rääkides tasub alati meeles pidada (stohhastilise) gradiendi laskumise meetodit. See on lihtne ja tõhus minimeerimismeetod, mis põhineb funktsiooni gradiendi iteratiivsel arvutamisel punktis ja seejärel selle nihutamisel gradiendile vastupidises suunas. Iga selline samm viib lahenduse miinimumile lähemale. Gradient näeb endiselt välja sama:

Lineaarne regressioon ja selle taastamise meetodid

See meetod on ka gradiendi operaatori lineaarsete omaduste tõttu hästi paralleelne ja hajutatud. Pange tähele, et ülaltoodud valemis on summamärgi all sõltumatud terminid. Teisisõnu saame kõigi indeksite gradiendi arvutada iseseisvalt Lineaarne regressioon ja selle taastamise meetodid esimesest kuni Lineaarne regressioon ja selle taastamise meetodid, arvutage paralleelselt sellega indeksite gradient Lineaarne regressioon ja selle taastamise meetodid kuni Lineaarne regressioon ja selle taastamise meetodid. Seejärel lisage saadud gradiendid. Lisamise tulemus on sama, kui arvutaksime kohe indeksite gradiendi esimesest kuni Lineaarne regressioon ja selle taastamise meetodid. Seega, kui andmed on jaotatud mitme andmeüksuse vahel, saab gradiendi arvutada iga üksuse kohta iseseisvalt ja seejärel nende arvutuste tulemused summeerida, et saada lõpptulemus:

Lineaarne regressioon ja selle taastamise meetodid

Rakendamise seisukohast sobib see paradigmaga MapReduce. Gradiendi laskumise igal etapil saadetakse igale andmesõlmele ülesanne gradiendi arvutamiseks, seejärel kogutakse arvutatud gradiendid kokku ja nende summa tulemust kasutatakse tulemuse parandamiseks.

Vaatamata rakendamise lihtsusele ja MapReduce'i paradigma täitmise võimalusele on gradiendi laskumisel ka omad puudused. Eelkõige on konvergentsi saavutamiseks vajalike sammude arv oluliselt suurem võrreldes teiste spetsiifilisemate meetoditega.

LSQR

LSQR on teine ​​ülesande lahendamise meetod, mis sobib nii lineaarse regressiooni taastamiseks kui ka lineaarvõrrandisüsteemide lahendamiseks. Selle peamine omadus on see, et see ühendab maatriksmeetodite ja iteratiivse lähenemisviisi eelised. Selle meetodi rakendusi võib leida mõlemast raamatukogust SciPyja sisse MATLAB. Selle meetodi kirjeldust siin ei esitata (selle leiate artiklist LSQR: hõredate lineaarvõrrandite ja hõredate vähimruutude algoritm). Selle asemel demonstreeritakse lähenemist LSQR-i kohandamiseks hajutatud keskkonnas täitmiseks.

LSQR meetod põhineb bidiagonaliseerimise protseduur. See on iteratiivne protseduur, mille iga iteratsioon koosneb järgmistest sammudest:
Lineaarne regressioon ja selle taastamise meetodid

Aga kui eeldame, et maatriks Lineaarne regressioon ja selle taastamise meetodid on horisontaalselt jaotatud, siis saab iga iteratsiooni esitada kahe MapReduce sammuna. Sel viisil on võimalik minimeerida andmeedastusi iga iteratsiooni ajal (ainult vektorid, mille pikkus on võrdne tundmatute arvuga):

Lineaarne regressioon ja selle taastamise meetodid

Just seda lähenemisviisi kasutatakse lineaarse regressiooni rakendamisel Apache Ignite ML.

Järeldus

Lineaarse regressiooni taastamise algoritme on palju, kuid kõiki neid ei saa kõigis tingimustes rakendada. Seega on QR-de dekomponeerimine suurepärane väikeste andmekogumite täpseks lahendamiseks. Gradiendi laskumist on lihtne rakendada ja see võimaldab teil kiiresti leida ligikaudse lahenduse. Ja LSQR ühendab kahe eelmise algoritmi parimad omadused, kuna seda saab hajutada, koondub kiiremini võrreldes gradiendi laskumisega ja võimaldab ka algoritmi varakult peatada, erinevalt QR-dekompositsioonist, et leida ligikaudne lahendus.

Allikas: www.habr.com

Lisa kommentaar