Memlékszel a No Free Lunch tételre? Nem, ez (még) nem az ételekről szól. De ha éhes vagy, egyél valamit, mielőtt elolvasod ezt a bejegyzést – nem akarom, hogy összenyálazd a billentyűzetedet.

Emlékeztetlek – egyetlen algoritmus sem optimális az összes lehetséges helyzet halmazán. A gépi tanulási algoritmusok finom eszközök, amelyeket a problémakészlet alapján hangolunk, különösen a felügyelt gépi tanulásban.

Most megnézzük, hogyan működnek a népszerű osztályozási algoritmusok, amelyek segítenek nekünk például abban, hogy kiválasszuk és szétválogassuk a csodálatos, lédús paradicsomokat.

Hogyan működik az osztályozás

Minden nap megjósoljuk, hogy egy dolog egy adott osztályba sorolható-e. Hogy egy példát mondjak, az osztályozás segít nekünk döntést hozni, amikor paradicsomot választunk a szupermarketben (“zöld”, “tökéletes”, “romlott”). A gépi tanulás kifejezéssel élve, minden egyes paradicsomhoz, amelyet a kezünkben tartunk, hozzárendelünk egy-egy osztály címkéjét.

A paradicsomszedési verseny (egyesek osztályozási modellnek neveznék) hatékonysága az eredmények pontosságától függ. Minél gyakrabban megyünk el magunk a szupermarketbe (ahelyett, hogy a szüleinket vagy a párunkat küldenénk), annál jobbak leszünk a friss és finom paradicsomok kiválasztásában.

A számítógépek is ugyanilyenek! Ahhoz, hogy egy osztályozási modell megtanulja pontosan megjósolni az eredményeket, sok gyakorló példára van szüksége.

4 fajta osztályozás

4 fajta osztályozási feladat a gépi tanulásban

Bináris

A bináris osztályozás azt jelenti, hogy két osztállyal kell dolgozni, amelyek igaz és hamis módon viszonyulnak egymáshoz. Képzeld el, hogy előtted van egy hatalmas füles doboz sárga és piros paradicsommal. De a flancos olasz tészta receptje azt mondja, hogy csak a pirosra van szükséged.

Mit teszel? Nyilvánvalóan címkekódolást használsz, és ebben az esetben 1-et rendelsz a “piroshoz” és 0-t a “nem piroshoz”. A paradicsomok szortírozása még soha nem volt ilyen egyszerű.

Bináris osztályozás

Multiosztályozás

Mit látsz ezen a képen?

paradicsom

Piros marhaszegy paradicsom. Cseresznyeparadicsom. Koktélparadicsom. Örökzöld paradicsom.

Itt nincs fekete és fehér, “normális” és “abnormális”, mint a bináris osztályozásban. Mindenféle csodálatos zöldséget (vagy bogyót) szívesen látunk az asztalunkon.

Azt valószínűleg nem tudja, ha nem rajong a paradicsomos főzésért, hogy nem minden paradicsom egyformán jó ugyanahhoz az ételhez. A vörös marhaparadicsom tökéletes a salsához, de nem savanyítjuk be. A cseresznyeparadicsom salátákhoz jó, de tésztához nem. Fontos tehát, hogy tudjuk, mivel van dolgunk.

A többosztályos osztályozás segít nekünk abban, hogy kiválogassuk az összes paradicsomot a dobozból, függetlenül attól, hogy hány osztály van.

Multiclass classification

Multi-label

A többosztályos osztályozást akkor alkalmazzuk, ha egy input több osztályba is tartozhat, mint például egy személy, aki két ország állampolgára.

Az ilyen típusú osztályozáshoz olyan modellt kell készítenünk, amely több kimenetet is képes megjósolni.

Fényképeken lévő tárgyak felismeréséhez többcímkés osztályozásra van szükségünk. Például, amikor nem csak paradicsomot, hanem különböző másfajta tárgyakat is azonosítani kell ugyanazon a képen: almát, cukkinit, hagymát stb.

