Túlillesztés és kiegyensúlyozatlan adatok megakadályozása automatizált gépi tanulással
A túlillesztés és a kiegyensúlyozatlan adatok gyakori buktatók a gépi tanulási modellek létrehozásakor. Az Azure Machine Learning automatizált gépi tanulási funkciója alapértelmezés szerint diagramokat és metrikákat biztosít a kockázatok azonosításához. Ez a cikk azt ismerteti, hogyan valósíthat meg ajánlott eljárásokat az automatizált gépi tanulásban a gyakori problémák megoldásához.
A túlillesztés azonosítása
A gépi tanulásban túlillesztés akkor fordul elő, ha egy modell túl jól illeszkedik a betanítási adatokhoz. Ennek eredményeképpen a modell nem tud pontos előrejelzéseket készíteni a nem látható tesztadatokról. A modell a betanítási adatok bizonyos mintáit és zaját memorizálta, és nem elég rugalmas ahhoz, hogy valós adatokra vonatkozó előrejelzéseket készítsen.
Vegye figyelembe a következő betanított modelleket és azok megfelelő betanításai és tesztelési pontosságát:
Modell | Betanítása pontossága | Tesztelési pontosság |
---|---|---|
A | 99,9% | 95% |
h | 87% | 87% |
C | 99,9% | 45% |
A modell: A modell tesztelése valamivel kisebb pontosságot eredményez, mint a modell betanítása. Gyakori tévhit, hogy ha a nem látott adatok tesztelési pontossága alacsonyabb, mint a betanítási pontosság, akkor a modell túl van edzeni. A tesztelés pontosságának azonban mindig kisebbnek kell lennie, mint a betanítási pontosság. A túlillesztés és az adatok megfelelő illesztése közötti különbség annak mérésére jön létre, hogy mennyivel kisebb a pontosság.
A modell és a B modell: Az A modell jobb modell, mert nagyobb a tesztelési pontossága. Bár a teszt pontossága valamivel alacsonyabb, mint 95%, nem jelent jelentős különbséget, amely azt sugallja, hogy a túlillesztés jelen van. A B modell nem ajánlott, mert a vonat és a tesztelés pontossága hasonló.
C modell: Ez a modell a túlillesztés egyértelmű esetét jelöli. A betanítási pontosság magas, a teszt pontossága pedig alacsony. Ez a különbség szubjektív, de a probléma és az adatok ismeretéből ered, és hogy mi a hiba elfogadható mértéke.
A túlillesztés megakadályozása
A leggyakoribb esetekben a túlképezett modell feltételezi, hogy a betanítás során látható funkcióérték-kombinációk mindig pontosan ugyanazt a kimenetet eredményezik a célhoz. Az adatok túlillesztésének elkerülése érdekében javasoljuk, hogy kövesse a gépi tanulás ajánlott eljárásait. A modell implementációjában számos módszer konfigurálható. Az automatizált gépi tanulás alapértelmezés szerint más lehetőségeket is kínál a túlillesztés megelőzéséhez.
Az alábbi táblázat a gyakori ajánlott eljárásokat foglalja össze:
Ajánlott eljárások | Megvalósítás | Automatizált ML |
---|---|---|
További betanítási adatok használata és a statisztikai torzítás kiküszöbölése | X | |
Célszivárgás megakadályozása | X | |
Kevesebb funkció beépítése | X | |
A rendszeresítés és a hiperparaméter-optimalizálás támogatása | X | |
Modellbonyolítási korlátozások alkalmazása | X | |
Keresztérvényesítés használata | X |
Ajánlott eljárások alkalmazása a túlillesztés megakadályozása érdekében
Az alábbi szakaszok ismertetik a gépi tanulási modell implementációjában a túlillesztés megelőzésére használható ajánlott eljárásokat.
További adatok használata
A túlillesztés megelőzésének legegyszerűbb és legjobb módja a több adat használata, és ez a módszer általában növeli a pontosságot. Ha több adatot használ, a modell nehezebben jegyezheti meg a pontos mintákat. A modellnek rugalmasabb megoldásokat kell elérnie, hogy több feltételt is kielégítsen. Fontos a statisztikai torzítások felismerése is, hogy a betanítási adatok ne tartalmazzanak olyan izolált mintákat, amelyek nem léteznek élő előrejelzési adatokban. Ezt a forgatókönyvet nehéz lehet megoldani, mert az élő tesztadatokhoz képest túlillesztés is előfordulhat.
Célszivárgás megakadályozása
A célszivárgás hasonló probléma. Előfordulhat, hogy nem lát túlillesztést a vonat és a tesztkészlet között, de a szivárgási probléma előrejelzési időpontban jelenik meg. A célszivárgás akkor fordul elő, ha a modell "csal" a betanítás során olyan adatok elérésével, amelyeket általában nem szabad előrejelzési időben használnia. A modell például hétfői előrejelzést ad a pénteki áruárakról. Ha a funkciók véletlenül csütörtöki adatokat tartalmaznak, a modell az előrejelzési időpontban nem elérhető adatokhoz fér hozzá, mert nem látja a jövőbe. A célszivárgás egy könnyen kihagyható hiba. Ez gyakran látható, ha rendellenesen nagy pontosságú a probléma. Ha megkísérli előrejelezni a részvényárfolyamot, és 95%-os pontossággal betanított egy modellt, valószínűleg valahol a funkciókban van a szivárgás.
Kevesebb funkció beépítése
A funkciók eltávolítása azzal is segíthet a túlillesztésben, hogy megakadályozza, hogy a modell túl sok mezőt használjon adott minták memorizálásához, így rugalmasabb lesz. Mennyiségi mérés nehéz lehet. Ha eltávolíthatja a funkciókat, és megtarthatja ugyanazt a pontosságot, a modell rugalmasabb lehet, és csökkentheti a túlillesztés kockázatát.
A túlillesztés elkerülése érdekében tekintse át az automatizált gépi tanulási funkciókat
Az alábbi szakaszok az automatikus gépi tanulásban alapértelmezés szerint ajánlott eljárásokat ismertetik a túlillesztés megakadályozása érdekében.
A rendszeresítés és a hiperparaméter finomhangolásának támogatása
A rendszeresítés a költségfüggvények minimalizálásának folyamata az összetett és túlméretezett modellek büntetéséhez. Különböző típusú regicializálási függvények léteznek. Általában minden függvény bünteti a modell együtthatóját, varianciáját és összetettségét. Az automatizált gépi tanulás az L1 (Lasso), az L2 (Ridge) és az ElasticNet (L1 és L2 egyidejűleg) használatát használja különböző kombinációkban, különböző modell hiperparaméter-beállításokkal, amelyek szabályozzák a túlillesztést. Az automatizált gépi tanulás változó, hogy egy modell mennyire van szabályozva, és a legjobb eredményt választja.
Modellbonyolítási korlátozások alkalmazása
Az automatizált gépi tanulás explicit modellösszetettségi korlátozásokat is alkalmaz a túlillesztés megakadályozása érdekében. A legtöbb esetben ez a megvalósítás kifejezetten döntési fához vagy erdő algoritmusokhoz készült. Az egyes fák maximális mélysége korlátozott, és az erdő- vagy együttes technikákban használt fák teljes száma korlátozott.
Keresztérvényesítés használata
A keresztérvényesítés (CV) a teljes betanítási adatok számos részhalmazának betanítását és egy modell betanítását ismerteti az egyes részhalmazokon. Az ötlet az, hogy egy modell "szerencsés" és nagy pontosságú lehet egy alkészlettel, de sok részhalmaz használatával a modell nem tud minden alkalommal nagy pontosságot elérni. A CV használatakor meg kell adnia egy érvényesítési visszatartási adatkészletet, meg kell adnia a CV-redőket (részhalmazok száma), és az automatizált gépi tanulás betaníthatja a modellt, és hiperparamétereket hangolhat a hiba minimalizálása érdekében az érvényesítési készleten. Előfordulhat, hogy egy CV-hajtás túl van kelesztve, de sokukkal a folyamat csökkenti annak a valószínűségét, hogy a végső modell túl van-e kelesztve. A kompromisszum az, hogy a CV hosszabb betanítási időt és nagyobb költséget eredményez, mivel a cv részhalmazokban minden n-hez betanított egy modellt.
Feljegyzés
A keresztérvényesítés alapértelmezés szerint nincs engedélyezve. Ezt a funkciót az automatizált gépi tanulási beállításokban kell konfigurálni. A keresztérvényesítés konfigurálása és az érvényesítési adatkészlet megadása után azonban a folyamat automatikus lesz.
Kiegyensúlyozatlan adatokkal rendelkező modellek azonosítása
A kiegyensúlyozatlan adatok gyakran megtalálhatók a gépi tanulási besorolási forgatókönyvek adataiban, és olyan adatokra hivatkoznak, amelyek aránytalan arányban tartalmazzák az egyes osztályok megfigyeléseinek arányát. Ez a kiegyensúlyozatlanság a modell pontosságának tévesen érzékelt pozitív hatásához vezethet, mivel a bemeneti adatok torzítják az egyik osztályt, ami azt eredményezi, hogy a betanított modell utánozza ezt az elfogultságot.
Emellett az automatizált gépi tanulási feladatok automatikusan létrehoznak a következő diagramokat. Ezek a diagramok segítenek megérteni a modell besorolásainak helyességét, és azonosítani a kiegyensúlyozatlan adatok által potenciálisan érintett modelleket.
Diagram | Leírás |
---|---|
Keveredési mátrix | Kiértékeli a helyesen besorolt címkéket az adatok tényleges címkéi alapján. |
Pontosság visszahívása | Kiértékeli a helyes címkék arányát az adatok talált címkepéldányainak arányával. |
ROC-görbék | Kiértékeli a helyes címkék és a hamis-pozitív címkék arányát. |
Kiegyensúlyozatlan adatok kezelése
A gépi tanulási munkafolyamat egyszerűsítése érdekében az automatizált gépi tanulás beépített képességeket kínál a kiegyensúlyozatlan adatok kezeléséhez:
Az automatizált gépi tanulás bemenetként létrehoz egy súlyozási oszlopot , amely az adatok sorait felfelé vagy lefelé súlyozza, ami egy osztály többé-kevésbé "fontos" értékének megadására használható.
Az automatizált gépi tanulás által használt algoritmusok kiegyensúlyozatlanságot észlelnek, ha a kisebbségi osztályban lévő minták száma egyenlő vagy kevesebb, mint a többségi osztályban lévő minták számának 20%-a. A kisebbségi osztály a legkevesebb mintával rendelkezőre, a többségi osztály pedig a legtöbb mintával rendelkezőre hivatkozik. Később az automatizált gépi tanulás egy kísérletet futtat a felosztott adatokkal annak ellenőrzésére, hogy az osztálysúlyok használata orvosolhatja-e ezt a problémát, és javíthatja-e a teljesítményt. Ha ez a kísérlet jobb teljesítményt állapít meg, alkalmazza a megoldást.
Olyan teljesítménymetrikát használjon, amely jobban kezeli az egyensúlyhiányos adatokat. A AUC_weighted például egy elsődleges metrika, amely minden osztály hozzájárulását kiszámítja az osztályt képviselő minták relatív száma alapján. Ez a metrika robusztusabb a kiegyensúlyozatlanság ellen.
Az alábbi technikák az automatizált gépi tanuláson kívüli kiegyensúlyozatlan adatok kezelésére is használhatók:
Még az osztály kiegyensúlyozatlanságára is vissza lehet bélyeget adni. A kisebb osztályokat felfelé, a nagyobb osztályokat pedig lefelé is mintaként használhatja. Ezekhez a módszerekhez szakértelemre van szükség a feldolgozáshoz és az elemzéshez.
A kiegyensúlyozatlan adatok teljesítménymetrikáinak áttekintése. Az F1 pontszám például a pontosság és a visszahívás harmonikus középértékét jelenti. A pontosság az osztályozó pontosságát méri, ahol a nagyobb pontosság kevesebb hamis pozitív értéket jelez. A visszahívás az osztályozó teljességét méri, ahol a magasabb visszahívás kevesebb hamis negatív értéket jelez.