Elképzelések az L1 és L2 regularizációról
On szeptember 20, 2021 by admin0) Mi az az L1 és L2?
A L1 és L2 regularizáció a nevét a w vektor L1 és L2 normájának köszönheti. Íme egy alapozó a normákról:
<változási log: kihagyta a 2-norm és a p-norm abszolút értékek felvételét>
Az L1 normát regularizációra megvalósító lineáris regressziós modellt lasso regressziónak, a (négyzetes) L2 normát regularizációra megvalósítót pedig ridge regressziónak nevezzük. E kettő megvalósításához vegyük észre, hogy a lineáris regressziós modell ugyanaz marad:
de a veszteségfüggvény számítása tartalmazza ezeket a regularizációs feltételeket:
Megj: Szigorúan véve az utolsó egyenlet (ridge-regresszió) egy veszteségfüggvény a súlyok négyzetes L2 normájával (vegyük észre a négyzetgyök hiányát). (Köszönjük Max Pechyonkin-nak, hogy ezt kiemelte!)
A regularizációs kifejezések olyan “megkötések”, amelyekhez az optimalizáló algoritmusnak “ragaszkodnia” kell a veszteségfüggvény minimalizálásakor, azon kívül, hogy a valós y és a jósolt ŷ közötti hibát kell minimalizálnia.
1) Modell
Meghatározunk egy modellt, hogy lássuk, hogyan működik az L1 és az L2. Az egyszerűség kedvéért definiálunk egy egyszerű lineáris regressziós modellt ŷ egy független változóval.
Itt a mélytanulási konvenciókat w (‘weight’) és b (‘bias’) használtam.
A gyakorlatban az egyszerű lineáris regressziós modellek nem hajlamosak a túlillesztésre. Ahogy a bevezetőben említettük, a mélytanulási modellek a modell összetettsége miatt hajlamosabbak az ilyen problémákra.
Ezért vegyük figyelembe, hogy a cikkben használt kifejezések könnyen kiterjeszthetők összetettebb modellekre is, nem korlátozódva a lineáris regresszióra.
2) Veszteségfüggvények
Az L1 és L2 regularizáció hatásának bemutatására illesszük lineáris regressziós modellünket 3 különböző veszteségfüggvény/cél segítségével:
- L
- L1
- L2
A célunk az, hogy ezeket a különböző veszteségeket minimalizáljuk.
2.1) Veszteségfüggvény regularizáció nélkül
A veszteségfüggvényt L négyzetes hibaként definiáljuk, ahol a hiba az y (az igaz érték) és ŷ (az előre jelzett érték) közötti különbség.
Tegyük fel, hogy a modellünk túlillesztett lesz ezzel a veszteségfüggvénnyel.
2.2) Veszteségfüggvény L1 regularizációval
A fenti veszteségfüggvény alapján egy L1 regularizációs kifejezés hozzáadása a következőképpen néz ki:
ahol a regularizációs paraméter λ > 0 kézzel hangolható. Nevezzük ezt a veszteségfüggvényt L1-nek. Vegyük észre, hogy |w| mindenhol differenciálható, kivéve, ha w=0, mint az alábbiakban látható. Erre később szükségünk lesz.
2.3) Veszteségfüggvény L2 regularizációval
Hasonlóképpen, egy L2 regularizációs kifejezés hozzáadása L-hez így néz ki:
ahol ismét λ > 0.
3) Gradiens süllyedés
Most oldjuk meg a lineáris regressziós modellt gradiens süllyedéses optimalizálással a fent definiált 3 veszteségfüggvény alapján. Emlékezzünk vissza, hogy a w paraméter frissítése a gradiens ereszkedés során a következőképpen történik:
A fenti egyenlet utolsó tagját helyettesítsük az L, L1 és L2 gradiensével w függvényében.
L:
L1:
L2:
4) Hogyan akadályozzák meg a túlillesztést?
Végezzük el innentől kezdve a fenti egyenleteken a következő helyettesítéseket (a jobb olvashatóság érdekében):
- η = 1,
- H = 2x(wx+b-y)
amelyekből
L-t kapunk:
L1:
Hogyan segít a w 0 felé tolása a túlillesztésben az L1 regularizációban? Ahogy fentebb említettük, ahogy w 0 felé megy, a változók fontosságának csökkentésével csökkentjük a jellemzők számát. A fenti egyenletben azt látjuk, hogy az x_2, x_4 és x_5 kis együtthatóik miatt szinte “haszontalanok”, ezért eltávolíthatjuk őket az egyenletből. Ez viszont csökkenti a modell bonyolultságát, így a modellünk egyszerűbbé válik. Egy egyszerűbb modell csökkentheti a túlillesztés esélyét.
Megjegyzés
Míg az L1 hatására a súlyok 0 felé tolódnak, az L2 nem, ez nem jelenti azt, hogy a súlyok az L2 miatt nem képesek 0 közelébe kerülni.
Vélemény, hozzászólás?