K jelentése; EWSTranslate

  • K-jelentésű papír (PS) vagy K-jelentésű papír (PDF) olvasása .
  • Megjegyzés: nemrégiben hasonló eredményre hívták fel a figyelmünket, bár független. Munkánk előtt. A befejezéshez ezt is elolvashatja.
  • Papír olvasása X papírral (PS) vagy X papírral (PDF) .
  • Az X-és K-középértékek bináris formában történő megvalósítása már letölthető! Jelenleg vannak Linux, OS X és MS-Windows verziók. A forgalmazás a következő feltételek mellett történik:
    • A szoftver csak kísérleti és kutatási célokra használható.
    • A szoftvert nem terjesztheti senki, és nem adhatja el teljes egészében vagy részben egy nagyobb szoftvertermékben, sem forrás-, sem bináris formában.
    A letöltéshez egyszerűen töltse le a fájlt a letöltési részben .
  • Az X-eszközök forrás formájában állnak a kutatók rendelkezésére. A kód a C szabványban található, és függetlenül vagy egy MATLAB csomagon keresztül futtatható. A GCC (Linux, Cygwin, OS X, Solaris és FreeBSD) és az MSVC alatti fordítás ismert ++.
    • Az X eszközök mellett ez a kód a K-eszközök gyors támogatását is magában foglalja. Felgyorsítja a K-átlag alkalmazást, feltéve, hogy:
      • Adatai nem nagyobbak, mint 15 méret. Ha nem ez a helyzet, megszerezheti és használhatja a kódot, de ne számítson arra, hogy különösen gyors lesz. A kód a KD fákat nem használó K eszközök egyszerű megvalósítását tartalmazza.
      • Kiszámíthatja a két adatpont bármelyikének euklideszi távolságát, és ez a távolság valamilyen szempontból számodra jelentős. Ez valójában előfeltétele minden K-átlag algoritmusnak.
    • A hozzáféréshez töltse ki a jelen Licencszerződés hiányosságait, és küldje vissza őket a Dan Pellegnek (igen, van egy pluszjel, hagyja, és az előtte és utána lévő szavakat - működik). Alapvetően csak annyit mond, hogy nem használhatja ezt a kereskedelmi programot. Kérheti - már körülbelül 800 licencet adtunk a lehető legtöbb intézmény embereinek, és mindig örülök, hogy több felhasználóval rendelkezem. Az Ön e-mail címét nem adom el, nem bérlem, terjesztem és más módon nem használom más célra, mint hogy letöltési utasításokat adjak Önnek.
    • Van még egy K-levelezőlista és X-levelezőlista .
  • Az alábbiakban készítettünk egy "rajzfilm útmutatót" a K-jelentéshez:

Itt van egy 2 dimenziós adatkészlet, benne 8000 pont. 5 átlagot fogunk futtatni rajta (K-átlag K = 5-tel). A látott pontok mellett a K-átlag 5 véletlen pontot választott ki az osztályközpontok számára. Ezek a kék, zöld, piros, fekete és lila pontok. Figyeljük meg, hogy a jelenlegi esély szerint nem felelnek meg a Gaussiaknak (valójában rá kellett kényszerítenem a programot, hogy előállítsam ezeket az "első" kiindulópontokat - nagyon jó megkapni a "helyes" kiindulópontokat) .

Most a program adatpontokon megy keresztül, mindegyiket társítva a hozzá legközelebb eső osztályközponttal. A látott pontok a középpont szerint vannak színezve, amelyhez kapcsolódnak. Figyelje meg a kék-zöld szegélyt a jobb felső sarokban. Ez a (elméleti) pontvonal, amely egyenlő távolságra van a zöld és kék középpontoktól, meghatározza, hova tartoznak.

Az algoritmus következő lépése az osztályközpontok újrapozicionálása. A zöld középpont az összes zöld pont táblázatának közepére kerül, és így tovább. Mint kiderült, a zöld központ jobbra és felfelé mozog. A zöld központból kilépő fekete vonal ezt mutatja. Figyelje meg, hogy a fekete és a vörös középpontok mindegyike megosztja a bal oldali Gaussian felét (és a Gaussian körülbelül felét, amelyben vannak), ezért mindkettőre "kötelező" a baloldal. A lila középpont mozgása nagyon kicsi.

Kattintson a képre a nagyobb verzió megtekintéséhez. Megnyithatja egy új böngészőablakban, így folytathatja a szöveg olvasását.

A zöld-lila határ felfelé és jobbra mozog; azt mutatja, hogy a zöldnek csak "a pontjai" lesznek, a lilának pedig két Gaussa lesz. A bal alsó sarokban úgy tűnik, hogy a piros elvesztette a versenyt a feketével szemben (a fekete inkább balra van).

Piros jobbra ment. Így több lila pontot szerzett. Mivel minden lila pont jobbra van, ez a hatás fokozódik. Következésképpen a lila elveszíti a piros pontokat, és jobbra (és felfelé) is mozog.

Bevezetés a KD fákba

Ismét 8000 pontos adatkészletünk véletlenszerűen generálódott egy 5-Gauss-eloszlásból. Látnia kell az alapul szolgáló Gaussiakat. A kék szegély a "root" csomópontot jelöli. Minden pontra kiterjed.

Most látod a gyökér nagyszüleit. Mindegyikük szülőjének tagozata, ezúttal az X tengely mentén.

Itt található a KD fa első hét rétege, egy képen.

K-gyors elkészítés KD-fákkal

A fenti K-középértékű bemutató összes magyarázata igaz volt a hagyományos K-átlagokra. A „hagyományos” azt jelenti, hogy amikor kimegy, és eldönti, melyik központ áll a legközelebb az egyes pontokhoz (például meghatározza a színeket), akkor tegye a naivitást: mindegyik ponthoz kiszámolja az összes középpont távolságát és megtalálja a minimumot. A programunk akkor sokkal okosabb. Először építsen egy kd-fát a pontok számára (azt, amelyet korábban látott). Tegyük fel, hogy egy kd csomópont teljes egészében egy központ tulajdonában van. Ez azt jelenti, hogy a következő központi mozgásra hatással lesz a kd-csomópont pontjainak tömegközéppontja (és azok száma). Tehát az egyes kd csomópontok tömegközéppontjának előre kiszámításával és a csomópontban történő tárolásával sok mindent megtakaríthatunk. [annak bemutatása, hogy egy csomópont teljes egészében egy központ tulajdonában van, szintén hatékonyan elvégezhető - lásd a gyors papír K-jelentéseit].

Ez a fajta gyors számítás a színfalak mögött zajlott a bemutató során. Amikor kiderült, hogy egy csomópont teljes tulajdonosa egy központnak, a program megrajzolta a csomópont téglalapját. Vizualizációs célokból vonzotta a benne lévő pontokat is, de nincs szükség "igazi" programra. Csak nagyon kis számtani műveletszámot használjon annak a hatásnak a kiszámításához, amelyet egy bizonyos kd-csomópont gyakorol. Ez ellentétes a téglalap belsejében levő egyes pontok koordinátáinak összegzésével, vagyis a téglalap pontjainak számában lineáris költséggel.

Figyelje meg, milyen könnyű volt kiszámítani a fekete és a kék tömegközéppontokat. Fekete csak két csomót és további 50 további pontot vett fel. Kék 5 csomót vett igénybe, plusz körülbelül 10 pontot. Hasonlítsa össze ezt a hozzávetőlegesen 8000/5 = 1600 ponttal (és tegyen 5 távolságot mindegyikhez!).

Egy másik érdekes dolog, amit meg kell jegyezni, hogy ezek a téglalapok hogyan válnak kisebbé, amikor megközelítjük az elméleti határvonalat, amelyről korábban beszéltünk. Kövesse a piros-lila szegélyt. Ahogy közeledünk ehhez, egyre nehezebb, ha a nagy, kövér csomókat teljes egészében vörös vagy lila tartja. Ha belegondolunk, akkor nem lehetnek teljes egészében egyetlen központ tulajdonában sem, ha ez a határ metszi őket. Tehát, minél közelebb kerülünk a határhoz, annál kisebbek a téglalapok. És nagyon sok egyedi pont van a határ közelében.

Ez az anyag a Nemzeti Tudományos Alapítvány 0121671 számú támogatásával támogatott munkán alapul.