Az adattudomány tanulása: 10. nap – Osztályozás, K-legközelebbi szomszédok és keresztellenőrzés

Korábbi bejegyzéseinkben a regresszióval foglalkoztunk. Az osztályozás, a regresszió és a hasonlóság 3 alapvető módszer a hasznos ismeretek kibontására az adatokból. Ma kitérünk a besorolásra, a legközelebbi szomszédokra és a keresztellenőrzésre.

osztályozás

Alapvetően a besorolás az egyéneken keresztül egy a csoportba sorolja a jellemzők reprezentációs kísérleteit. A példában az X tengely egy jellemzőnek nevezett tulajdonság, az Y tengely pedig a jellemzőnek nevezett tulajdonság. A középső zöld vonal az osztályok közötti döntési határt képviseli. Egy besorolásnak kétnél több osztálya lehet. Tehát lehetnek olyan esetek, amikor sok a döntési határvonal. A pontozott pontok az adatokat, a pontok színe az osztályt képviselik. Ebben az esetben a piros pontozott pontok egy osztályba sorolt ​​pontokat, a kék pontozott pontok pedig egy másik osztályba sorolt ​​pontokat jelentenek.

Az adatok osztályozásának két módja van, felügyelt és felügyelet nélküli. Az alapvető különbség az osztálydefiníció, amelyre a következő szakasz foglalkozik.

Felügyelt

Felügyelet alatt van olyan adatok, amelyek már rendelkeznek címkékkel. Előrejelzéseket fog készíteni az új adatpontokról a már felcímkézett adatok alapján. Itt van a példa. Tegyük fel, hogy 10000 képünk van, mindegyik állati képből áll. Most osztályoznunk kell őket, hogy egy állat tehén, tigris, csirke stb. A már meghatározott állatok neve. Ezt nevezzük felügyelt osztályozásnak. Példák a felügyeltekre: kNN, SVM, döntési fák, véletlenszerű erdők, zsákolás, erősítés stb.

Felügyelet nélküli

Fordítva, felügyelet nélkül, még nem címkézett adatokkal. A felügyelet nélküli osztályozás fő célja, hogy mintákat találjon az adatokban. Ugyanazt a példát fogjuk használni, mint az előző szakasz. Tegyük fel, hogy 10000 képünk van, mindegyik állati képből áll. De nem definiáltuk az állat nevét. Tehát hagyjuk, hogy az adatok és az algoritmus döntsenek a címkékről. Talán emlősökbe, hüllőkbe stb. Vagy tehénbe, tigrisbe, csirkébe sorolhatja. A lényeg az, hogy nem tudjuk meghatározni az osztályokat, és hagynunk kell, hogy az algoritmus és az adatok döntsenek erről. Ezt nevezzük felügyelet nélküli osztályozásnak. A felügyelet nélküli példák közé tartozik a PCA, az MDS, a fürtözés stb.

k-Legközelebbi szomszéd (kNN)

Kezdőként az osztályozás egyik legegyszerűbb módjáról fogunk beszélni, amelyet Legközelebbi szomszéd osztályozónak nevezünk. Alapvetően egy adatpont osztályát jósolja k legközelebbi szomszédok többségi szavazata alapján. Ez az algoritmus a felügyelt tanulás részhalmaza.

Néhányan elgondolkodhatnak azon, hogy mi a k ​​értéke? k vagy más néven hiperparaméter az a legközelebbi szomszéd száma, amelyet egy adatpontnak figyelembe kell vennie, hogy mely osztályba sorolja magát. Egy dologra emlékezni kell, hogy a k értékének páratlan számnak kell lennie, mert nem akarunk itt döntetlent alkotni. Ha páratlan számot használunk k-ként, mindig lesz nyertes. Lássunk egy eredmény-összehasonlítást a különböző k értékek között.

Ha csak k = 1-et használunk, akkor ha létezik kiugró érték, akkor probléma lesz az osztályozásban. A k érték növelésével megszabadulhatunk tőle. De legyen óvatos a k érték növelésekor. Mint láthatjuk, ha a k túl nagy (összehasonlíthatjuk 3, 5 és 9 között), akkor a határ túl sima lett, és ez túlillesztéshez vezethet. Szóval, hogyan lehet kiválasztani az ideális k értéket?

Érvényesítés

Így van, futtathatjuk az osztályozónk érvényesítését. Mielőtt lefuttatnánk az érvényesítést, győződjön meg arról, hogy az adatkészletünkben két részhalmaz szerepel, az úgynevezett edzési adatok és tesztadatok. Ha az adatkészlet nem tartalmazza ezt a két részhalmazt, akkor rendben van. A jelenlegi adatkészletet mindig önmagunkkal oszthatjuk fel. Általában az adatkészletet 70: 30-ra vagy 80: 20-ra osztjuk fel az edzés és a tesztadatok arányára. A képzési adatokat vonatosztályozóként, a tesztadatokat pedig teljesítménymérésként használják. A létrehozott modell után kiválasztjuk a legkisebb teszthibával rendelkező k-t.

Keresztellenőrzés

A normál validációs technika problémája, hogy csak egyszer optimalizáljuk a modellt. Egy teljes edzéskészlet egyszerre történő használata megakadályozza a modell további optimalizálását. A k értéke valószínűleg nem optimális, és nem általánosítható a jövőbeni tesztadatokra. Az érvényesítést egy másik szintre emelhetjük, ha az edzésadatokat kisebb halmazokra osztjuk, amelyeket hajtásoknak neveztünk. Ezt követően ki kell választania az egyik hajtást, amelyet érvényesítési adatokként kell használni. Magát az érvényesítési adatokat használják a hiperparaméterek optimalizálására.

A keresztellenőrzés az összes hajtáson keresztüli iterációból áll. A fenti példában a vonat adatait 5-szeresekre osztjuk (ezt ötszörös keresztellenőrzésnek is nevezik). Az első iterációban az 5. hajtást választjuk validálási adatokként. A fennmaradó redőket edzésre használják. A második iteráció során a 4-es hajtást fogjuk használni validációs adatokként. A fennmaradó redőket edzésre használják. Ez az iteráció mindaddig folytatódik, amíg az egyes hajtások már nem használtak hitelesítési adatokat. Ha végzett, akkor azoknak a paramétereknek az átlagát vesszük, amelyek a legjobb teljesítményt nyújtják az érvényesítési adatokon. Ennek a folyamatnak az eredménye a végső hiperparamétereket eredményezi.

Néhányan elgondolkodhatnak azon, hogyan válasszák ki a megfelelő számú hajtást. Itt nincs mágikus szám, az edzéskészlet méretétől függően mindig kiválaszthatja a legmegfelelőbb hajtogatások számát. Mégis, az emberek legtöbbször 5 vagy 10 hajtással kezdik.

Fontos megjegyezni, hogy a tesztadatok értékesek. A tesztadatokat csak egyszer szabad felhasználni utoljára, miután megkaptuk a legoptimálisabb hiperparamétereket. Ez azért fontos, mert ha a tesztadatokat felhasználjuk a keresztellenőrzésben, akkor az eredmények nem általánosíthatók. Így befolyásolhatja a modell teljesítményét a jövőben nem látható adatokon.

Összecsomagolás

Ma lefedtük az osztályozást, a kNN-t és a keresztellenőrzést is. Első lépésként a kNN használatának megtanulása lenne a legjobb megoldás, mivel ez az adatok osztályozásának egyik legegyszerűbb módja. Mit gondol a felügyelet nélküli osztályozás legegyszerűbb módjáról? Mondja meg nekem az alábbi válaszban, mondja el véleményét erről a történetről, vagy akár javaslatot tegyen nekem. Köszönjük, hogy elolvastad, és remélem, hogy hasznos lesz számodra.