K-legközelebbi szomszédok (KNN) algoritmusa a gépi tanuláshoz

Madison Schott

Követés

2019. április 22. · 5 perc olvasás

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.

Write a Comment

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük