Linear Regressioun a Methode fir seng Erhuelung

Linear Regressioun a Methode fir seng Erhuelung
Source: xkcd

Linear Regressioun ass ee vun de Basisalgorithmen fir vill Beräicher am Zesummenhang mat Datenanalyse. De Grond dofir ass evident. Dëst ass e ganz einfachen a verständleche Algorithmus, deen zu senger verbreeter Notzung fir vill Zénger, wann net Honnerte, vu Joer bäigedroen huet. D'Iddi ass datt mir eng linear Ofhängegkeet vun enger Variabel op enger Rei vun anere Verännerlechen unhuelen, an dann probéieren dës Ofhängegkeet ze restauréieren.

Awer dësen Artikel ass net iwwer d'Benotzung vun linearer Regressioun fir praktesch Probleemer ze léisen. Hei wäerte mir interessant Fonctiounen vun der Ëmsetzung vun verdeelt Algorithmen fir seng Erhuelung betruecht, déi mir begéint wann e Maschinn Léieren Modul Schreiwen an Apache Ignite. E bësse Basis Mathematik, Maschinnléieren, a verdeelt Informatik kënnen Iech hëllefen erauszefannen wéi Dir linear Regressioun ausféiert och wann Är Donnéeën iwwer Dausende vun Noden verdeelt sinn.

Vu wat schwätz du?

Mir si mat der Aufgab konfrontéiert fir linear Ofhängegkeet ze restauréieren. Als Inputdaten gëtt eng Rei vu Vecteure vu vermeintlech onofhängeg Variabelen uginn, déi jidderee mat engem bestëmmte Wäert vun der ofhängeger Variabel assoziéiert ass. Dës Donnéeën kënnen a Form vun zwou Matrizen duergestallt ginn:

Linear Regressioun a Methode fir seng Erhuelung

Elo, well d'Ofhängegkeet ugeholl gëtt, an och linear, wäerte mir eis Viraussetzung a Form vun engem Produkt vu Matrizen schreiwen (fir d'Opnahm ze vereinfachen, hei an ënnen gëtt ugeholl datt de fräie Begrëff vun der Equatioun hannert verstoppt ass Linear Regressioun a Methode fir seng Erhuelung, an déi lescht Kolonn vun der Matrix Linear Regressioun a Methode fir seng Erhuelung enthält Unitéiten):

Linear Regressioun a Methode fir seng Erhuelung

Kléngt vill wéi e System vu linearer Equatioune, oder? Et schéngt, awer héchstwahrscheinlech gëtt et keng Léisunge fir sou e System vun Equatiounen. De Grond dofir ass Kaméidi, deen a bal all realen Daten präsent ass. En anere Grond kann de Mangel u linearer Ofhängegkeet als solch sinn, wat bekämpft ka ginn andeems zousätzlech Variabelen agefouert ginn, déi net-linear vun den ursprénglechen ofhänken. Betruecht déi folgend Beispill:
Linear Regressioun a Methode fir seng Erhuelung
Source: Wikipedia

Dëst ass en einfacht Beispill vu linearer Regressioun déi d'Relatioun vun enger Variabel (laanscht d'Achs) weist Linear Regressioun a Methode fir seng Erhuelung) vun enger anerer Variabel (laanscht der Achs Linear Regressioun a Methode fir seng Erhuelung). Fir datt de System vun linearer Equatioune entspriechend dësem Beispill eng Léisung huet, mussen all Punkte genee op der selwechter riichter Linn leien. Mee dat stëmmt net. Mä si leien net op der selwechter riichter Linn genee wéinst Kaméidi (oder well d'Annahme vun enger linearer Relatioun falsch war). Also, fir eng linear Relatioun aus realen Donnéeën ze restauréieren, ass et normalerweis néideg eng weider Viraussetzung aféieren: d'Inputdaten enthalen Kaméidi an dëse Kaméidi huet normal Verdeelung. Dir kënnt Viraussetzungen iwwer aner Zorte vu Kaméidi Verdeelung maachen, awer an der grousser Majoritéit vu Fäll ass et déi normal Verdeelung déi berücksichtegt gëtt, déi weider diskutéiert gëtt.

Maximal Wahrscheinlechkeet Method

Also hu mir d'Präsenz vun zoufälleg normal verdeelt Kaméidi ugeholl. Wat an esou enger Situatioun ze maachen? Fir dëse Fall an der Mathematik gëtt et a gëtt vill benotzt maximal Wahrscheinlechkeet Method. Kuerz gesot, seng Essenz läit an der Wiel Wahrscheinlechkeet Funktiounen a seng spéider Maximaliséierung.

Mir ginn zréck fir eng linear Relatioun vun Daten mat normale Kaméidi ze restauréieren. Notéiert datt déi ugeholl linear Relatioun déi mathematesch Erwaardung ass Linear Regressioun a Methode fir seng Erhuelung bestehend normal Verdeelung. Zur selwechter Zäit ass d'Wahrscheinlechkeet datt Linear Regressioun a Methode fir seng Erhuelung hëlt een oder anere Wäert op, ënnerleien der Präsenz vun observables Linear Regressioun a Methode fir seng Erhuelung, wéi follegt:

Linear Regressioun a Methode fir seng Erhuelung

Loosst eis elo amplaz ersetzen Linear Regressioun a Methode fir seng Erhuelung и Linear Regressioun a Methode fir seng Erhuelung D'Variabelen déi mir brauchen sinn:

Linear Regressioun a Methode fir seng Erhuelung

Alles wat bleift ass de Vektor ze fannen Linear Regressioun a Methode fir seng Erhuelung, bei deem dës Wahrscheinlechkeet maximal ass. Fir esou eng Funktioun maximal ze maximéieren, ass et bequem fir d'éischt e Logarithmus dovun ze huelen (de Logarithmus vun der Funktioun erreecht e Maximum um selwechte Punkt wéi d'Funktioun selwer):

