Lineáris és logisztikai regresszió összehasonlítása

Discussion on an entry level data science interview question

A Data Science interjúk mélysége eltérő. Egyes interjúk nagyon mélyre mennek, és próbára teszik a jelölteket a haladó modellekkel vagy a trükkös finomhangolással kapcsolatos tudásukban. Sok interjút azonban már belépő szinten készítenek, és megpróbálják tesztelni a jelölt alapvető ismereteit. Ebben a cikkben egy olyan kérdést fogunk látni, amelyet egy ilyen interjúban meg lehet vitatni. Annak ellenére, hogy a kérdés nagyon egyszerű, a vita számos érdekes szempontot hoz fel a gépi tanulás alapjairól.

Kérdés: Mi a különbség a lineáris regresszió és a logisztikai regresszió között?

Valójában sok hasonlóság van a kettő között, kezdve azzal, hogy a nevük hangzása nagyon hasonló. Mindketten vonalakat használnak modellfüggvényként. A grafikonjaik is nagyon hasonlóak.

Kép szerzőtől

De e hasonlóságok ellenére nagyon különböznek mind a módszerben, mind az alkalmazásban. Ezeket a különbségeket fogjuk most kiemelni. Összehasonlításképpen a következő pontokat fogjuk használni, amelyeket általában figyelembe veszünk bármely gépi tanulási modell megvitatásakor:

  • Hipotézis vagy modellcsalád
  • A bemeneti és kimeneti
  • Veszteség funkció
  • Optimalizálási technika
  • Alkalmazás

Most összehasonlítjuk a lineáris regressziót (LinReg) és a logisztikai regressziót (LogReg) ezeken a pontokon. Kezdjük az alkalmazással, hogy a vitát a helyes útra tereljük.

Image by Rajashree Rajadhyax

A lineáris regressziót a mennyiség más mennyiségek alapján történő becslésére használják. Példaként képzelje el, hogy diákként a nyári szünetben limonádéstandot vezet. Azt szeretné tudni, hány pohár limonádét adnak el holnap, hogy elegendő citromot és cukrot vásárolhasson. A limonádé értékesítésében szerzett hosszú tapasztalata alapján rájött, hogy az értékesítés szoros kapcsolatban áll a napi maximum hőmérséklettel. Tehát az előrejelzett maximális hőmérsékletet szeretné használni a limonádé akció előrejelzésére. Ez egy klasszikus LinReg alkalmazás, amelyet az ML irodalomban általában előrejelzésnek neveznek.

A LinReg arra is használható, hogy megtudja, egy adott bemenet hogyan befolyásolja a kimenetet. Tegyük fel, hogy a limonádé istálló példájában két bemenet van: a maximális hőmérséklet és az, hogy a nap ünnepnap-e. Szeretné tudni, hogy melyik befolyásolja jobban az eladást – a maximális hőmérséklet vagy az ünnepnap. A LinReg hasznos lesz ennek azonosításában.

A LogReg elsősorban osztályozásra szolgál. Az osztályozás azt jelenti, hogy a bemenetet a sok lehetséges kosár egyikébe soroljuk. Az osztályozás annyira központi szerepet játszik az emberi intelligenciában, hogy nem lenne helytelen azt mondani, hogy „az intelligencia nagy része osztályozás”. Az osztályozás jó példája a klinikai diagnózis. Gondoljunk az idős, megbízható háziorvosra. Egy hölgy lép be, és szüntelen köhögésre panaszkodik. Az orvos különféle vizsgálatokat végez, hogy döntsön a lehetséges állapotok közül. Néhány lehetséges állapot viszonylag ártalmatlan, például a torokfertőzés. Néhányuk azonban súlyos, például a tuberkulózis vagy akár a tüdőrák. Különböző tényezők alapján az orvos eldönti, hogy mitől szenved, és megkezdi a megfelelő kezelést. Ez a munkahelyi besorolás.

Szem előtt kell tartanunk, hogy mind a becslés, mind az osztályozás inkább találgatás, mint számítás. Az ilyen típusú feladatokban nincs pontos vagy helyes válasz. A gépi tanulási rendszerek mire jók a találgatási feladatok.

Az ML rendszerek a minták észlelésével oldják meg a találgatási problémákat. A megadott adatokból egy mintát észlelnek, majd felhasználják a feladat elvégzésére, például becslésre vagy osztályozásra. A természeti jelenségekben megtalálható fontos minta a kapcsolati minta. Ebben a mintában az egyik mennyiség a másik mennyiséghez kapcsolódik. Ez az összefüggés a legtöbb esetben matematikai függvénnyel közelíthető.

Egy matematikai függvény azonosítását a megadott adatokból „tanulásnak” vagy „képzésnek” nevezzük. A tanulásnak két lépése van:

  1. A függvény „típusát” (például lineáris, exponenciális, polinomiális) egy ember választja ki
  2. A tanuló algoritmus megtanulja a paramétereket (például egy egyenes meredekségét és metszetét) a megadott adatokból.

