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 szolgáltatása alapértelmezés szerint diagramokat és metrikákat biztosít ezeknek a kockázatoknak a azonosításához, és az ajánlott eljárásokat alkalmazza a kockázat csökkentéséhez.

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, és ennek következtében nem lehet pontosan előrejelezni a nem látható tesztadatokat. Más szóval a modell konkrét mintákat és zajt jegyezett fel a betanítási adatokban, de nem elég rugalmas ahhoz, hogy valós adatokra vonatkozó előrejelzéseket készítsen.

Vegye figyelembe a következő betanított modelleket, valamint azok megfelelő betanított és tesztelési pontosságát.

Modellezés Betanítása pontossága Teszt pontossága
A 99.9% 95%
B 87% 87%
C 99.9% 45%

Vegyük az A modellt, gyakori tévhit, hogy ha a nem látott adatok tesztelési pontossága alacsonyabb, mint a betanítási pontosság, a modell túl van edzve. A tesztelés pontosságának azonban mindig kisebbnek kell lennie, mint a betanítási pontosság, és a túlillesztés és a megfelelő illesztés különbsége a kevésbé pontosra csökken.

Hasonlítsa össze az A és a B modelleket, az A modell jobb modell, mert nagyobb a tesztelési pontossága, és bár a teszt pontossága valamivel alacsonyabb 95%-nál, nem jelentős különbség, amely azt sugallja, hogy a túlillesztés jelen van. Nem a B modellt választja, mert a betanítása és a tesztelés pontossága közelebb van egymáshoz.

A C modell a túlillesztés egyértelmű esetét jelöli; a betanítási pontosság magas, de a teszt pontossága közel sem olyan magas. Ez a különbség szubjektív, de a probléma és az adatok ismeretéből, valamint a hibák elfogadható mennyiségéből származik.

A túlillesztés megakadályozása

A legrégibb esetekben a túlbecsült modell feltételezi, hogy a betanítás során látott funkcióérték-kombinációk mindig pontosan ugyanazt a kimenetet eredményezik a célhoz.

A túlillesztés megelőzésének legjobb módja az ML ajánlott eljárásainak követése, beleértve a következőket:

  • Több betanítási adat használata és a statisztikai torzítás kiküszöbölése
  • A célszivárgás megakadályozása
  • Kevesebb funkció használata
  • Rendszeresítés és hiperparaméter-optimalizálás
  • A modell összetettségi korlátai
  • Keresztellenőrzés

Az automatizált gépi tanulás kontextusában az első három módszer felsorolja a implementált ajánlott eljárásokat. Az utolsó három félkövér elem a túlillesztés elleni védelem érdekében alapértelmezés szerint az automatizált gépi tanulási implementálás ajánlott eljárása . Az automatizált gépi tanulástól eltérő beállítások esetén mind a hat ajánlott eljárást érdemes követni a modellek túlillesztésének elkerülése érdekében.

Gyakorlati tanácsok

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 a hozzáadott bónuszok általában növelik a pontosságot. Ha több adatot használ, nehezebbé válik a modell számára a pontos minták memorizálása, és rugalmasabb megoldásokat kell elérnie, hogy több feltételt is kielégítsen. Emellett fontos felismerni a statisztikai torzításokat is, hogy a betanítási adatok ne tartalmazzanak olyan izolált mintákat, amelyek nem léteznek az élő előrejelzési adatokban. Ezt a forgatókönyvet nehéz lehet megoldani, mert előfordulhat, hogy az élő tesztadatokhoz képest túlillesztés áll fenn.

Célszivárgás megakadályozása

A célszivárgás hasonló probléma, ahol előfordulhat, hogy nem lát túlillesztést a betanítási/tesztelési készletek között, hanem az 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 azáltal, hogy olyan adatokhoz fér hozzá, amelyeknek általában nem kellene az előrejelzési időben rendelkezniük. Például előre jelezheti, hogy hétfőn milyen árucikkár lesz pénteken, ha a funkciók véletlenül csütörtöki adatokat tartalmaznak, akkor azok az adatok, amelyeket a modell nem rendelkezik előrejelzési időpontban, mivel nem látja a jövőt. A célszivárgás könnyen kihagyható hiba, de gyakran a probléma rendellenesen nagy pontossága jellemzi. Ha a tőzsdei árfolyam előrejelzésére törekszik, és 95%-os pontossággal betanított egy modellt, akkor valószínűleg valahol a funkciókban is fennáll a célszivárgás.

