Lineáris regresszió és módszerei

Lineáris regresszió és módszerei
Forrás: xkcd

A lineáris regresszió az egyik alapvető algoritmus sok területen, amelyek adatelemzéssel foglalkoznak. Ennek oka nyilvánvaló. Ez egy nagyon egyszerű és érthető algoritmus, ami hozzájárul széles körű alkalmazásához már évtizedek, ha nem évszázadok óta. Az elképzelés az, hogy feltételezzük egy változó lineáris függőségét egy másik változók halmazától, majd megpróbáljuk helyreállítani ezt a függőséget.

De ebben a cikkben nem a lineáris regressziós alkalmazásáról lesz szó gyakorlati problémák megoldására. Itt a lineáris regresszió helyreállításának megvalósításának érdekes sajátosságait fogjuk megvizsgálni, amelyekkel a gépi tanulási modul írása során találkoztunk a Apache Ignitekörnyezetében. Néhány alapvető matematikai fogalom, gépi tanulás és elosztott számítások ismerete segít megérteni, hogyan lehet lineáris regressziót helyreállítani, még akkor is, ha az adatok több ezer csomópont között oszlanak meg.

Miről van szó?

Az a feladatunk, hogy helyreállítsuk a lineáris függőséget. A bemeneti adatok között egy független változók halmaza szerepel, mindegyiknek van egy hozzárendelt értéke a függő változónak. Ezeket az adatokat két mátrix formájában ábrázolhatjuk:

Lineáris regresszió és módszerei

Most, hogy feltételezzük a függőséget, és ráadásul ez lineáris is, írjuk le a feltételezésünket mátrixok szorzataként (a kényelmesebb írás érdekében a továbbiakban feltételezzük, hogy az egyenlet szabad tagja el van rejtve a Lineáris regresszió és módszereiés az utolsó oszlop mátrixunkban Lineáris regresszió és módszerei egyeseket tartalmaz):

Lineáris regresszió és módszerei

Nagyon hasonlít egy lineáris egyenletrendszerhez, igaz? Hasonlónak tűnik, de valószínűleg ennek a rendszernek nem lesz megoldása. Ennek oka a zaj, amely szinte minden valós adatban jelen van. Emellett az is lehet az oka, hogy nincs is olyan lineáris összefüggés, amellyel harcolhatnánk további, a kezdeti változóktól nemlineárisan függő változók bevezetésével. Tekintsük a következő példát:
Lineáris regresszió és módszerei
Forrás: Wikipedia

Ez egy egyszerű példa a lineáris regresszióra, amely bemutatja egy változó függőségét (az Lineáris regresszió és módszereitengely mentén) egy másik változótól (az tengely mentén) Lineáris regresszió és módszerei). Ahhoz, hogy a megfelelő példához tartozó lineáris egyenletrendszernek legyen megoldása, az összes pontnak pontosan egy egyenesen kell elhelyezkednie. De ez nem így van. Azért nem helyezkednek el egy egyenesen, mert a zaj miatt (vagy azért, mert a lineáris összefüggés létezéséről tett feltételezés téves volt). Így tehát a lineáris összefüggés helyreállításához a valós adatokból általában szükség van egy új feltételezés bevezetésére: a bemeneti adatok zajt tartalmaznak, és ez a zaj! normális eloszlású. Lehet feltételezéseket tenni más zajtípusok eloszlásáról is, de a legtöbb esetben kifejezetten a normális eloszlásra helyezik a hangsúlyt, amiről a továbbiakban szó lesz.

A maximális valószínűség módszere

Tehát feltételeztük, hogy véletlenszerű normál eloszlású zaj van. Mi a teendő ebben az esetben? Erre a matematikában létezik és széles körben használt maximális valószínűség módszere. Röviden, a lényege az, hogy valószínűségi függvényt választunk, majd azt maximalizáljuk.

Térjünk vissza a lineáris összefüggés helyreállítására normál zajjal rendelkező adatok esetén. Észrevehetjük, hogy a feltételezett lineáris összefüggés a meglévő normális eloszlás matematikai várható értéke. Lineáris regresszió és módszerei Ugyanakkor annak a valószínűsége, hogy Lineáris regresszió és módszerei felveszi ezt vagy azt az értéket, a megfigyelhető adatok birtokában Lineáris regresszió és módszerei, a következőképpen néz ki:

Lineáris regresszió és módszerei

Most helyettesítsük be Lineáris regresszió és módszerei és Lineáris regresszió és módszerei a szükséges változókat:

Lineáris regresszió és módszerei

Már csak azt a vektort kell megtalálnunk, Lineáris regresszió és módszereiamely mellett ez a valószínűség maximális. A maximálisra hozáhozta a függvényt kényelmesebb először logaritmálni (a függvény logaritmusának maximális értéke ugyanabban a pontban lesz, mint magának a függvénynek):

Lineáris regresszió és módszerei

Amely, viszont a következő funkció minimalizálására redukálódik:

Lineáris regresszió és módszerei

Egyébként ezt a módszert nevezik a legkisebb négyzetek módszere. Gyakran az összes fent említett érvet kihagyják, és egyszerűen csak ezt a módszert használják.

QR felbontás

A fent említett funkció minimuma akkor található meg, ha megtaláljuk azt a pontot, ahol a függvény gradiensje nulla. A gradiens a következő módon lesz felírva:

Lineáris regresszió és módszerei

QR felbontás ez egy mátrix módszer a minimalizálási feladat megoldására, amelyet a legkisebb négyzetek módszere használ. Ennek kapcsán átírjuk az egyenletet mátrixos formában:

Lineáris regresszió és módszerei