Tehát amikor azt mondjuk, hogy az ML rendszerek tanulnak az adatokból, az csak részben igaz. A funkciótípus kiválasztásának első lépése manuális, és a modelltervezés része. A függvény típusát „hipotézisnek” vagy „modellcsaládnak” is nevezik.

A LinRegben és a LogRegben is a modellcsalád a lineáris függvény. Mint tudják, egy vonalnak két paramétere van - a lejtő és a metszés. De ez csak akkor igaz, ha a függvény csak egy bemenetet igényel. A legtöbb valós világ problémájához több bemenet is létezik. A modellfüggvényt ezekre az esetekre lineáris függvénynek nevezzük, nem vonalnak. A lineáris függvénynek több paramétere van, amit meg kell tanulni. Ha a modellnek n bemenete van, akkor a lineáris függvénynek n+1 paramétere van. Mint említettük, ezeket a paramétereket a megadott adatokból tanuljuk meg. Ebben a cikkben továbbra is azt feltételezzük, hogy a függvény egy egyszerű vonal két paraméterrel. A LogReg modellfüggvénye egy kicsit összetettebb. A vonal megvan, de egy másik funkcióval van kombinálva. Ezt egy pillanat múlva meglátjuk.

Ahogy fentebb említettük, a LinReg és a LogReg is megtanulja a lineáris függvény paramétereit a megadott adatokból, úgynevezett betanítási adatokból. Mit tartalmaznak az edzési adatok?

A képzési adatok elkészítése néhány valós világbeli jelenség (RWP) rögzítésével történik. Például a maximális nappali hőmérséklet és a limonádé eladása közötti összefüggés RWP. Nincs rálátásunk a mögöttes összefüggésre. Csak a hőmérséklet értékeit és az eladási értékeket láthatjuk naponta. A megfigyelések rögzítésekor egyes mennyiségeket az RWP bemeneteként, másokat pedig kimenetként jelölünk ki. A limonádé példában a max hőmérsékletet nevezzük bemenetnek, a limonádé eladását pedig outputnak.

Kép szerzőtől

Edzési adataink bemeneti és kimeneti párokat tartalmaznak. Ebben a példában az adatok a napi maximális hőmérsékletet és az eladott pohár limonádét tartalmazzák. Ilyen lesz a LinReg bemenete és kimenete.

A LogReg által végrehajtott feladat az osztályozás, ezért a kimenetének osztálynak kell lennie. Képzeljük el, hogy két osztály van, amelyeket 0-nak és 1-nek neveznek. A modell kimenete ekkor szintén 0 vagy 1 legyen.

A kimenet megadásának ez a módja azonban nem túl találó. Lásd a következő diagramot:

Kép szerzőtől

A sárga pontok az 1. osztályhoz, a világoskékek pedig a 0-hoz tartoznak. A vonal a modellfüggvényünk, amely elválasztja a két osztályt. E szeparátor szerint mindkét sárga pont (a és b) az 1. osztályba tartozik. A b pont tagsága azonban sokkal biztosabb, mint az a ponté. Ha a modell egyszerűen 0-t és 1-et ad ki, akkor ez a tény elveszik.

Ennek a helyzetnek a kijavítására a LogReg modell minden egyes pont egy bizonyos osztályhoz való tartozásának valószínűségét állítja elő. A fenti példában annak a valószínűsége, hogy az „a” pont az 1. osztályba tartozik, kicsi, míg a „b” ponté nagy. Mivel a valószínűség egy 0 és 1 közötti szám, így a LogReg kimenete is az.

Most nézze meg a következő diagramot:

Kép szerzőtől

Ez a diagram megegyezik az előzővel, c pont hozzáadásával. Ez a pont is az 1. osztályhoz tartozik, és valójában biztosabb, mint a b pont. Helytelen lenne azonban egy pont valószínűségét az egyenestől való távolságával arányosan növelni. Intuitív módon, ha egy bizonyos távolságot elmegy a vonaltól, többé-kevésbé biztosak vagyunk a pontok tagságában. Nem kell tovább növelnünk a valószínűséget. Ez összhangban van a valószínűségek természetével, amelyek maximális értéke 1 lehet.

Ahhoz, hogy a LogReg modell képes legyen ilyen kimenetet produkálni, a vonal funkciót egy másik funkcióhoz kell kapcsolni. Ezt a második függvényt szigmoidnak nevezik, és a következő egyenlete van:

Így a LogReg modell így néz ki:

Kép szerzőtől

A szigmoid függvényt „logisztikai”-nak is nevezik, és ez az oka a „logisztikus regresszió” elnevezésnek.

Ha kettőnél több osztály van, a LogReg kimenete egy vektor. A kimeneti vektor elemei annak valószínűségei, hogy a bemenet az adott osztályhoz tartozik. Például, ha a klinikai diagnosztikai modell első elemének értéke 0.8, az azt jelenti, hogy a modell 80%-os valószínűséggel hiszi, hogy a beteg megfázik.