Fontos megjegyzés minden paradicsomkedvelőnek: Nem lehet csak úgy venni egy bináris vagy többosztályos osztályozó algoritmust, és közvetlenül alkalmazni a többcímkés osztályozásra. De használhatod:

Multi-label osztályozás

Megpróbálhatsz külön algoritmust használni minden osztályra, hogy megjósold az egyes kategóriák címkéit.

Imbalanced

Imbalanced osztályozással akkor dolgozunk, ha az egyes osztályokban a példák egyenlőtlenül vannak elosztva.

Imbalanced osztályozást használnak csalásfelismerő szoftverekben és orvosi diagnosztikában. A ritka és kiváló, biológiailag termesztett paradicsomok megtalálása, amelyeket véletlenül kiöntöttek egy nagy halom szupermarket paradicsom között, egy példa a kiegyensúlyozatlan osztályozásra, amelyet Gints, a fantasztikus szerkesztőnk ajánlott fel (ha van más példád is, tweeteld el nekünk).

Kiegyensúlyozatlan osztályozás

A gépi tanulás mestere fantasztikus blogját ajánlom figyelmedbe, ahol a különböző osztályozási típusokról olvashatsz, és sok más gépi tanulási anyagot tanulmányozhatsz.

Lépések az osztályozási modell építéséhez

Mihelyt tudod, hogy milyen osztályozási feladattal állsz szemben, itt az ideje a modell építésének.

  1. Válasszuk ki az osztályozót. Ki kell választania az ML algoritmusok közül egyet, amelyet alkalmazni fog az adataira.
  2. Tréningelje azt. El kell készítenie egy képzési adathalmazt címkézett eredményekkel (minél több példa, annál jobb).
  3. Prediktálja a kimenetet. Használja a modellt, hogy néhány eredményt kapjon.
  4. Értékesítse az osztályozó modellt. Az eredmények ellenőrzéséhez érdemes egy validációs adathalmazt készíteni, amelyet nem használtunk a képzés során.

Most nézzük meg a legelterjedtebb osztályozó algoritmusokat.

A legnépszerűbb osztályozó algoritmusok

gyakori osztályozó algoritmusok

A Scikit-Learn az egyik legjobb ML könyvtár Pythonhoz. Ha tehát modellt szeretnél építeni, nézd meg. Hozzáférést biztosít a széles körben használt osztályozókhoz.

Logisztikus regresszió

A logisztikus regressziót bináris osztályozásra használják.

Ez az algoritmus egy logisztikus függvényt használ egy kimenetel bekövetkezésének valószínűségének modellezésére. Akkor a leghasznosabb, ha azt szeretnénk megérteni, hogy több független változó hogyan befolyásolja egyetlen kimeneti változót.

Példakérdés:

A logisztikus regressziónak vannak korlátai; minden prediktornak függetlennek kell lennie, és nem lehetnek hiányzó értékek. Ez az algoritmus kudarcot vall, ha nincs az értékek lineáris szétválasztása.

Naive Bayes

A Naive Bayes algoritmus a Bayes-tételen alapul. Ezt az algoritmust bináris és többosztályos osztályozásra alkalmazhatjuk, és a korábbi eredmények alapján osztályozhatjuk az adatokat.

Példa feladat: El kell különítenem a rothadt paradicsomokat a frissektől a kinézetük alapján.

A Naive Bayes előnyei közé tartozik, hogy ezek az algoritmusok gyorsan felépíthetők: nem igényelnek kiterjedt gyakorlóhalmazt, és más módszerekhez képest is gyorsak. Mivel azonban a Bayes-algoritmusok teljesítménye az erős feltételezések pontosságától függ, az eredmények potenciálisan nagyon rosszul alakulhatnak.

A Bayes-tétel segítségével meg lehet mondani, hogy egy esemény bekövetkezése hogyan befolyásolja egy másik esemény valószínűségét.

k-Nearest Neighbors

kNN a “k-nearest neighbor” rövidítése, és az egyik legegyszerűbb osztályozási algoritmus.

Az algoritmus az objektumokat ahhoz az osztályhoz rendeli, amelyhez a többdimenziós jellemzőtérben a legtöbb legközelebbi szomszédja tartozik. A k szám a jellemzőtérben lévő szomszédos objektumok száma, amelyeket összehasonlítanak az osztályozott objektummal.

