Mi a túlterhelés a gépi tanulásban, és hogyan lehet ezt elkerülni?



Ez a cikk példákat és néhány technikát tárgyal a gépi tanulás túlterheléséről a gépi tanulási modellben.

A gépi tanulási modell felépítése nem csak az adatok betáplálásáról szól, sok olyan hiányosság van, amely befolyásolja bármely modell pontosságát. Túlterhelés a gépi tanulás egyik olyan hiányossága, amely gátolja a modell pontosságát és teljesítményét. Ez a cikk a következő témákkal foglalkozik:

Mi a túlterhelés a gépi tanulásban?

Azt mondják, hogy egy statisztikai modell túlterhelt, amikor a szükségesnél sokkal több adatot szolgáltatunk neki. Annak érdekében, hogy relatíve legyen, képzelje el, hogy megpróbál beilleszkedni a túlméretes ruházatba.





Amikor egy modell több adatot tartalmaz, mint amire valójában szüksége van, elkezdi megfogni a zajos adatokat és az adatok pontatlan értékeit. Ennek eredményeként csökken a modell hatékonysága és pontossága. Vessünk egy pillantást a túlillesztés néhány példájára, hogy megértsük, valójában hogyan történik.



Példák a túlterhelésre

1. példa

Ha példát veszünk az egyszerűre lineáris regresszió , az adatok kiképzése a legalkalmasabb vonal és az adatpontok közötti minimális költség megállapításáról szól. Számos ismétlésen megy keresztül, hogy kiderüljön az optimális legjobb illeszkedés, minimalizálva a költségeket. Itt jön a képbe a túlfeszítés.



A fenti képen látható vonal nagyon hatékony eredményt adhat egy új adatpont számára. Túlillesztés esetén, amikor az oktatási algoritmust az adatkészleten futtatjuk, lehetővé tesszük a költségek csökkenését az egyes iterációs számokkal.

Ennek futtatása a túl hosszú idő csökkentett költséget jelent, de illeszkedik az adatsor zajos adataihoz is. Az eredmény úgy néz ki, mint az alábbi grafikonon.

Lehet, hogy hatékonyan néz ki, de nem igazán. Az olyan algoritmus fő célja, mint pl lineáris regresszió domináns trend megtalálása és az adatpontok ennek megfelelő illesztése. De ebben az esetben a vonal minden adatpontra illeszkedik, ami lényegtelen a modell hatékonysága szempontjából az új belépési adatpontok optimális eredményeinek előrejelzésében.

Vizsgáljunk meg egy leíróbb példát egy problémamegállapítás segítségével.

2. példa

Probléma nyilatkozat: Vegyük fontolóra, hogy meg akarjuk jósolni, hogy egy futballista megszerzi-e a nyereményjátékot az 1. szintű labdarúgóklubban a 2. szintű bajnokság jelenlegi teljesítménye alapján.

Most képzelje el, mi képezzük ki és illesztjük a modellt 10 000 ilyen kimenetelű játékossal. Amikor megpróbáljuk megjósolni az eredményt az eredeti adatsoron, tegyük fel, hogy 99% -os pontosságot kaptunk. De egy másik adathalmaz pontossága körülbelül 50 százalék. Ez azt jelenti, hogy a modell nem általánosít jól képzési és nem látott adatainkból.

Így néz ki a túlfeszítés. Nagyon gyakori probléma a gépi tanulásban, sőt az adattudományban is. Most értsük meg a jelet és a zajt.

Jel vs zaj

A prediktív modellezésben a jel az igazi mögöttes mintára utal, amely segíti a modellt az adatok megismerésében. Másrészt a zaj irreleváns és véletlenszerű adatok az adatkészletben. A zaj és a jel fogalmának megértéséhez vegyünk egy valós példát.

Tegyük fel, hogy a felnőttek körében szeretnénk modellezni az életkort és az írástudást. Ha a lakosság nagyon nagy részét mintavételezzük, akkor világos kapcsolatot találunk. Ez a jel, míg a zaj zavarja a jelet. Ha ugyanezt tesszük egy helyi lakossággal is, a kapcsolat sáros lesz. A kiugró értékek és a véletlenszerűség befolyásolják, például egy felnőtt korán ment iskolába, vagy néhány felnőtt nem engedhette meg magának az oktatást stb.

A gépi tanulás szempontjából a zajról és a jelről beszélve egy jó gépi tanulási algoritmus automatikusan elválasztja a jeleket a zajtól. Ha az algoritmus túl összetett vagy nem hatékony, akkor megtanulhatja a zajt is. Ezért a modell túlterhelése. Értsük meg a gépi tanulásban is az alulteljesítést.

Mi az alulteljesítés?

A túlillesztés elkerülése érdekében egy korábbi szakaszban leállíthatjuk a képzést. De ez ahhoz is vezethet, hogy a modell nem képes eléggé tanulni a képzési adatokból, és így nehezen tudja megragadni a domináns trendet. Ezt alulrepülésnek nevezik. Az eredmény megegyezik a túlterheléssel, az eredmény előrejelzésének hatástalanságával.

Most, hogy megértettük, mi is valójában a gépi tanulás alul- és túlillesztése, próbáljuk megérteni, hogyan fedezhetjük fel a túlillesztést a gépi tanulásban.

Hogyan lehet kimutatni a túlterhelést?

A túlzott felszerelés fő kihívása, hogy új adatokkal becsüljük meg modellünk teljesítményének pontosságát. Csak akkor tudnánk megbecsülni a pontosságot, ha ténylegesen teszteljük.

A probléma megoldása érdekében a kezdeti adatsort külön oktatási és tesztadatokra oszthatjuk fel. Ezzel a technikával valójában hozzávetőlegesen meg tudjuk becsülni, hogy modellünk mennyire fog jól teljesíteni az új adatokkal.

Értsük meg ezt egy példával, képzeljük el, hogy 90+ százalékos pontosságot kapunk az edzéskészleten és 50 százalékos pontosságot a tesztkészleten. Ezután automatikusan piros zászló lenne a modell számára.

A túlillesztés észlelésének másik módja egy leegyszerűsített modellel kell kezdeni, amely viszonyítási alapként szolgál.

Ezzel a megközelítéssel, ha bonyolultabb algoritmusokat próbál ki, akkor meg tudja érteni, hogy a kiegészítő komplexitás még megéri-e a modellt, vagy sem. Más néven Occam borotvatesztje , alapvetően a leegyszerűsített modellt választja összehasonlítható teljesítmény esetén két modell esetében. Bár a túlillesztés észlelése jó gyakorlat,de a túlillesztés megakadályozására is számos technika létezik. Vessünk egy pillantást arra, hogyan előzhetjük meg a gépi tanulás túlillesztését.

Hogyan lehet elkerülni a gépi tanulás túlterhelését?

Az alábbiakban felsorolhatunk néhány technikát a gépi tanulás túlterhelésének elkerülésére.

  1. Keresztértékelés

  2. Edzés több adattal

  3. Funkciók eltávolítása

  4. Korai leállítás

  5. Szabályozás

  6. Összeszerelés

1. Keresztellenőrzés

Az egyik leghatékonyabb tulajdonság a túlillesztés elkerülésére / megakadályozására a keresztellenőrzés. Ennek hátterében az az ötlet áll, hogy a kezdeti edzésadatokat felhasználva hozzon létre mini vonat-teszt-osztásokat, majd ezeket a felosztásokat használja a modell hangolásához.

A szokásos k-szeres validálás során az adatokat k-részhalmazokra osztják, amelyeket redőknek is neveznek. Ezt követően az algoritmust iteratív módon képezzük k-1 redőkön, miközben a többi hajtást használjuk tesztkészletként, más néven holdout hajtásként.

A keresztellenőrzés segít abban, hogy a hiperparamétereket csak az eredeti edzéskészlettel állítsuk be. Alapvetően külön tartja a tesztkészletet, mint valódi nem látott adatsort a végleges modell kiválasztásához. Ezért elkerülve a túlterhelést.

2. Edzés több adattal

Lehetséges, hogy ez a technika nem mindig működik, amint azt a fenti példában is tárgyaltuk, ahol a jelentős népességszámmal rendelkező képzés segíti a modellt. Alapvetően segít a modellnek abban, hogy jobban azonosítsa a jelet.

Bizonyos esetekben azonban a megnövekedett adatok azt is jelenthetik, hogy nagyobb zajt táplálnak a modellbe. Amikor több adattal képezzük a modellt, meg kell győződnünk arról, hogy az adatok tiszták, valamint véletlenszerűség és következetlenség mentesek.

3. A funkciók eltávolítása

Bár egyes algoritmusok automatikusan kiválasztják a funkciókat. Azok számára, akiknek nincs beépített szolgáltatásválasztása, manuálisan eltávolíthatunk néhány lényegtelen tulajdonságot a bemeneti jellemzőkből az általánosítás javítása érdekében.

Ennek egyik módja az a következtetés levonása, hogy egy funkció hogyan illeszkedik a modellbe. Ez meglehetősen hasonló a kód hibakereséséhez soronként.

Abban az esetben, ha egy jellemző nem képes megmagyarázni a modell relevanciáját, egyszerűen azonosíthatjuk ezeket a jellemzőket. Még néhány funkcióválasztási heurisztikát is használhatunk egy jó kiindulóponthoz.

4. Korai leállítás

Amikor a modell edzésen van, akkor az egyes iterációk alapján valóban meg tudja mérni, mennyire teljesít a modell. Megtehetjük ezt addig a pontig, amikor az iterációk javítják a modell teljesítményét. Ezt követően a modell túlterheli az edzésadatokat, mivel az általánosítás minden iteráció után gyengül.

Tehát alapvetően a korai leállítás azt jelenti, hogy le kell állítani a képzési folyamatot, mielőtt a modell áthaladna azon a ponton, ahol a modell kezdi túlilleszteni a képzési adatokat. Ezt a technikát leginkább a mély tanulás .

5. Szabályozás

Ez alapvetően azt jelenti, hogy mesterségesen egyszerűbbé kell kényszeríteni a modellt a technikák szélesebb skálájának felhasználásával. Teljesen attól függ, hogy milyen típusú tanulót használunk. Például metszhetjük a , használjon lemorzsolást a neurális hálózat vagy adjunk hozzá egy büntetési paramétert a költségfüggvényhez regresszióban.

A szabályozás gyakran hiperparaméter is. Ez azt jelenti, hogy keresztellenőrzéssel is hangolható.

6. Összeállítás

Ez a technika alapvetően egyesíti a különböző Machine Learning modellek jóslatait. Az összeállítás két leggyakoribb módját az alábbiakban soroljuk fel:

  • A csomagolás megkísérli csökkenteni a modellek túlterhelésének esélyét

  • A fellendítés megkísérli javítani az egyszerűbb modellek prediktív rugalmasságát

Annak ellenére, hogy mindkettő együttes módszer, a megközelítés teljesen ellentétes irányból indul. A táskázás bonyolult alapmodelleket használ, és megpróbálja elsimítani előrejelzéseiket, míg a növelés egyszerű alapmodelleket használ, és megpróbálja növelni annak összesített összetettségét.

Mi a fitness jósága?

A statisztikai modellezésben az illeszkedés jósága arra utal, hogy az eredmények vagy a megjósolt értékek mennyire egyeznek meg a megfigyelt vagy valódi értékekkel.Az a modell, amely a jel helyett zajt tanult, túl van felszerelve, mert illeszkedik az edzés adatkészletéhez, de rosszabb lesz az új adatsorral.

Az elfogultság és a variancia közötti kompromisszum

A variancia és az elfogultság egyaránt a predikciós hiba formája . A nagy szórás és a nagy torzítás közötti kompromisszum nagyon fontos fogalom a statisztikákban és a gépi tanulásban. Ez egy olyan koncepció, amely az összes felügyelt Machine Learning algoritmust érinti.

Az elfogultság-variancia kompromisszum nagyon jelentős hatással van bármely gépi tanulási modell összetettségének, alul- és túlillesztésének meghatározására.

mi a tostring módszer a java-ban

Elfogultság

Nem más, mint a megjósolt értékek és a modellben szereplő tényleges vagy valós értékek közötti különbség. A modell nem mindig könnyű meglehetősen összetett jelekből tanulni.

Képzeljük el, hogy a lineáris regresszió nemlineáris adatokat tartalmazó modellhez. Nem számít, mennyire hatékonyan tanulja meg a modell a megfigyeléseket, nem fogja hatékonyan modellezni a görbéket. Alulteljesítésnek nevezik.

Variancia

A modell érzékenységére utal az edzésadatok meghatározott halmazaira. A nagy szórású algoritmus furcsa modellt hoz létre, amely drasztikusan eltér a képzési halmaztól.

Képzeljünk el egy olyan algoritmust, amely illeszkedik a kötetlen és szuper-rugalmas modellhez, és tanulni fog az edzéskészlet túlterhelést okozó zajából is.

Bias-Variance kompromisszum

A Machine Learning algoritmust nem lehet egyszeri módszerként felfogni a modell képzésére, ehelyett ismétlődő folyamatról van szó.

Az alacsony variancia-nagy torzítású algoritmusok kevésbé összetettek, egyszerű és merev felépítésűek.

  • Képezni fogják azokat a modelleket, amelyek következetesek, de átlagosan pontatlanok.

  • Ezek lineáris vagy parametrikus algoritmusokat tartalmaznak, például regressziót, stb.

A nagy variancia-alacsony torzítású algoritmusok általában összetettebbek, rugalmas felépítésűek.

  • Képezni fogják azokat a modelleket, amelyek következetlenek, de átlagosan pontosak.

  • Ide tartoznak a nemlineáris vagy nem parametrikus algoritmusok, mint pl , stb.

Ezzel eljutottunk a cikk végéhez, ahol megtanultuk az Overfittinget a gépi tanulásban, és az elkerülésének különféle technikáiról. Remélem, tisztában van azzal, amit megosztott veled ebben az oktatóanyagban.

Ha relevánsnak találta ezt a cikket a „Túlterhelés a gépi tanulásban” témáról, nézze meg a egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóból álló hálózata van az egész világon.

Azért vagyunk itt, hogy segítsünk az utazás minden lépésében, és kidolgozzunk egy tananyagot, amelyet olyan hallgatók és szakemberek számára tervezünk, akik szeretnének . A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Python programozásában, és képezze mind az alapvető, mind a haladó Python fogalmakra a különféle megoldásokkal együtt tetszik , stb.

Ha bármilyen kérdése merülne fel, nyugodtan tegye fel minden kérdését a „Overfitting In Machine Learning” megjegyzés rovatban, és csapatunk örömmel válaszol.