Source:
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
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:
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 , an déi lescht Kolonn vun der Matrix enthält Unitéiten):
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:
Source:
Dëst ass en einfacht Beispill vu linearer Regressioun déi d'Relatioun vun enger Variabel (laanscht d'Achs) weist ) vun enger anerer Variabel (laanscht der Achs ). 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
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
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 bestehend normal Verdeelung. Zur selwechter Zäit ass d'Wahrscheinlechkeet datt hëlt een oder anere Wäert op, ënnerleien der Präsenz vun observables , wéi follegt:
Loosst eis elo amplaz ersetzen и D'Variabelen déi mir brauchen sinn:
Alles wat bleift ass de Vektor ze fannen , 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):
Wat, am Tour, kënnt erof op déi folgend Funktioun ze minimiséieren:
Iwwregens, ass dëst eng Method genannt
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:
Also zersetzen mir d'Matrix zu Matrizen и 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):
Matrix ass orthogonal. Dëst erlaabt eis vun der Aarbecht lass ze ginn :
A wann Dir ersetzt op , dann klappt et . Bedenkt datt ass eng iewescht dräieckeg Matrix, et gesäit esou aus:
Dëst kann mat der Substitutiounsmethod geléist ginn. Element läit als , virdrun Element läit als 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 . 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:
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 vun éischt bis , parallel mat dëser, Berechent Gradient fir Indizes mat ze . 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 . 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:
Aus enger Ëmsetzung Siicht passt dëst dem Paradigma
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
D'LSQR Method baséiert op
Awer wa mir dovun ausgoen, datt d'Matrix 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):
Et ass dës Approche déi benotzt gëtt wann Dir linear Regressioun implementéiert
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