Normalizálás és szabványosítás

Befejeződött

A funkcióskálázás egy olyan technika, amely megváltoztatja egy szolgáltatás értéktartományát. Ez segít a modellek gyorsabb és robusztusabb elsajátításában.

Normalizálás és szabványosítás

A normalizálás azt jelenti, hogy úgy skálázza az értékeket, hogy azok egy bizonyos tartományba, általában 0–1-re illeszkedjenek. Ha például egy 0, 50 és 100 éves korú személyek listáját tartalmazza, normalizálhatja az életkorokat 100-ra osztva, hogy az értékek 0, 0,5 és 1 legyen.

A szabványosítás hasonló, de ehelyett kivonjuk az értékek középértékét (más néven átlagát), és elosztjuk a szórással. Ha nem ismeri a szórást, ne aggódjon, ez azt jelenti, hogy a szabványosítás után a középérték nulla, és az értékek körülbelül 95%-a -2 és 2 közé esik.

Az adatok skálázásának más módjai is vannak, de ezek árnyalatai túlmutatnak azon, amit most tudnunk kell. Vizsgáljuk meg, miért alkalmazzuk a normalizálást vagy a szabványosítást.

Miért kell skáláznunk?

A betanítás előtt számos okból normalizáljuk vagy szabványosítjuk az adatokat. Ezeket egy példával könnyebben megértheti. Tegyük fel, hogy egy modellt szeretnénk betaníteni annak előrejelzésére, hogy egy kutya sikeres lesz-e a hóban való munkában. Az adatok az alábbi grafikonon pontként jelennek meg, a keresendő trendvonal pedig folytonos vonalként jelenik meg:

50-től kezdődő kutyamagasságot és mentéseket ábrázoló diagram a skálázásról.

A skálázás jobb kiindulási pontot biztosít a tanuláshoz

Az előző gráf optimális egyenesének két paramétere van: az 50-es metszéspont, az x=0 és a meredekség, amely 0,01; minden 1000 milliméterrel 10-rel növeli a mentéseket. Tegyük fel, hogy a betanítást mindkét paraméter esetében 0 kezdeti becsléssel kezdjük.

Ha a betanítási iterációk iterációnként átlagosan körülbelül 0,01-gyel módosítják a paramétereket, legalább 5000 iterációt vesz igénybe, mielőtt megtalálná a metszéspontot: 50 / 0,01 = 5000 iteráció. A szabványosítással ez az optimális metszéspont közelebb kerülhet a nullához, ami azt jelenti, hogy sokkal gyorsabban megtaláljuk. Ha például kivonjuk a középértékeket a címkéből – az éves mentőakciókból és a jellemzőnkből – a magasságot, akkor az metszéspont -0,5, nem pedig 50, ami körülbelül 100-szor gyorsabb.

A 0-tól kezdődő kutyamagasságot és mentéseket ábrázoló diagram a skálázásról.

Vannak más okok is, amelyek miatt az összetett modellek betanítása nagyon lassú lehet, ha a kezdeti becslés messze van a jeltől, de a megoldás továbbra is ugyanaz: az eltolás a kezdeti becsléshez közelebbi jellemzőkkel rendelkezik.

A szabványosítás lehetővé teszi, hogy a paraméterek azonos sebességgel tanítsák be a betanítást

Az újonnan eltolt adatokban -0,5 ideális eltolással és 0,01 ideális meredekségével rendelkezünk. Bár az offsetting segít felgyorsítani a dolgokat, még mindig sokkal lassabb az eltolódás betanítása, mint a meredekség betanítása. Ez lelassíthatja a dolgokat, és instabillá teheti a betanítást.

Például az eltolás és a meredekség kezdeti becslése egyaránt nulla. Ha az egyes iterációkon körülbelül 0,1-gyel módosítjuk a paramétereket, gyorsan megtaláljuk az eltolódást, de nagyon nehéz lesz megtalálni a megfelelő meredekségeket, mivel a meredekség növekedése túl nagy lesz (0 + 0,1 > 0,01), és túlterjedhet az ideális értéken. Kisebbre állíthatjuk a módosításokat, de ez lelassítja, hogy mennyi ideig tart megtalálni a metszéspontot.

Mi történik, ha skálázzuk a magassági jellemzőt?

Diagram, amely a kutyamagasság és a mentések skálázását ábrázoló diagramon ábrázolja a szabványosítást.

A vonal meredeksége most 0,5. Figyeljen az x tengelyre. A -0,5 optimális metszéspontunk és a 0,5-ös meredekségünk megegyezik! Most már könnyen kiválasztható egy ésszerű lépésméret, amely azt jelzi, hogy milyen gyorsan frissítik a színátmenetes frissítés paramétereit.

A skálázás több funkcióval is segít

Ha több jellemzővel dolgozunk, ezek eltérő léptékben való használata problémákat okozhat az illesztés során, hasonlóan ahhoz, ahogyan az metszet és a meredekség példáiban láttuk. Ha például olyan modellt tanítunk be, amely mm-ben és metrikus tonnában is elfogadja a magasságot, számos modell nehezen fogja értékelni a súlyozási funkció fontosságát, egyszerűen azért, mert annyira kicsi a magassági jellemzőkhöz képest.

Mindig skáláznom kell?

Nem kell mindig skáláznunk. Bizonyos modellek, beleértve az előző modelleket egyenes vonalakkal, iteratív eljárás, például gradiens ereszkedés nélkül is elférnek, így nem bánják, ha a jellemzők nem megfelelő méretűek. Más modelleknek skálázásra van szükségük a jól betanításhoz, de a kódtárak gyakran automatikusan elvégzik a funkciók skálázását.

Általánosságban elmondható, hogy a normalizálás vagy a szabványosítás egyetlen valós hátránya az, hogy megnehezítheti a modellek értelmezését, és hogy valamivel több kódot kell írnunk. Ezért a funkcióskálázás a gépi tanulási modellek létrehozásának szokásos része.