Lineêre regressie en metodes vir die herstel daarvan

Lineêre regressie en metodes vir die herstel daarvan
Bron: Kletskerk

Lineêre regressie is een van die basiese algoritmes vir baie gebiede wat met data-analise verband hou. Die rede hiervoor is voor die hand liggend. Dit is 'n baie eenvoudige en verstaanbare algoritme, wat bygedra het tot die wydverspreide gebruik daarvan vir baie tiene, indien nie honderde nie, jare. Die idee is dat ons 'n lineêre afhanklikheid van een veranderlike van 'n stel ander veranderlikes aanneem, en dan probeer om hierdie afhanklikheid te herstel.

Maar hierdie artikel gaan nie oor die gebruik van lineêre regressie om praktiese probleme op te los nie. Hier sal ons interessante kenmerke van die implementering van verspreide algoritmes vir die herstel daarvan oorweeg, wat ons teëgekom het tydens die skryf van 'n masjienleermodule in Apache ontsteek. 'n Bietjie basiese wiskunde, masjienleer en verspreide rekenaars kan jou help om uit te vind hoe om lineêre regressie uit te voer, selfs wanneer jou data oor duisende nodusse versprei is.

Waaroor praat ons?

Ons staan ​​voor die taak om lineêre afhanklikheid te herstel. As insetdata word 'n stel vektore van veronderstelde onafhanklike veranderlikes gegee, wat elkeen met 'n sekere waarde van die afhanklike veranderlike geassosieer word. Hierdie data kan in die vorm van twee matrikse voorgestel word:

Lineêre regressie en metodes vir die herstel daarvan

Nou, aangesien die afhanklikheid aanvaar word, en boonop lineêr, sal ons ons aanname skryf in die vorm van 'n produk van matrikse (om die optekening te vereenvoudig, word hier en onder aangeneem dat die vrye term van die vergelyking versteek is agter Lineêre regressie en metodes vir die herstel daarvan, en die laaste kolom van die matriks Lineêre regressie en metodes vir die herstel daarvan bevat eenhede):

Lineêre regressie en metodes vir die herstel daarvan

Klink baie soos 'n stelsel van lineêre vergelykings, nie waar nie? Dit blyk, maar heel waarskynlik sal daar geen oplossings vir so 'n stelsel van vergelykings wees nie. Die rede hiervoor is geraas, wat in byna enige werklike data teenwoordig is. Nog 'n rede kan die afwesigheid van lineêre afhanklikheid as sodanig wees, wat bekamp kan word deur bykomende veranderlikes in te voer wat nie-lineêr afhanklik is van die oorspronklike. Oorweeg die volgende voorbeeld:
Lineêre regressie en metodes vir die herstel daarvan
Bron: Wikipedia

Dit is 'n eenvoudige voorbeeld van lineêre regressie wat die verwantskap van een veranderlike (langs die as) toon Lineêre regressie en metodes vir die herstel daarvan) van 'n ander veranderlike (langs die as Lineêre regressie en metodes vir die herstel daarvan). Om die stelsel lineêre vergelykings wat met hierdie voorbeeld ooreenstem, 'n oplossing te hê, moet alle punte presies op dieselfde reguit lyn lê. Maar dis nie waar nie. Maar hulle lê nie juis as gevolg van geraas op dieselfde reguit lyn nie (of omdat die aanname van 'n lineêre verwantskap foutief was). Dus, om 'n lineêre verwantskap van werklike data te herstel, is dit gewoonlik nodig om nog een aanname in te voer: die insetdata bevat geraas en hierdie geraas het normale verspreiding. Jy kan aannames maak oor ander tipes geraasverspreiding, maar in die oorgrote meerderheid van gevalle is dit die normale verspreiding wat oorweeg word, wat verder bespreek sal word.

Maksimum waarskynlikheid metode

Dus, ons het die teenwoordigheid van ewekansige normaalverspreide geraas aanvaar. Wat om te doen in so 'n situasie? Vir hierdie geval in wiskunde is daar en word wyd gebruik maksimum waarskynlikheid metode. Kortom, die essensie daarvan lê in die keuse waarskynlikheidsfunksies en die daaropvolgende maksimering daarvan.