Példa: A paradicsom faját a hozzá hasonló paradicsomfajokból akarom megjósolni.

A bemenetek k legközelebbi szomszédok segítségével történő osztályozásához egy sor műveletet kell végrehajtani:

  • Kiszámítjuk a távolságot a gyakorlóminta minden egyes objektumától;
  • Kiválasztjuk a gyakorlóminta k objektumát, amelyek távolsága minimális;
  • Az osztályozandó objektum osztálya az az osztály, amely a k legközelebbi szomszédok között a leggyakrabban fordul elő.

Döntési fa

A döntési fák valószínűleg a legintuitívabb módja a döntéshozatali folyamat vizualizálásának. A bemenet osztálycímkéjének megjóslásához a fa gyökerétől indulunk. A lehetőségteret kisebb részhalmazokra kell felosztanunk az egyes csomópontokhoz tartozó döntési szabály alapján.

Itt egy példa:

döntési fa példa

A lehetőségteret addig bontjuk fel, amíg el nem érjük a fa alját. Minden döntési csomópontnak két vagy több elágazása van. A fenti modellben a levelek tartalmazzák a döntést arról, hogy egy személy alkalmas-e vagy sem.

Példa: Van egy kosárnyi különböző paradicsomod, és ki akarod választani a megfelelőt az ételed feljavításához.

A döntési fák típusai

A fáknak két típusa van. Ezek a célváltozó jellegén alapulnak:

  • Kategorikus változó döntési fa.
  • Folyamatos változó döntési fa.

A döntési fák tehát mind numerikus, mind kategorikus adatokkal elég jól működnek. A döntési fák használatának másik előnye, hogy kevés adatelőkészítést igényelnek.

A döntési fák azonban túl bonyolulttá válhatnak, ami túlillesztéshez vezet. Ezen algoritmusok jelentős hátránya, hogy a képzési adatok kis eltérései instabillá teszik őket, és teljesen új fákat eredményeznek.

Random Forest

A random forest osztályozók több különböző döntési fát használnak az adathalmazok különböző részmintáin. Az átlagos eredményt tekintik a modell előrejelzésének, ami általánosságban javítja a modell előrejelzési pontosságát és küzd a túlillesztés ellen.

Ezek következtében a véletlen erdők összetett gépi tanulási problémák megoldására használhatók anélkül, hogy az eredmények pontossága sérülne. Mindazonáltal több időt igényelnek az előrejelzés kialakításához, és nagyobb kihívást jelent a megvalósításuk.

A Towards Data Science blogon bővebben olvashat a véletlen erdők működéséről.

Támogató vektorgép

A támogató vektorgépek az adatpontok osztályozásához egy hipersíkot használnak egy N-dimenziós térben. N itt a jellemzők száma. Ez alapvetően bármilyen szám lehet, de minél nagyobb, annál nehezebb lesz modellt építeni.

A hipersíkot elképzelhetjük egy egyenesként (2 dimenziós tér esetén). Amint átlépjük a 3 dimenziós teret, nehézzé válik számunkra a modell vizualizálása.

A hipersík különböző oldalaira eső adatpontokat különböző osztályokhoz rendeljük.

Példa: Egy automatikus rendszer, amely a paradicsomokat alakjuk, súlyuk és színük alapján sorolja.

Az általunk választott hipersík közvetlenül befolyásolja az eredmények pontosságát. Tehát azt a síkot keressük, amely a legnagyobb távolsággal rendelkezik a két osztály adatpontjai között.

Az SVM-ek minimális számítási teljesítmény mellett pontos eredményeket mutatnak, ha sok jellemzővel rendelkezünk.

Summázás

Mint láthatjuk, a gépi tanulás olyan egyszerű lehet, mint a zöldségek szedése a boltban. De sok részletet kell szem előtt tartanod, ha nem akarod elrontani. Maradjon velünk a blogunkon, a Twitteren és a Mediumon, ha még több klassz olvasmányt szeretne olvasni a gépi tanulásról.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.