1 / 24

Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK

Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK. 7. Metrické přístupové metody (MAM) 2 . část – maticov é a statické metody , D-index. Osnova. maticové MAM AESA, LAESA statické MAM gh-strom GNAT vp-strom mvp-strom SAT metrické hašování – D-index

ina
Download Presentation

Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vyhledávání v multimediálních databázíchTomáš SkopalKSI MFF UK 7.Metrické přístupové metody (MAM)2. část – maticové a statické metody, D-index

  2. Osnova • maticové MAM • AESA, LAESA • statické MAM • gh-strom • GNAT • vp-strom • mvp-strom • SAT • metrické hašování – D-index • metody volby globálních pivotů

  3. AESA/LAESA (1) • (Linear) Approximating and Eliminating Search Algorithm • volba globálních pivotů • u AESA je počet pivotů roven |S| • tj. při přidání objektu do S vzroste i počet pivotů • u LAESA se vybere konstantnípočet pivotů k<|S| • při přidání objektu do S se pivoty nemění • konstrukce matice vzdáleností (index) od pivotů k objektům v S • AESA– časová i prostorová složitost O(n2), po přidání nového objektu O do S (což je taky pivot) je potřeba do matice přidat a spočítat sloupec vzdáleností od O ke všem ostatním objektům • LAESA – časová i prostorová složitost O(kn)

  4. AESA/LAESA (2) • úzká spojitost s kontraktivní pivot-based metodou • matice vzdáleností = mapování do vektorového prostoru dimenze k • při dotazování se využívá L metrika (v kombinaci s původní metrikou; to navíc dovoluje implementovat i kNN dotazy)

  5. AESA/LAESA (2) • původně určeno pro NN dotazy • AESA – průměrná složitost vyhledání je O(1) – experimentálně • LAESA – průměrná složitost vyhledání je k + O(1)– experiment. • lze modifikovat i pro kNN a rozsahové dotazy • pro kNN se udržuje k kandidátů • implementace rozsahového dotazu je triviální – přímé odfiltrování objektů podle L metriky (kontraktivní vzdálenosti) a dofiltrování původní metrikoud • optimalizováno pouze pro minimalizaci počtu aplikací původní metriky • tj. database „un-friendly“, prochází se sekvenčně celá matice

  6. NN dotaz - AESA • podobný algoritmus jako hledání nejbližšího souseda v Ai u kontraktivního SparseMap mapování (viz předchozí přednáška) • myšlenka: počítají se průběžně hodnoty mapovaného vektoru q pro dotaz Q a zároveň se filtrují irelevantní objekty (resp. příslušné vektory) Algoritmus: • (inicializace) Mějme NN dotaz Q aneprázdnou množinu pivotů S’ = S. Aktuální vzdálenost k nejbližšímu sousedovi Onn nechť je dmin = . • Náhodně se vybere pivot PS’ • Spočítá se vzdálenost d(Q, P), tj. nějaká souřadnice mapovaného vektoru q. Pokud dmin> d(Q, P), pak dmin := d(Q, Onn) a Onn := P.S’ := S’ – {P}. • (eliminace) Z S se odfiltrují objektyOi, pro jejichž vektory platí L(q, oi) > dmin.Uoi se uvažují pouze ty souřadnice, které už byly vypočítány i pro q. • (aproximace)Pokud je S’ již prázdná, NN byl nalezen (je to Onn) a algoritmus končí, jinakse nalezne ten pivot PS’, jehož vektor p má nejmenší L(q, p). • Opakuje se od kroku 3, až než se odfiltrují všechny objekty z S(tj. zbude jediný kandidátOnn – pravý nejbližší soused)

  7. NN dotaz - LAESA • lze implementovat dvěma způsoby • jednofázově – podobně jako AESA • souřadnice mapovaného dotazového objektu se počítají postupně a zároveň se filtruje • výhodné, když k je velké, resp. srovnatelné s |S| • modifikace oproti AESA je v tom, že pivotůje méně – S’S– a tudíž po vyčerpání všech pivotů se zbytek neodfiltrovaných objektů zpracuje dvoufázovým způsobem (kde odpadá první krok, protože vektor q už je celýspočítaný) • dvoufázově • spočítá se nejdříve celý vektor q mapovaného dotazového objektu Q • objekty OiSse setřídí vzestupně podle vzdáleností L(q, oi) • v tomto pořadí se počítá se d(Q, Oi), podle toho se aktualizuje kandidát Onn na nejbližšího souseda a jakmile d(Q, Onn) < L(q, oi), filtrování končí (neexistuje žádný bližší kandidát než Onn) - tj.Onn je výsledek

  8. AESA/LAESA - zobecnění pro kNN • u algoritmu AESA se v kroku 5 (aproximace) neuvažuje pouze nejbližší vektor, ale k nejbližších vektorů – dmin je potom nastaveno na vzdálenost dmin := min(dmin, dk) • dk je maximum ze vzdáleností d(Q, Pi), kde Pi jsou pivoty příslušné těm k vektorům • u dvoufázového algoritmu LAESA se v kroku 3 aktualizuje k kandidátů (místo jednoho) a filtruje se podle toho nejvzdálenějšího (nejvzdálenějšího podle d) • srovnání jednofázového a dvoufázového algoritmu • jednofázový alg. je výhodný pokud k je vysoké (v krajním případě k = |S|, tj. případ AESA), tj. dvoufázový algoritmus by v prvním kroku sekvenčně „prohledal“ značnou část S • dvoufázový je výhodný pro malé k, protože po jednorázovém namapování je potřeba setřídit vektory podle L pouze jednou, čímž se redukují ostatní CPU náklady

  9. tyto objekty zůstaly v S, je potřeba dofiltrovat přes d (L)AESA – rozšíření pro rozsahový dotaz • Algoritmus: • Mějme rozsahový dotaz (Q, rQ) • Zvolí se „malý“ počet pivotů k. • Dopočítá se příslušný počet souřadnic vektoru dotazu q. • Sekvenčně se procházejí (zbylé) vektory v S a filtrují se podle k dimenzí, tj. jsou odfiltrovány ty objekty, pro které L(q, oi) > rQ. • Pokud zbyl v S “malý” počet objektů(anebo byly vyčerpány všechny pivoty), zbytek S se dofiltruje sekvenčně, jinak se zvýší k a pokračuje se krokem 3. Ukázka filtrování podle jedné dimenze (pivotu)

  10. Další LAESA-based indexační metody • TLAESA • redukce I/O nákladů použitím stromové struktury podobné gh-stromu (viz dále) • ROAESA • AESA + heuristiky pro redukci průchodu maticí (omezeno pouze na kNN dotazy) • Spaghettis • redukce I/o nákladů použitím polí setříděných párů objekt-pivot (jakoby indexování zvlášť přes všechny pivoty) • OmniFamily • využití R-stromu a dalších SAM pro indexování vektorů

  11. gh-strom (generalized-hyperplane tree) • binární strom • každý uzel má přiřazeny dva pivoty, podstromy uchovávají data prostorově rozdělená „nadrovinou“ mezi oběma pivoty • podobné struktury • Bisector tree • Voronoi tree

  12. Q gh-tree Rozsahový dotazFiltrování levého podstromu: Pokud nejbližší objekt uvnitř dotazu (vzhledem k O1) je dál než nejvzdálenější objekt uvnitř dotazu (vhledem k O6), může být levý podstrom odfiltrován Filtrování pravého podstromu obráceně.

  13. GNAT (geometric nearest-neighbor access tree) • zobecnění gh-stromu na n-ární strom • + nějaká další rozšíření (neuvádíme) • tj. n pivotů dělí prostor na n regionů, kde myšlenou hranici tvoří ty „body“ všech možných nadrovin (mezi všemi dvojicemi pivotů), které nezasahují dovnitřžádného regionu binárního dělení • jinými slovy, všechny body prostoru jsou rozděleny do n regionů tak, že bod patří k regionů i, pokud je nejblíže k pivotu Oi – všechny ostatní body tvoří onu hranici • body hranice se nějakým dohodnotým způsobem rozdělí taky mezi regiony

  14. Q GNAT Rozsahový dotazFiltrování O5-podstromu: Pokud nejbližší objekt uvnitř dotazu (vzhledem k O5) je dál než nejvzdálenější objekt uvnitř dotazu (libovolně vhledem k O1,O3, O4), může být O5-podstrom odfiltrován Filtrování odstatních podstromů podobně.

  15. vp-strom • todo

  16. mvp-strom • todo

  17. SAT (spatial approximation tree) • todo

  18. Metrické hašování – D-index (1) • založen na dělích hašovacích funkcích bps1,r,j, kde Pj je pivot, dm je medián vzdáleností k objektům a r je rozdělující parametr • funkce přiřadí objektu 0 pokud není uvnitř prstence (Pj, dm – r, dm + r) a to tak že je uvnitř koule dané menším poloměrem prstence, a 1 pokud také není uvnitř, ale je vně koule dané větším poloměrem • jinak přiřadí 2 (když padne dovnitř prstence)

  19. Metrické hašování – D-index (2) • funkce bps lze kombinovat, takže obdržíme až 2n hašovacích hodnot složených z 1 a 0, které odpovídají 2n regionům v prostoru (tvořených průniky) • hašovací hodnoty, kde se vyskytuje alespoň jedna 2 tvoří tzv. množinu vyloučených (exclusion set) • množina vyloučených lze dále stejným způsobem rozdělit (přičemž můžeme použít úplně jiné pivoty a parametry dm a r)

  20. D-index Struktura D-indexu:hašované regiony mají své kapsy (buckets) na disku, množina vyloučených se dále rozděluje až je dostatečně malá. Tím obdržíme několikaúrovňový hašovaný index. Výhody:- pokud je poloměr dotazu rQ<r, na každé úrovni D-indexu se projde maximálně jedna kapsa- pokud navíc je celý dotaz na dané úrovni uvnitř množiny vyloučených, pokračuje se na další úrovni bez potřeby přistupovat do kapes na současné úrovniNevýhody:- volba pivotů, parametrů dm a r a s tím spojená nevyváženost struktury- parametr r zpravidla musí být velmi malý, aby kapsy nebyly prázdné a vše neskončilo v množine vyloučených (tj. nevhodné pro „velké“ dotazy)

  21. Metody volby globálních pivotů • todo

More Related