Ons keer terug na die herstel van 'n lineêre verhouding van data met normale geraas. Let daarop dat die veronderstelde lineêre verwantskap die wiskundige verwagting is Lineêre regressie en metodes vir die herstel daarvan bestaande normale verspreiding. Terselfdertyd is die waarskynlikheid dat Lineêre regressie en metodes vir die herstel daarvan neem een ​​of ander waarde aan, onderhewig aan die teenwoordigheid van waarneembares Lineêre regressie en metodes vir die herstel daarvan, soos volg:

Lineêre regressie en metodes vir die herstel daarvan

Kom ons vervang nou eerder Lineêre regressie en metodes vir die herstel daarvan и Lineêre regressie en metodes vir die herstel daarvan Die veranderlikes wat ons benodig is:

Lineêre regressie en metodes vir die herstel daarvan

Al wat oorbly is om die vektor te vind Lineêre regressie en metodes vir die herstel daarvan, waarteen hierdie waarskynlikheid maksimum is. Om so 'n funksie te maksimeer, is dit gerieflik om eers 'n logaritme daarvan te neem (die logaritme van die funksie sal 'n maksimum bereik op dieselfde punt as die funksie self):

Lineêre regressie en metodes vir die herstel daarvan

Wat op sy beurt daarop neerkom om die volgende funksie te minimaliseer:

Lineêre regressie en metodes vir die herstel daarvan

Terloops, dit word 'n metode genoem Minste vierkante. Dikwels word al die bogenoemde oorwegings weggelaat en hierdie metode word eenvoudig gebruik.

QR ontbinding

Die minimum van die bogenoemde funksie kan gevind word deur die punt te vind waarop die gradiënt van hierdie funksie nul is. En die gradiënt sal soos volg geskryf word:

Lineêre regressie en metodes vir die herstel daarvan

QR ontbinding is 'n matriksmetode vir die oplossing van die minimaliseringsprobleem wat in die kleinste kwadrate-metode gebruik word. In hierdie verband herskryf ons die vergelyking in matriksvorm:

Lineêre regressie en metodes vir die herstel daarvan

So ontbind ons die matriks Lineêre regressie en metodes vir die herstel daarvan na matrikse Lineêre regressie en metodes vir die herstel daarvan и Lineêre regressie en metodes vir die herstel daarvan en voer 'n reeks transformasies uit (die QR-ontbindingsalgoritme self sal nie hier oorweeg word nie, slegs die gebruik daarvan in verhouding tot die taak wat voorhande is):

Lineêre regressie en metodes vir die herstel daarvan

matriks Lineêre regressie en metodes vir die herstel daarvan is ortogonaal. Dit stel ons in staat om van die werk ontslae te raak Lineêre regressie en metodes vir die herstel daarvan:

Lineêre regressie en metodes vir die herstel daarvan

En as jy vervang Lineêre regressie en metodes vir die herstel daarvan op Lineêre regressie en metodes vir die herstel daarvan, dan sal dit werk Lineêre regressie en metodes vir die herstel daarvan. Neem dit in ag Lineêre regressie en metodes vir die herstel daarvan is 'n boonste driehoekige matriks, dit lyk soos volg:

Lineêre regressie en metodes vir die herstel daarvan

Dit kan opgelos word deur die vervangingsmetode te gebruik. Element Lineêre regressie en metodes vir die herstel daarvan is geleë as Lineêre regressie en metodes vir die herstel daarvan, vorige element Lineêre regressie en metodes vir die herstel daarvan is geleë as Lineêre regressie en metodes vir die herstel daarvan en so aan.

Dit is opmerklik hier dat die kompleksiteit van die resulterende algoritme as gevolg van die gebruik van QR-ontbinding gelyk is aan Lineêre regressie en metodes vir die herstel daarvan. Verder, ten spyte van die feit dat die matriksvermenigvuldiging goed geparalleliseer is, is dit nie moontlik om 'n effektiewe verspreide weergawe van hierdie algoritme te skryf nie.

gradiënt afkoms

Wanneer daar gepraat word oor die minimalisering van 'n funksie, is dit altyd die moeite werd om die metode van (stogastiese) gradiënt-afkoms te onthou. Dit is 'n eenvoudige en effektiewe minimaliseringsmetode wat gebaseer is op die iteratiewe berekening van die gradiënt van 'n funksie by 'n punt en dit dan in die rigting teenoor die gradiënt te verskuif. Elke so 'n stap bring die oplossing nader aan die minimum. Die gradiënt lyk steeds dieselfde:

Lineêre regressie en metodes vir die herstel daarvan

Hierdie metode is ook goed geparalleliseer en versprei as gevolg van die lineêre eienskappe van die gradiëntoperateur. Let daarop dat in die bogenoemde formule, onder die somteken daar onafhanklike terme is. Met ander woorde, ons kan die gradiënt onafhanklik vir alle indekse bereken Lineêre regressie en metodes vir die herstel daarvan van eerste tot Lineêre regressie en metodes vir die herstel daarvan, parallel hiermee, bereken die gradiënt vir indekse met Lineêre regressie en metodes vir die herstel daarvan aan Lineêre regressie en metodes vir die herstel daarvan. Voeg dan die gevolglike gradiënte by. Die resultaat van die optelling sal dieselfde wees asof ons dadelik die gradiënt vir indekse van die eerste tot bereken het Lineêre regressie en metodes vir die herstel daarvan. Dus, as die data tussen verskeie stukke data versprei word, kan die gradiënt onafhanklik op elke stuk bereken word, en dan kan die resultate van hierdie berekeninge opgesom word om die finale resultaat te verkry:

Lineêre regressie en metodes vir die herstel daarvan

Vanuit 'n implementeringsoogpunt pas dit by die paradigma KaartVerminder. By elke stap van gradiënt-afkoms word 'n taak na elke datanodus gestuur om die gradiënt te bereken, dan word die berekende gradiënte bymekaargemaak, en die resultaat van hul som word gebruik om die resultaat te verbeter.

Ten spyte van die gemak van implementering en die vermoë om in die MapReduce-paradigma uit te voer, het gradiëntafkoms ook sy nadele. In die besonder, die aantal stappe wat nodig is om konvergensie te bereik is aansienlik hoër in vergelyking met ander meer gespesialiseerde metodes.

LSQR

LSQR is 'n ander metode om die probleem op te los, wat geskik is vir beide die herstel van lineêre regressie en vir die oplossing van stelsels lineêre vergelykings. Die belangrikste kenmerk daarvan is dat dit die voordele van matriksmetodes en 'n iteratiewe benadering kombineer. Implementerings van hierdie metode kan in beide die biblioteke gevind word Scipy, en in MATLAB. 'n Beskrywing van hierdie metode sal nie hier gegee word nie (dit kan in die artikel gevind word LSQR: 'n Algoritme vir yl lineêre vergelykings en yl kleinste kwadrate). In plaas daarvan sal 'n benadering gedemonstreer word om LSQR aan te pas by uitvoering in 'n verspreide omgewing.

Die LSQR-metode is gebaseer op tweediagonalisering prosedure. Dit is 'n iteratiewe prosedure, elke iterasie bestaan ​​uit die volgende stappe:
Lineêre regressie en metodes vir die herstel daarvan

Maar as ons aanvaar dat die matriks Lineêre regressie en metodes vir die herstel daarvan horisontaal gepartisioneer is, kan elke iterasie as twee MapReduce-stappe voorgestel word. Op hierdie manier is dit moontlik om data-oordragte tydens elke iterasie te minimaliseer (slegs vektore met 'n lengte gelyk aan die aantal onbekendes):

Lineêre regressie en metodes vir die herstel daarvan

Dit is hierdie benadering wat gebruik word wanneer lineêre regressie in Apache Ignite ML.

Gevolgtrekking

Daar is baie lineêre regressie-herstelalgoritmes, maar nie almal kan in alle toestande toegepas word nie. QR-ontbinding is dus uitstekend vir akkurate oplossing op klein datastelle. Gradiënt afkoms is maklik om te implementeer en stel jou in staat om vinnig 'n benaderde oplossing te vind. En LSQR kombineer die beste eienskappe van die vorige twee algoritmes, aangesien dit versprei kan word, vinniger konvergeer in vergelyking met gradiënt-afkoms, en laat ook die vroeë stop van die algoritme toe, anders as QR-ontbinding, om 'n benaderde oplossing te vind.

Bron: will.com

Voeg 'n opmerking