Kevesebb funkció használata

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. A mennyiségi mérés nehéz lehet, de ha el tudja távolítani a funkciókat, és megtartja ugyanazt a pontosságot, valószínűleg rugalmasabbá tette a modellt, és csökkentette a túlillesztés kockázatát.

Ajánlott eljárások Automatizált gépi tanulási implementálások

Reguláris és hiperparaméter-finomhangolás

A rendszeresítés egy költségfüggvény minimalizálásának folyamata, amely az összetett és túlméretezett modelleket bünteti. Különböző típusú regicionálási függvények léteznek, de általában mind büntetik a modell együtthatójának méreté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) különböző kombinációkat használ a túlillesztést vezérlő különböző modell hiperparaméter-beállításokkal. Az automatizált gépi tanulás változó, hogy egy modell mennyire szabályozott, és a legjobb eredményt választja.

A modell összetettségi korlátai

Az automatizált gépi tanulás explicit modellösszetettségi korlátozásokat is alkalmaz a túlillesztés elkerülése érdekében. A legtöbb esetben ez a megvalósítás kifejezetten döntési fához vagy erdőalgoritmusokhoz készült, ahol 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.

Keresztellenőrzés

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" lehet, és nagy pontossággal rendelkezhet egy részhalmazsal, de sok részhalmaz használatával a modell nem fogja elérni ezt a nagy pontosságot minden alkalommal. Az önéletrajz készítésekor meg kell adnia egy érvényesítési visszatartási adatkészletet, meg kell adnia az önéletrajz-hajtásokat (részhalmazok számát) és az automatizált gépi tanulás betaníthatja a modellt, és hangolhatja a hiperparamétereket, hogy minimalizálja az érvényesítési készlet hibáit. Egy CV-hajtás túlbecsült lehet, de sok használatával 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.

Megjegyzés

A keresztérvényesítés alapértelmezés szerint nincs engedélyezve; Ezt 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 automatizált 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 utalnak, amelyek az egyes osztályokban aránytalan mennyiségű megfigyelést tartalmaznak. Ez a kiegyensúlyozatlanság a modell pontosságának tévesen vélt 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 az alábbi 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 Description
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 megfelelő 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 arányát a hamis-pozitív címkék arányával.

Kiegyensúlyozatlan adatok kezelése

A gépi tanulási munkafolyamat egyszerűsítésére irányuló célja részeként az automatizált gépi tanulás olyan képességeket fejlesztett ki, amelyek segítenek kezelni az olyan kiegyensúlyozatlan adatokat, mint például a

  • Súlyoszlop: Az automatizált gépi tanulás bemenetként létrehoz egy súlyoszlopot, amely az adatok sorait felfelé vagy lefelé súlyozásra készteti, ami egy osztály "fontosabbá" ására használható.

  • Az automatizált gépi tanulás által használt algoritmusok egyensúlytalanságot észlelnek, ha a kisebbségi osztályban lévő minták száma a többségi osztályban lévő minták számának 20%-ával egyenlő vagy kevesebb, ahol 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. Ezt követően az automatizált gépi tanulás futtat egy kísérletet az almintázatos adatokkal annak ellenőrzésére, hogy az osztálysúlyok használata orvosolná-e ezt a problémát, és javítja-e a teljesítményt. Ha ez a kísérlet jobb teljesítményt állapít meg, akkor ezt a gyógyszert alkalmazzák.

  • Használjon olyan teljesítménymetrikát, amely jobban kezeli a kiegyensúlyozatlan adatokat. A AUC_weighted például egy elsődleges metrika, amely az adott osztályt képviselő minták relatív száma alapján számítja ki az egyes osztályok hozzájárulását, így robusztusabb az egyensúlyhiány ellen.

Az alábbi technikák további lehetőségek az automatizált gépi tanuláson kívüli, kiegyensúlyozatlan adatok kezelésére.

  • Újraampálás akár az osztály egyensúlytalanságára is, akár a kisebb osztályok felfelé mintavételezésével, akár a nagyobb osztályok lemintázásával. Ezekhez a módszerekhez szakértelemre van szükség a feldolgozáshoz és az elemzéshez.

  • Tekintse át a kiegyensúlyozatlan adatok teljesítménymetrikáit. Az F1 pontszám például a pontosság és a visszahívás harmonikus középértéke. A pontosság az osztályozó pontosságát méri, ahol a nagyobb pontosság kevesebb hamis pozitívot jelez, míg a visszahívás az osztályozó teljességét méri, ahol a magasabb visszahívás kevesebb hamis negatívot jelez.

Következő lépések

Tekintse meg a példákat, és ismerje meg, hogyan hozhat létre modelleket automatizált gépi tanulással: