A bevezető gépi tanulási algoritmusok sorozatának 1. része
Ha ismeri a gépi tanulást és az alapvető algoritmusokat, használt a területen, akkor valószínűleg hallott a k legközelebbi szomszédok algoritmusáról vagy a KNN-ről. Ez az algoritmus az egyik legegyszerűbb technika, amelyet a gépi tanulásban használnak. Ezt a módszert az iparban sokan kedvelik, a könnyű használat és az alacsony számítási idő miatt.
Mi az a KNN? A KNN olyan modell, amely az adatpontokat a hozzá leginkább hasonlító pontok alapján osztályozza. A tesztadatok alapján “képzett találgatásokat” tesz arra, hogy minek kell osztályoznia egy osztályozatlan pontot.
Előnyök:
- Könnyen használható.
- Gyors számítási idő.
- Nem feltételez az adatokról.
Hátrányok:
- A pontosság az adatok minőségétől függ adatok.
- Meg kell találnia az optimális k értéket (a legközelebbi szomszédok száma).
- Gyenge az adatpontok besorolása egy határba, ahol így vagy úgy besorolhatók.
A KNN olyan algoritmus, amelyet egyszerre tekintenek nem paraméteresnek, és példának számít a lustaságra tanulás. Mit jelent pontosan ez a két kifejezés?
- A nem parametrikus azt jelenti, hogy nem feltételez. A modell teljes egészében a számára megadott adatokból áll, és nem feltételezi, hogy a szerkezete normális.
- A lusta tanulás azt jelenti, hogy az algoritmus nem tesz ge-t neralizációk. Ez azt jelenti, hogy kevés módszer vesz részt a módszer alkalmazásakor. Emiatt az összes edzésadatot a KNN használata során is tesztelésre használják.
Hol kell használni a KNN-t
A KNN-t gyakran használják egyszerű ajánlási rendszerekben, image az elismerési technológia és a döntéshozatali modellek. Az olyan algoritmusok, mint a Netflix vagy az Amazon, különböző filmek megtekintésére vagy megvásárolható könyvek ajánlására szolgálnak. A Netflix még a Netflix Prize versenyt is elindította, egymillió dollárt ítélve oda a csapatnak, amely a legpontosabb ajánlási algoritmust készítette!
Lehet, hogy kíváncsi vagy: “De hogyan csinálják ezt a cégek?” Nos, ezek a cégek a KNN-t alkalmazzák egy olyan adatkészletre, amelyet a nézett filmekről vagy a weboldalukon vásárolt könyvekről gyűjtöttek össze. Ezek a vállalatok ezt követően megadják a rendelkezésre álló ügyféladatokat, és összehasonlítják azokat más ügyfelekkel, akik hasonló filmeket néztek vagy hasonló könyveket vásárolt. Ezt az adatpontot a KNN használatával a múltjuk alapján egy bizonyos profilnak minősítik. Az ajánlott filmek és könyvek attól függenek, hogy az algoritmus hogyan osztályozza az adatpontot.
A fenti kép azt ábrázolja, hogyan működik a KNN, amikor megpróbál egy adott adathalmaz alapján osztályozni egy adatpontot. Összehasonlítják a legközelebbi pontokkal és az alapján osztályozzák, hogy mely pontokhoz van a legközelebb és a legjobban hasonlít. Itt láthatja, hogy az Xj pontot W1 (piros) vagy W3 (zöld) kategóriába sorolják-e az egyes pontcsoportoktól való távolsága alapján.
A Ma tematika a KNN mögött
Csakúgy, mint szinte minden más, a KNN is működik az általa mélyen gyökerező matematikai elméletek miatt. A KNN megvalósításakor az első lépés az adatpontok jellemző vektorokká vagy matematikai értékekké alakítása. Ezután az algoritmus úgy működik, hogy megtalálja e pontok matematikai értékei közötti távolságot. A távolság megtalálásának leggyakoribb módja az euklideszi távolság, amint az alább látható.
A KNN futtatja ezt a képletet az egyes adatpontok és a tesztadatok közötti távolság kiszámításához. Ezután megállapítja annak valószínűségét, hogy ezek a pontok hasonlóak legyenek a tesztadatokhoz, és az alapján osztályozza, hogy mely pontokon osztoznak a legnagyobb valószínűséggel.
A képlet megjelenítéséhez ez így néz ki:
Következtetés
Most már ismeri az egyik legalapvetőbb gépi tanulási algoritmus alapjait .Remek kiindulópont, amikor először megtanulják a különböző adatkészletekre épülő modelleket. Ha sok különböző ponttal és pontos információval rendelkező adatkészlete van, akkor ez remek hely a gépi tanulás felfedezésére a KNN segítségével.
Ha ezt az algoritmust kívánja használni, tartsa szem előtt ezt a három pontot:
- Először keressen egy olyan adatkészletet, amellyel könnyű lesz dolgozni, ideális esetben sok különböző ponttal és címkézett adattal.
- Másodszor derítse ki, melyik nyelv lesz legkönnyebben használható a probléma megoldására. Leginkább a KNN használatát ismerem R-ben, de a Python is népszerű nyelv a gépi tanulással foglalkozó szakemberek körében.
- Harmadszor végezze el a kutatását. Fontos, hogy megtanulja az algoritmus használatának helyes gyakorlatát, hogy az adatkészletéből a legpontosabb eredményeket találja meg.
Különböző tanulmányokat végeztek az algoritmus továbbfejlesztésének módjáról. Ezeknek a tanulmányoknak az a célja, hogy ezt úgy alakítsák ki, hogy a kategóriákat másképp tudja mérlegelni a pontosabb osztályozás érdekében. Ezeknek a kategóriáknak a súlyozása a távolság kiszámításának módjától függően változik.
Összefoglalva, ez egy alapvető gépi tanulási algoritmus, amely megbízható számos okból, például a könnyű használat és a gyors számítási idő miatt. Ez egy jó algoritmus, amelyet a gépi tanulás világának felfedezéséhez kell használni, de még mindig van mit javítani és módosítani.