Tehát, a mátrixot Lineáris regresszió és módszerei mátrixokra bontjuk Lineáris regresszió és módszerei és Lineáris regresszió és módszerei és végrehajtunk egy sor átalakítást (a QR-dekompozíció algoritmusa itt nem kerül tárgyalásra, csak annak alkalmazása a megadott feladathoz):

Lineáris regresszió és módszerei

Mátrix Lineáris regresszió és módszerei ortogonális. Ez lehetővé teszi számunkra, hogy megszabaduljunk a szorzattól Lineáris regresszió és módszerei:

Lineáris regresszió és módszerei

Ha helyettesítjük Lineáris regresszió és módszerei Gyorsan emlékezzünk vissza, hogyan működik a moduláris aritmetika. Az óra már egy ismert koncepció. Az órák használata Lineáris regresszió és módszerei, akkor kapunk Lineáris regresszió és módszerei. Figyelembe véve, hogy Lineáris regresszió és módszerei felső háromszög alakú mátrix, így néz ki:

Lineáris regresszió és módszerei

Ezt helyettesítési módszerrel lehet megoldani. Az elem Lineáris regresszió és módszerei úgy található meg, mint Lineáris regresszió és módszerei, az előző elem Lineáris regresszió és módszerei úgy található meg, mint Lineáris regresszió és módszerei és így tovább.

Itt érdemes megjegyezni, hogy az így kapott algoritmus bonyolultsága a QR-dekompozíció használatával egyenlő Lineáris regresszió és módszerei. Annak ellenére, hogy a mátrixok szorzása jól párhuzamosítható, a hatékony elosztott verzió létrehozása erről az algoritmusról nem tűnik lehetségesnek.

Gradiens csökkenés

Ha valamilyen függvény minimalizálásáról beszélünk, mindig érdemes megemlíteni a (stohasztikus) gradiens csökkenési módszert. Ez egy egyszerű és hatékony minimalizálási módszer, amely a függvény gradiensének iteratív kiszámításán alapul egy adott pontban, majd annak elmozdításán a gradiens ellenkező irányába. Minden egyes lépés közelíti meg a megoldást a minimumhoz. A gradiens így néz ki:

Lineáris regresszió és módszerei

Ez a módszer jól párhuzamosítható és eloszlatható a gradiens operátorának lineáris tulajdonságai miatt. Vegyük észre, hogy a fenti képlet összegje alatt független tagok találhatók. Más szóval, a gradiens minden indexre függetlenül kiszámítható. Lineáris regresszió és módszerei az elsőtől Lineáris regresszió és módszerei, párhuzamosan kiszámítva a gradiens értékét az indexekhez Lineáris regresszió és módszerei tól Lineáris regresszió és módszerei. Ezután össze kell adni a kapott gradienteket. Az összeadás eredménye ugyanaz lesz, mintha egyszerre kiszámítottuk volna a gradiens értékét az indexekhez az elsőtől Lineáris regresszió és módszerei. Így, ha az adatok több adatdarab között oszlanak el, a gradiens minden darabon függetlenül kiszámítható, majd az ezen számítások eredményeit össze kell adni a végső eredmény eléréséhez:

Lineáris regresszió és módszerei

Megvalósítás szempontjából ez beleillik a MapReduceparadigmába. A gradiens csökkenés minden lépésénél minden adatcsomópont számára feladatot küldenek a gradiens kiszámítására, majd a kiszámított gradienteket összegyűjtik, és az összegzésük eredményét használják az eredmény javítására.

Bár a megvalósítása egyszerű és a MapReduce paradigmában végrehajtható, a gradiens csökkenésnek megvannak a maga hátrányai is. Különösen a konvergencia eléréséhez szükséges lépések száma lényegesen nagyobb más, specializáltabb módszerekhez képest.

LSQR

LSQR – egy másik módszer a feladat megoldására, amely alkalmas mind a lineáris regresszió helyreállítására, mind a lineáris egyenletrendszerek megoldására. Fő jellemzője, hogy ötvözi a mátrixmódszerek és az iteratív megközelítés előnyeit. Ennek a módszernek a megvalósítását megtalálhatjuk a SciPy-ban, valamint a MATLAB-ban. A módszer leírása itt nem kerül bemutatásra (meg található a cikkben LSQR: An algorithm for sparse linear equations and sparse least squares). Ehelyett bemutatásra kerül egy megközelítés, amely lehetővé teszi az LSQR alkalmazását elosztott környezetben.

Az LSQR módszer alapja a bidiagonális eljárás. Ez egy iteratív eljárás, amely minden egyes iterációból a következő lépésekből áll:
Lineáris regresszió és módszerei

De ha figyelembe vesszük, hogy a mátrix Lineáris regresszió és módszerei horizontálisan particionált, akkor minden iterációt két MapReduce lépésként lehet ábrázolni. Így minimalizálható az adatok átvitele az egyes iterációk során (csak a változók számának megfelelő hosszúságú vektorok):

Lineáris regresszió és módszerei

Ezt a megközelítést használják a lineáris regresszió megvalósításakor az Apache Ignite ML.

Zárás

-ben. Számos lineáris regresszió helyreállítására alkalmas algoritmus létezik, de nem mindegyik alkalmazható bármilyen körülmények között. Az QR felbontás jól alkalmazható pontos megoldásokhoz kis adathalmazon. A gradiens csökkenés könnyen megvalósítható és lehetővé teszi a közelítő megoldás gyors megtalálását. Az LSQR pedig ötvözi a két előző algoritmus legjobb tulajdonságait, mivel elosztható, gyorsabban konvergál a gradiens csökkenéshez képest, és lehetővé teszi az algoritmus korai leállítását a QR felbontás mellett a közelítő megoldás keresésekor.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster