/ Najrýchlejšie k najbližšiemu susedovi s ľubovoľnou metrickou hodnotou? - algoritmus, matematika, diskrétna matematika, najbližší sused

Najrýchlejšie k najbližšiemu susedovi s ľubovoľnou metrikou? - algoritmus, matematika, diskrétna matematika, najbližší sused

Hosť s touto otázkou je "svojvoľnéak neviete, čo to je, je to len spôsob, ako merať vzdialenosť medzi bodmi (v "skutočnom" svete je 1-dimensinal vzdialenosť len absolútnou veľkosťou rozdielu medzi dvoma bodmi ).

Dosť z predlims. Snažím sa nájsť rýchly k najbližší algoritmus s nasledujúcimi vlastnosťami:

  • pracuje na ľubovoľnej metrike
  • ľahko implementovateľné
  • optimalizované na zistenie vzdialenosti množiny bodov na inú skupinu bodov

Wikipedia poskytuje zoznam algoritmov a prístupov, ale nič o implementácii.

UPDATE: Metrika je kosínová podobnosť, čo robí nie uspokojiť trojuholník. Zdá sa však, že môžem použiť "uhlové podobnosti" (podľa Wikipédie).

UPDATE: Použitie je spracovanie prirodzeného jazyka. "Vektory" sú "kontext" daného slova, reprezentované binárnymi vlastnosťami (napr. Názov dokumentu). Takže zatiaľ čo môže byť len niekoľko vlastností (práve teraz používam 3), každý vektor má svojvoľne veľký rozmer (v nadpise môže každý názov v databáze zodpovedať dimenzii vo vektore).

UPDATE: Pre zvedavých, implementujem tento algoritmus:

http://josquin.cs.depaul.edu/~mramezani/papers/IEEEIS.pdf

UPDATE: Algoritmus bude musieť nájsť najbližších susedov približne tucet bodov z približne 100 bodov. Priemerná dimenzia bude pravdepodobne veľmi veľká, povedzme 50, (naozaj neviem) A áno, zaujímam sa o algoritmus, nie o knižnicu. A áno, odhady sú pravdepodobne dosť dobré.

odpovede:

1 pre odpoveď č. 1

Chcel by som vám poradiť, aby ste chodili na lokalitu citlivéhash (LSH), ktorý je v súčasnosti v trende. Znižuje rozmernosť vysokorozmerných údajov, ale nie som si istý, či vaša dimenzia bude s týmto algoritmom dobre fungovať. Pozrite si Wikipédiu strana pre viac.

Môžete použiť vlastnú metriku, ale vo všeobecnosti to môžete robiť v mnohých algoritmoch. Dúfam, že to pomôže.

Mohli by ste ísť na RKD stromy, lesy z nich, ale možno je to príliš veľa.