Láttuk, hogy a LinReg és a LogReg is megtanulja a lineáris függvény paramétereit a betanítási adatokból. Hogyan tanulják meg ezeket a paramétereket?

Az úgynevezett „optimalizálás” módszert használják. Az optimalizálás úgy működik, hogy számos lehetséges megoldást generál az adott problémára. Esetünkben a lehetséges megoldások a (meredekség, metszéspont) értékek halmazai. Mindegyik megoldást teljesítménymérő segítségével értékeljük. Végül kiválasztják azt a megoldást, amely ezen a területen a legjobbnak bizonyul.

Az ML modellek tanulása során a teljesítménymértéket néha „veszteségnek”, a kiszámítását segítő függvényt pedig „veszteségfüggvénynek” nevezik. Ezt így képviselhetjük:

Loss = Loss_Function (Parameters_being_evaluated)

A „veszteség” és a „veszteségfüggvény” kifejezések negatív konnotációt hordoznak, ami azt jelenti, hogy a veszteség alacsonyabb értéke jobb megoldást jelent. Más szóval, a tanulás egy olyan optimalizálás, amelynek célja olyan paraméterek megtalálása, amelyek minimális veszteséget okoznak.

Most látni fogjuk a LinReg és a LogReg optimalizálására használt általános veszteségfüggvényeket. Megjegyzendő, hogy a gyakorlatban sok különböző veszteségfüggvényt használnak, így megvitathatjuk azokat, amelyek a leggyakoribbak.

A LinReg paraméterek optimalizálására a leggyakoribb veszteségfüggvény a Sum of Squares Error (SSE). Ez a funkció a következő bemeneteket veszi fel:

1) Az összes képzési adatpont. Minden pontnál megadjuk:

a) a bemeneteket, például a maximális adathőmérsékletet,

b) a teljesítményeket, például az eladott limonádépoharak számát

2) A lineáris egyenlet paraméterekkel

A függvény ezután kiszámítja a veszteséget a következő képlet segítségével:

SSE Loss = Sum_for_all_points(
Square_of(
output_of_linear_equation_for_the_inputs — actual_output_from_the_data point
))

A LogReg optimalizálási mértéke nagyon eltérő módon van meghatározva. Az SSE függvényben a következő kérdést tesszük fel:

If we use this line for fitting the training data, how much error will it make?

A LogReg optimalizálás mértékének megtervezésekor a következőket kérdezzük:

If this line is the separator, how likely is it that we will get the distribution of classes that is seen in the training data?

Ennek az intézkedésnek az eredménye tehát valószínű. A mértékfüggvény matematikai alakja logaritmusokat használ, így a Log Likelihood (LL) nevet adja. A kimenetek tárgyalása során láttuk, hogy a LogReg függvény exponenciális tagokat foglal magában (az e-vel 'emelkedett' z kifejezéseket). A logaritmusok segítenek hatékonyan kezelni ezeket az exponenciálisokat.

Intuitív módon egyértelműnek kell lennie, hogy az optimalizálásnak maximalizálnia kell az LL-t. Gondolkodjon így: meg akarjuk találni azt a sort, amely a legvalószínűbbé teszi a képzési adatokat. A gyakorlatban azonban olyan mértéket részesítünk előnyben, amely minimalizálható, ezért csak az LL negatívját vesszük. Így megkapjuk a Negative Log Likelihood (NLL) veszteségfüggvényt, bár szerintem veszteségfüggvénynek nevezni nem túl helyes.

Tehát megvan a két veszteségfüggvény: SSE a LinReghez és NLL a LogReghez. Vegye figyelembe, hogy ezeknek a veszteségfüggvényeknek sok neve van, és meg kell ismerkednie a kifejezésekkel.

Annak ellenére, hogy a Lineáris Regresszió és a Logisztikai Regresszió nagyon hasonlónak tűnik, a valóságban meglehetősen eltérőek. A LinReg a becsléshez/előrejelzéshez, a LogReg pedig az osztályozáshoz használható. Igaz, hogy mindketten a lineáris függvényt használják alapként, de a LogReg tovább bővíti a logisztikai függvényt. Abban különböznek egymástól, ahogyan felhasználják a képzési adataikat és előállítják a modellkimeneteiket. A kettő nagyon eltérő veszteségi függvényt is használ.

További részletek szondázhatók. Miért az SSE? Hogyan számítják ki a valószínűséget? Itt nem tértünk ki az optimalizálási módszerre, hogy elkerüljük a több matematikát. Azonban szem előtt kell tartania, hogy a LogReg optimalizálása általában az iteratív gradiens süllyedés módszerét igényli, míg a LinReg általában egy gyors zárt formájú megoldással is megteszi. Ezeket és még több pontot egy másik cikkben tárgyalhatunk.

Comparing Linear and Logistic Regression Republished from Source https://towardsdatascience.com/comparing-linear-and-logistic-regression-11a3e1812212?source=rss—-7f60cf5620c9—4 via https://towardsdatascience.com/feed

<!–

->

Időbélyeg:

Még több Blockchain tanácsadók