
Allikas:
Lineaarne regressioon on ĂŒks pĂ”hilisi algoritme paljude valdkondade jaoks, mis on seotud andmete analĂŒĂŒsiga. PĂ”hjus on ilmne. See on vĂ€ga lihtne ja arusaadav algoritm, mis soodustab selle laialdast kasutamist juba mitmeid kĂŒmneid, kui mitte sadu, aastaid. Idee seisneb selles, et eeldame ĂŒhe muutuja lineaarset sĂ”ltuvust hulga teiste muutujate arvelt ja seejĂ€rel proovime seda sĂ”ltuvust taastada.
Kuid selles artiklis ei rÀÀgita lineaarse regressiooni rakendamisest praktiliste probleemide lahendamiseks. Siin kÀsitleme huvitavaid omadusi jagatud algoritmide taastamisest, millega me kokku puutusime masinÔppe mooduli kirjutamise kÀigus. . Veidi pÔhimeetodeid, masinÔppe aluseid ja jaotatud arvutust aitab mÔista, kuidas taastada lineaarset regressiooni, isegi kui andmed on jagatud tuhandete sÔlmedeni.
Millest jutt?
Meie ees on lineaarse sĂ”ltuvuse taastamise ĂŒlesanne. Sisendandmetena antakse hulk vektoreid eeldatavalt sĂ”ltumatutest muutujatest, millele vastab teatud vÀÀrtus sĂ”ltumatule muutujale. Need andmed saab esitada kahe maatriksi kujul:

NĂŒĂŒd, kuna eeldatakse sĂ”ltuvust, ja lisaks sellele veel ka lineaarset, kirja me meie eeldust maatriksite korrutise kujul (kiri lihtsustamiseks ja edaspidi eeldatakse, et vaba liik on varjatud
, ja viimane veerg maatriksis
sisaldab ĂŒhte):

See sarnaneb tĂ”eliselt lineaarsete vĂ”rrandite sĂŒsteemiga, eks? TĂ”epoolest, aga sellise vĂ”rrandite sĂŒsteemi lahendeid tĂ”enĂ€oliselt ei ole. PĂ”hjus on mĂŒra, mis esineb praktiliselt kĂ”igis reaalsetes andmetes. Samuti vĂ”ib pĂ”hjus olla lineaarse sĂ”ltuvuse puudumine, millega saab proovida vĂ”idelda, lisades tĂ€iendavaid muutujaid, mis sĂ”ltuvad algsetest mittelineaarselt. Vaadake jĂ€rgmisi nĂ€iteid:

Allikas:
See on lihtne lineaarse regressiooni nĂ€ide, mis demonstreerib ĂŒhe muutuja (teljel
) sÔltuvust teisest muutujast (teljel
). Ette, et vastav antud nĂ€itele lineaarsete vĂ”rrandite sĂŒsteemil oleks lahendus, peavad kĂ”ik punktid olema tĂ€pselt ĂŒhel ja samal joonel. Kuid see ei ole nii. Ja nad ei asu ĂŒhel joonel just mĂŒra tĂ”ttu (vĂ”i seetĂ”ttu, et eeldus lineaarse sĂ”ltuvuse olemasolu kohta oli vale). Seega, et taastada lineaarne sĂ”ltuvus tegelike andmete pĂ”hjal, on tavaliselt vajalik lisada veel ĂŒks eeldus: sisendandmed sisaldavad mĂŒra ja see mĂŒra on . VĂ”ib teha eeldusi ka teiste mĂŒra jaotuste tĂŒĂŒpide kohta, kuid valdavas enamuses juhtudest kĂ€sitletakse just normaaljaotust, millest edasi rÀÀgitakse.
Maksimaalse tÔenÀosuse meetod
Nii oleme eeldanud juhusliku normaaljaotusega mĂŒra olemasolu. Kuidas sellises olukorras edasi toimida? Selleks on matemaatikas olemas ja laialdaselt kasutatakse . LĂŒhidalt, selle olemus seisneb valimises ja selle jĂ€rgnevas maksimeerimises.
Tagasi lineaarse sĂ”ltuvuse taastamise juurde normaalsete mĂŒraandmetega. TĂ€hendab, et eeldatav lineaarne sĂ”ltuvus on matemaatiline ootus
olemasolevast normaaljaotusest. Samal ajal on tÔenÀosus, et
vÔtab mingit vÀÀrtust, sÔltuvalt tuvastatavatest
, see nÀeb vÀlja jÀrgmine:

Asendame nĂŒĂŒd vajalikud muutujaid:
ja
Peab veel leidma vektori

, mille puhul see tÔenÀosus on maksimaalne. Selle funktsiooni maksimeerimiseks on mugav kÔigepealt see logaritmeerida (funktsiooni logaritm saavutab maksimumi samas kohas, kus ka funktsioon ise):
Mis omakorda viib jÀrgmise funktsiooni minimaalseteni:

Muide, seda nimetatakse meetodiks

vÀikseimate ruutude meetod QR lagundamine
Eelneva funktsiooni miinimumi leidmiseks tuleb leida punkt, kus selle funktsiooni gradient on null. Gradient on jÀrgmine:
on maatriksite meetod, mida kasutatakse ĂŒlesande optimeerimise lahendamiseks, mis on seotud vĂ€ikseimate ruutude meetodiga. SeetĂ”ttu kirjutame vĂ”rrandi maatrikse kujul ĂŒmber:

