Gépi tanulás alapjai · Lecke 07

Túltanulás, regularizáció és jellemzőmérnökség

A negyedik leckében megismertük a túltanulást. Most megnézzük, mi okozza, és milyen eszközökkel fékezhető. A regularizáció bünteti a túlzottan bonyolult modellt, a jellemzőmérnökség pedig jobb bemenetet ad neki, hogy kevesebb bonyolultsággal is jól tanuljon.

Vissza a tananyaghoz


Mi okozza a túltanulást

A túltanulás akkor lép fel, amikor a modell túl szorosan tapad a tanító adathoz. Több tényező vezethet ide. Ha a modell túl bonyolult a feladathoz képest, elég szabadsága van ahhoz, hogy a zajt is megtanulja. Ha kevés a tanító adat, a modell könnyen bemagolja a néhány példát ahelyett, hogy valódi mintázatot tanulna. És ha túl sok epochon át tanítjuk, egy idő után már csak a tanító adat egyedi kilengéseit finomítja. A közös nevező a túlzott modellkomplexitás, ezért a védekezés lényege ennek a komplexitásnak a mérséklése.


a modell komplexitása hiba tanító hiba validációs hiba optimális komplexitás alultanulás túltanulás
Ahogy nő a modell komplexitása, a tanító hiba folyamatosan csökken, de a validációs hiba egy ponton túl emelkedni kezd. Az optimum a kettő közötti völgyben van.

A regularizáció

A regularizáció (regularization) olyan technika, amely a tanítás során bünteti a modell bonyolultságát, és ezzel egyszerűbb, jobban általánosító modell felé tereli. A leggyakoribb forma a nagy súlyok büntetése. A modellnek nem csak a veszteséget kell csökkentenie, hanem a súlyai méretét is kordában tartania, így nem alakulhatnak ki szélsőségesen nagy súlyok, amelyek a zajra hangolnák a modellt. Két fő változata van. Az L2 regularizáció a súlyok négyzetét bünteti, ettől a súlyok kicsik maradnak, de általában nem lesznek pontosan nulla értékűek. Az L1 regularizáció a súlyok abszolút értékét bünteti, és hajlamos a kevésbé fontos súlyokat egészen nullára húzni, ezzel ritkítva a jellemzőket.


A lambda regularizációs ráta

A büntetés erősségét egy hiperparaméter szabályozza, ez a lambda, más néven regularizációs ráta. Ha a lambda túl kicsi, a regularizáció alig hat, a modell könnyen túltanul. Ha túl nagy, a modell túlságosan egyszerű lesz, és alultanul. A jó lambda az a köztes érték, amelynél a súlyok kellően visszafogottak ahhoz, hogy a modell jól általánosítson, de nem annyira, hogy elveszítse a valódi mintázatot. Az alábbi ábra azt mutatja, hogyan zsugorodnak a súlyok, ahogy erősítjük a regularizációt.


Regularizáció nélkülnagy súlyok
Enyhe regularizációközepes súlyok
Erős regularizációkicsi súlyok

Ahogy nő a lambda, a modell súlyai kisebbek lesznek, a modell egyszerűbbé és stabilabbá válik. Túl erős regularizációnál viszont a modell már alultanul.


L2 regularizáció

  • A súlyok négyzetét bünteti
  • A súlyokat kicsivé, de nem nullává teszi
  • Minden jellemző megmarad, csak visszafogottan
  • Stabil, sima megoldást ad

L1 regularizáció

  • A súlyok abszolút értékét bünteti
  • A fölösleges súlyokat nullára húzza
  • Ritkítja a jellemzőket, kiválasztja a fontosakat
  • Egyszerűbb, könnyebben értelmezhető modellt ad

Jellemzőmérnökség

A modell csak annyira lehet jó, amennyire a bemeneti jellemzők engedik. A jellemzőmérnökség (feature engineering) az a munka, amikor a nyers adatból a modell számára jól használható jellemzőket készítünk. Ide tartozik a kategorikus adatok átalakítása, például az egyszerűsített kódolás (one-hot encoding), amely egy kategóriát külön oszlopokra bont, ahol mindig pontosan egy érték egy, a többi nulla. Ide tartoznak a jellemzőkeresztek (feature crosses) is, amelyek két vagy több jellemzőt kombinálnak, hogy a modell megfoghasson olyan összefüggéseket, amelyeket külön-külön nem látna. A számértékek megfelelő skálázása szintén ide tartozik. A jó jellemzők gyakran többet érnek, mint egy bonyolultabb modell.


NYERS KATEGÓRIA szín = piros szín = zöld szín = kék one-hot ONE-HOT KÓDOLÁS piros zöld kék 1 0 0 0 1 0 0 0 1 Minden sorban pontosan egy érték egyes, a többi nulla.
Egyszerűsített kódolás. A kategorikus szín jellemzőt külön oszlopokra bontjuk, ahol soronként egy érték egyes, így a modell számokként dolgozhat vele.

2

Két irányból fékezzük a túltanulást. A regularizáció a modell felől szorít, bünteti a nagy súlyokat és a fölös bonyolultságot. A jellemzőmérnökség az adat felől segít, jobb jellemzőkkel kevesebb bonyolultság is elég a jó tanuláshoz.


← Előző lecke Következő lecke →

Workshop

AI Transformation Day

Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.

Érdekel a program →