Reguláció

Egy korábbi bejegyzésben volt szó a túlillesztés problémájáról. Ma az egyik lehetséges megoldási lehetőséget nézzük át: a regulációt.


A reguralizáció az összetettebb modellek büntetése az egyszerűbbekkel szemben. Miért jó ez? Mint tudjuk, hajlamosak vagyunk olyan esetekben is összefüggéséket felfedezni, amikor nincsenek. Ennek köszönhetően egyre összetettebb modelleket alkotunk, amik újabb és újabb “összefüggésekkel” egészítik ki az eredeti modellünket. A reguralizáció során ezt próbáljuk megakadályozni az összetettebb modellek lepontozásával.

L1/L2

Általában két fajta reguralizációs modellt használunk gépi tanulás során: L1 és L2. Ezek a misztikus jelek a valóságban Lasso Regresziót (L1) és Ridge Regresziot (L2) jelölnek. Mik is ezek?

A két formula csak Loss függvényhez hozzá adott büntetés számításában tér el. Ahogy korábban említettem, több lehetőség is van Loss függvényt számítani, általában1 a mean squared error használják L1 és L2 esetén, tegyük most mi is ezt. Tehát a Loss függvényünk a következő lesz:

(1)   \text{Loss} = \sum_{i=1}^n (y_i-\beta_0-x_i^T\cdot \beta)^2

Ahol:

  • n — megfigyelések száma
  • \beta_0  — a modell eltolása
  • \beta — a modell
  • j — a modell dimenziói

Az optimalizáció során ezt a függvényt szeretnénk minimalizálni.

A reguralizáció során a fenti minimalizációs problémához egy új részt adunk, ami a minden áron való Loss optimalizáció ellen dolgozik.

Ridge

A Ridge esetén ez az új term:

(2)   r = \lambda   \lVert \beta \rVert ^2

Ahol:

  • \lambda — egy általunk választott érték, ami szabályozza, hogy milyen fontos nekünk a modell egyszerűsége az minimális Loss értékkel szemben.
  • \lVert \beta \rVert   — a modell vektor hossza

Ennek megfelelően az optimalizációs probléma a következő módon alakul:

(3)   \text{min} \left(  \sum_{i=1}^n (y_i-\beta_0-x_i^T\cdot \beta)^2  + \lambda   \lVert \beta \rVert ^2  \right)

Ha valaki emlékszik a Support-vektor machine bejegyzésre akkor talán feltűnt neki, hogy az ottani (5) képlet lényegében ezzel a formulával egyezik meg.

Lasso

Lasso az egyetlen különbség, hogy nem emeljük négyzetre a modell vektorunkat:

(4)   l = \lambda   \lVert \beta \rVert

Lasso vs Ridge

Rendben, de mi alapján választjuk ki, hogy melyik reguralizációs módszert használjuk? A lényegi különbség a kettő között, hogy a Lasso jobb dimenzió csökkentésre, mivel hajlamos teljesen 0-ra állítani a kevésbé fontos dimenziókat. A Ridge ezzel szemben inkább szétosztja a súlyokat a dimenziók között.

Lábjegyzet

  1. Ez nem jelenti azt, hogy mindig ezt kell használnunk. Pédául: Art B. Owen: A robust hybrid of lasso and ridge regression. Itt a szerző a Huber loss-t kombinálja a Lasso és Ridge regurációval.

Hírdetés

Reguláció” bejegyzéshez egy hozzászólás

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s