Nii et me lagundame maatriksi

maatriksideks
konstruktsioonide
ja
ja teeme mitmeid transformatsioone (QR desimaalimise algoritmi siin ei kĂ€sitleta, vaid ainult selle rakendust antud ĂŒlesande jaoks):

Maatriks
on ortogonaalne. See vÔimaldab meil vabaneda korrutisest
:

Ja kui asendada
. Tundub, et
, siis saadakse
. Arvestades, et
on ĂŒlemine kolmnurkne maatriks, nĂ€eb see vĂ€lja jĂ€rgmiselt:

Seda saab lahendada asenduste meetodil. Element
leidub kui
, eelmine element
leidub kui
ja nii edasi.
Siinkohal tasub mÀrkida, et saadud algoritmi keerukus QR desimalimise kasutamise tÔttu on
. Kuigi maatriksite korrutamise operaator on hÀsti paralleelne, ei ole efektiivse jagatud versiooni kirjutamine sellest algoritmist vÔimalik.
Gradientne laskumine
RÀÀkides mÔne funktsiooni minimeerimisest, tasub alati meeles pidada (stohhastilise) gradientlanguse meetodit. See on lihtne ja tÔhus minimeerimise meetod, mis pÔhineb funktsiooni gradienti iteratiivsel arvutamisel punktis ja selle jÀrgmisel nihutamisel gradienti vastassuunas. Iga selline samm lÀheneb lahendusele miinimumile. Gradient nÀeb vÀlja tutvustatult:

See meetod on samuti hĂ€sti paralleelne ja jagatud, tĂ€nu gradientoperaatori lineaarsetele omadustele. TĂ€heldame, et ĂŒlaltoodud valemis summa all on sĂ”ltumatud liikmed. TeisisĂ”nu, me saame arvutada gradienti iseseisvalt kĂ”igi indeksite puhul
esimesest kuni
, korraga arvutada gradienti indeksite jaoks alates
kuni
. Siis liidetakse saadud gradientid. Liitmise tulemus on sama, mis kui oleksime kohe arvutanud gradienti indeksitele esimesest kuni
. Seega, kui andmed on jaotatud mitme andmeosa vahel, saab gradienti arvutada iseseisvalt igaosa peal ja seejÀrel saab nende arvutuste tulemused kokku liita, et saada lÔplik tulemus:

Rakendamise seisukohalt sobib see paradigmasse . Igal gradientlanguse sammul saadetakse igale andmelementile ĂŒlesanne gradienti arvutamiseks, seejĂ€rel kogutakse arvutatud gradientid kokku ja nende summamise tulemust kasutatakse tulemuse parandamiseks.
MalgrĂ© la simplicitĂ© de mise en Ćuvre et la possibilitĂ© d'exĂ©cution dans la paradigme MapReduce, la descente de gradient prĂ©sente Ă©galement des inconvĂ©nients. En particulier, le nombre d'Ă©tapes nĂ©cessaires pour atteindre la convergence est considĂ©rablement supĂ©rieur Ă celui d'autres mĂ©thodes plus spĂ©cialisĂ©es.
LSQR
est une autre mĂ©thode de rĂ©solution du problĂšme posĂ©, adaptĂ©e Ă la fois Ă la restauration des rĂ©gressions linĂ©aires et Ă la rĂ©solution de systĂšmes d'Ă©quations linĂ©aires. Sa principale caractĂ©ristique rĂ©side dans le fait qu'elle combine les avantages des mĂ©thodes matricielles et de l'approche itĂ©rative. Ce mĂ©thode peut ĂȘtre trouvĂ©e dans les bibliothĂšques , kui ka . La description de cette mĂ©thode ne sera pas fournie ici (elle peut ĂȘtre trouvĂ©e dans l'article ). Au lieu de cela, une approche permettant d'adapter LSQR Ă l'exĂ©cution dans un environnement distribuĂ© sera dĂ©montrĂ©e.
Au cĆur de la mĂ©thode LSQR se trouve . C'est une procĂ©dure itĂ©rative, chaque itĂ©ration consistant en les Ă©tapes suivantes :

Mais si l'on considĂšre que la matrice
est partitionnĂ©e horizontalement, chaque itĂ©ration peut ĂȘtre reprĂ©sentĂ©e sous la forme de deux Ă©tapes MapReduce. Cela permet de minimiser le transfert de donnĂ©es durant chacune des itĂ©rations (uniquement des vecteurs de longueur Ă©gale au nombre d'inconnues) :

C'est cette approche qui est utilisée dans l'implémentation de la régression linéaire dans .
KokkuvÔte
Il existe de nombreux algorithmes pour la restauration de la rĂ©gression linĂ©aire, mais tous ne peuvent pas ĂȘtre appliquĂ©s dans toutes les conditions. Ainsi, la dĂ©composition QR est trĂšs appropriĂ©e pour une solution exacte sur de petits ensembles de donnĂ©es. La descente de gradient est facilement rĂ©alisable et permet de trouver rapidement une solution approximative. Alors que LSQR combine les meilleures propriĂ©tĂ©s des deux algorithmes prĂ©cĂ©dents, car il peut ĂȘtre distribuĂ©, converge plus rapidement que la descente de gradient et permet Ă©galement un arrĂȘt prĂ©coce de l'algorithme, contrairement Ă la dĂ©composition QR pour la recherche d'une solution approximative.
Allikas: habr.com