Linear Regressioun a Methode fir seng Erhuelung

Wat, am Tour, kënnt erof op déi folgend Funktioun ze minimiséieren:

Linear Regressioun a Methode fir seng Erhuelung

Iwwregens, ass dëst eng Method genannt mannst Plaze. Dacks ginn all déi uewe genannte Considératiounen ewechgelooss an dës Method gëtt einfach benotzt.

QR Zersetzung

De Minimum vun der uewe genannter Funktioun kann fonnt ginn andeems Dir de Punkt fënnt op deem de Gradient vun dëser Funktioun null ass. An de Gradient gëtt wéi follegt geschriwwe ginn:

Linear Regressioun a Methode fir seng Erhuelung

QR Zersetzung ass eng Matrixmethod fir de Minimiséierungsproblem ze léisen, deen an der mannst Quadrat Method benotzt gëtt. An dëser Hisiicht schreiwen mir d'Equatioun a Matrixform ëm:

Linear Regressioun a Methode fir seng Erhuelung

Also zersetzen mir d'Matrix Linear Regressioun a Methode fir seng Erhuelung zu Matrizen Linear Regressioun a Methode fir seng Erhuelung и Linear Regressioun a Methode fir seng Erhuelung a maacht eng Serie vun Transformatiounen (de QR-Zersetzungsalgorithmus selwer gëtt hei net berücksichtegt, nëmmen seng Notzung a Relatioun mat der Aufgab):

Linear Regressioun a Methode fir seng Erhuelung

Matrix Linear Regressioun a Methode fir seng Erhuelung ass orthogonal. Dëst erlaabt eis vun der Aarbecht lass ze ginn Linear Regressioun a Methode fir seng Erhuelung:

Linear Regressioun a Methode fir seng Erhuelung

A wann Dir ersetzt Linear Regressioun a Methode fir seng Erhuelung op Linear Regressioun a Methode fir seng Erhuelung, dann klappt et Linear Regressioun a Methode fir seng Erhuelung. Bedenkt datt Linear Regressioun a Methode fir seng Erhuelung ass eng iewescht dräieckeg Matrix, et gesäit esou aus:

Linear Regressioun a Methode fir seng Erhuelung

Dëst kann mat der Substitutiounsmethod geléist ginn. Element Linear Regressioun a Methode fir seng Erhuelung läit als Linear Regressioun a Methode fir seng Erhuelung, virdrun Element Linear Regressioun a Methode fir seng Erhuelung läit als Linear Regressioun a Methode fir seng Erhuelung an sou op.

Et ass derwäert ze bemierken datt d'Komplexitéit vum resultéierende Algorithmus duerch d'Benotzung vun der QR-Zersetzung gläich ass Linear Regressioun a Methode fir seng Erhuelung. Ausserdeem, trotz der Tatsaach datt d'Matrixmultiplikatiounsoperatioun gutt paralleliséiert ass, ass et net méiglech eng effektiv verdeelt Versioun vun dësem Algorithmus ze schreiwen.

Gradient Ofstamung

Wann Dir iwwer d'Minimaliséierung vun enger Funktioun schwätzt, ass et ëmmer wäert ze erënneren un d'Method vum (stochastesche) Gradient Ofstamung. Dëst ass eng einfach an effektiv Minimiséierungsmethod baséiert op iterativ Berechnung vum Gradient vun enger Funktioun op engem Punkt an dann an d'Richtung vis-à-vis vum Gradient ze verréckelen. All esou Schrëtt bréngt d'Léisung méi no un de Minimum. De Gradient gesäit nach ëmmer d'selwecht aus:

Linear Regressioun a Methode fir seng Erhuelung

Dës Method ass och gutt paralleliséiert a verdeelt wéinst de linearegen Eegeschafte vum Gradientoperateur. Bedenkt datt an der uewe genannter Formel ënner dem Zommzeechen onofhängeg Begrëffer sinn. An anere Wierder, mir kënnen den Gradient onofhängeg fir all Indizes berechnen Linear Regressioun a Methode fir seng Erhuelung vun éischt bis Linear Regressioun a Methode fir seng Erhuelung, parallel mat dëser, Berechent Gradient fir Indizes mat Linear Regressioun a Methode fir seng Erhuelung ze Linear Regressioun a Methode fir seng Erhuelung. Da fügen déi resultéierend Gradienten derbäi. D'Resultat vun der Zousatz wäert d'selwecht sinn wéi wa mir direkt den Gradient fir Indizes vun der éischter bis berechent hunn Linear Regressioun a Methode fir seng Erhuelung. Also, wann d'Donnéeën ënner e puer Stécker vun Daten verdeelt sinn, kann de Gradient onofhängeg op all Stéck berechent ginn, an da kënnen d'Resultater vun dëse Berechnungen zesummegefaasst ginn fir d'Finale Resultat ze kréien:

Linear Regressioun a Methode fir seng Erhuelung

Aus enger Ëmsetzung Siicht passt dëst dem Paradigma MapReduce. Bei all Schrëtt vum Gradient Ofstamung gëtt eng Aufgab un all Dateknuet geschéckt fir de Gradient ze berechnen, da ginn déi berechent Gradienten zesumme gesammelt, an d'Resultat vun hirer Zomm gëtt benotzt fir d'Resultat ze verbesseren.

Trotz der Einfachheet vun der Implementatioun an der Fäegkeet fir am MapReduce Paradigma auszeféieren, huet Gradient Ofstamung och seng Nodeeler. Besonnesch d'Zuel vun de Schrëtt déi néideg ass fir Konvergenz z'erreechen ass wesentlech méi héich am Verglach mat anere méi spezialiséierte Methoden.

LSQR

LSQR ass eng aner Method fir de Problem ze léisen, déi gëeegent ass souwuel fir linear Regressioun ze restauréieren a fir Systemer vu linearer Equatioune ze léisen. Seng Haaptfunktioun ass datt et d'Virdeeler vu Matrixmethoden an eng iterativ Approche kombinéiert. Implementatioune vun dëser Method kënnen a béide Bibliothéike fonnt ginn SciPy, a MatlabLanguage. Eng Beschreiwung vun dëser Method gëtt net hei uginn (et kann am Artikel fonnt ginn LSQR: En Algorithmus fir spatzen linear Equatiounen a spatzen mannste Quadrat). Amplaz gëtt eng Approche bewisen fir LSQR un d'Ausféierung an engem verdeelt Ëmfeld unzepassen.

D'LSQR Method baséiert op bidiagonalization Prozedur. Dëst ass eng iterativ Prozedur, all Iteratioun besteet aus de folgende Schrëtt:
Linear Regressioun a Methode fir seng Erhuelung

Awer wa mir dovun ausgoen, datt d'Matrix Linear Regressioun a Methode fir seng Erhuelung ass horizontal opgedeelt, da kann all Iteratioun als zwee MapReduce Schrëtt duergestallt ginn. Op dës Manéier ass et méiglech Datenübertragungen während all Iteratioun ze minimiséieren (nëmme Vecteure mat enger Längt gläich wéi d'Zuel vun Onbekannten):

Linear Regressioun a Methode fir seng Erhuelung

Et ass dës Approche déi benotzt gëtt wann Dir linear Regressioun implementéiert Apache Ignite ML.

Konklusioun

Et gi vill linear Regressioun Erhuelung Algorithmen, awer net all vun hinnen kënnen an all Konditiounen applizéiert ginn. Also QR Zersetzung ass exzellent fir eng korrekt Léisung op kleng Datesets. Gradient Ofstamung ass einfach ze implementéieren an erlaabt Iech séier eng geschätzte Léisung ze fannen. An LSQR kombinéiert déi bescht Eegeschafte vun de fréieren zwee Algorithmen, well et ka verdeelt ginn, konvergéiert méi séier am Verglach zum Gradient Ofstamung, an erlaabt och fréizäiteg Stoppen vum Algorithmus, am Géigesaz zu QR Zersetzung, fir eng geschätzte Léisung ze fannen.

Source: will.com

Setzt e Commentaire