Vyhled - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Vyhled

Description:

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 – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 25
Provided by: Tomas186
Category:
Tags: aesa | vyhled

less

Transcript and Presenter's Notes

Title: Vyhled


1
Vyhledávání v multimediálních databázíchTomáš
SkopalKSI MFF UK
  • 7. Metrické prístupové metody (MAM) 2. cá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 pivotu

3
AESA/LAESA (1)
  • (Linear) Approximating and Eliminating Search
    Algorithm
  • volba globálních pivotu
  • u AESA je pocet pivotu roven S
  • tj. pri pridání objektu do S vzroste i pocet
    pivotu
  • u LAESA se vybere konstantní pocet pivotu k lt S
  • pri pridání objektu do S se pivoty nemení
  • konstrukce matice vzdáleností (index) od pivotu k
    objektum v S
  • AESA casová i prostorová složitost O(n2), po
    pridání nového objektu O do S (což je taky pivot)
    je potreba do matice pridat a spocítat sloupec
    vzdáleností od O ke všem ostatním objektum
  • LAESA casová 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
  • pri dotazování se využívá L? metrika (v kombinaci
    s puvodní metrikou to navíc dovoluje
    implementovat i kNN dotazy)

5
AESA/LAESA (2)
  • puvodne urceno pro NN dotazy
  • AESA prumerná složitost vyhledání je O(1)
    experimentálne
  • LAESA prumerná složitost vyhledání je k O(1)
    experiment.
  • lze modifikovat i pro kNN a rozsahové dotazy
  • pro kNN se udržuje k kandidátu
  • implementace rozsahového dotazu je triviální
    prímé odfiltrování objektu podle L? metriky
    (kontraktivní vzdálenosti) a dofiltrování puvodní
    metrikou d
  • optimalizováno pouze pro minimalizaci poctu
    aplikací puvodní metriky
  • tj. database un-friendly, prochází se sekvencne
    celá matice

6
NN dotaz - AESA
  • podobný algoritmus jako hledání nejbližšího
    souseda v Ai u kontraktivního SparseMap mapování
    (viz predchozí prednáška)
  • myšlenka pocítají se prubežne hodnoty mapovaného
    vektoru q pro dotaz Q a zároven se filtrují
    irelevantní objekty (resp. príslušné vektory)
  • Algoritmus
  • (inicializace) Mejme NN dotaz Q a neprázdnou
    množinu pivotu S S. Aktuální vzdálenost k
    nejbližšímu sousedovi Onn necht je dmin ?.
  • Náhodne se vybere pivot P ? S
  • Spocítá se vzdálenost d(Q, P), tj. nejaká
    souradnice mapovaného vektoru q. Pokud dmin gt
    d(Q, P), pak dmin d(Q, Onn) a Onn P. S
    S P.
  • (eliminace) Z S se odfiltrují objekty Oi, pro
    jejichž vektory platí L?(q, oi) gt dmin. U oi se
    uvažují pouze ty souradnice, které už byly
    vypocítány i pro q.
  • (aproximace) Pokud je S již prázdná, NN byl
    nalezen (je to Onn) a algoritmus koncí, jinak se
    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át
    Onn pravý nejbližší soused)

7
NN dotaz - LAESA
  • lze implementovat dvema zpusoby
  • jednofázove podobne jako AESA
  • souradnice mapovaného dotazového objektu se
    pocítají postupne a zároven se filtruje
  • výhodné, když k je velké, resp. srovnatelné s
    S
  • modifikace oproti AESA je v tom, že pivotu je
    méne S ? S a tudíž po vycerpání všech pivotu
    se zbytek neodfiltrovaných objektu zpracuje
    dvoufázovým zpusobem (kde odpadá první krok,
    protože vektor q už je celý spocítaný)
  • dvoufázove
  • spocítá se nejdríve celý vektor q mapovaného
    dotazového objektu Q
  • objekty Oi ? S se setrídí vzestupne podle
    vzdáleností L?(q, oi)
  • v tomto poradí se pocítá se d(Q, Oi), podle toho
    se aktualizuje kandidát Onn na nejbližšího
    souseda a jakmile d(Q, Onn) lt L?(q, oi),
    filtrování koncí (neexistuje žádný bližší
    kandidát než Onn) - tj. Onn je výsledek

8
AESA/LAESA - zobecnení pro kNN
  • u algoritmu AESA se v kroku 5 (aproximace)
    neuvažuje pouze nejbližší vektor, ale k
    nejbližších vektoru dmin je potom nastaveno na
    vzdálenost dmin min(dmin, dk)
  • dk je maximum ze vzdáleností d(Q, Pi), kde Pi
    jsou pivoty príslušné tem k vektorum
  • u dvoufázového algoritmu LAESA se v kroku 3
    aktualizuje k kandidátu (místo jednoho) a
    filtruje se podle toho nejvzdálenejšího
    (nejvzdálenejší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 prípade k S, tj. prípad AESA), tj.
    dvoufázový algoritmus by v prvním kroku sekvencne
    prohledal znacnou cást S
  • dvoufázový je výhodný pro malé k, protože po
    jednorázovém namapování je potreba setrídit
    vektory podle L? pouze jednou, címž se redukují
    ostatní CPU náklady

9
(L)AESA rozšírení pro rozsahový dotaz
  • Algoritmus
  • Mejme rozsahový dotaz (Q, rQ)
  • Zvolí se malý pocet pivotu k.
  • Dopocítá se príslušný pocet souradnic vektoru
    dotazu q.
  • Sekvencne se procházejí (zbylé) vektory v S a
    filtrují se podle k dimenzí, tj. jsou
    odfiltrovány ty objekty, pro které L?(q, oi) gt
    rQ.
  • Pokud zbyl v S malý pocet objektu (anebo byly
    vycerpány všechny pivoty), zbytek S se dofiltruje
    sekvencne, jinak se zvýší k a pokracuje se krokem
    3.

Ukázka filtrování podle jedné dimenze (pivotu)
10
Další LAESA-based indexacní metody
  • TLAESA
  • redukce I/O nákladu použitím stromové struktury
    podobné gh-stromu (viz dále)
  • ROAESA
  • AESA heuristiky pro redukci pruchodu maticí
    (omezeno pouze na kNN dotazy)
  • Spaghettis
  • redukce I/o nákladu použitím polí setrídených
    páru objekt-pivot (jakoby indexování zvlášt pres
    všechny pivoty)
  • OmniFamily
  • využití R-stromu a dalších SAM pro indexování
    vektoru

11
gh-strom (generalized-hyperplane tree)
  • binární strom
  • každý uzel má prirazeny dva pivoty, podstromy
    uchovávají data prostorove rozdelená nadrovinou
    mezi obema pivoty
  • podobné struktury
  • Bisector tree
  • Voronoi tree

12
gh-tree
Rozsahový dotazFiltrování levého
podstromu Pokud nejbližší objekt uvnitr dotazu
(vzhledem k O1) je dál než nejvzdálenejší objekt
uvnitr dotazu (vhledem k O6), muže být levý
podstrom odfiltrován Filtrování pravého podstromu
obrácene.
13
GNAT (geometric nearest-neighbor access tree)
  • zobecnení gh-stromu na n-ární strom
  • nejaká další rozšírení (neuvádíme)
  • tj. n pivotu delí prostor na n regionu, kde
    myšlenou hranici tvorí ty body všech možných
    nadrovin (mezi všemi dvojicemi pivotu), které
    nezasahují dovnitr žádného regionu binárního
    delení
  • jinými slovy, všechny body prostoru jsou
    rozdeleny do n regionu tak, že bod patrí k
    regionu i, pokud je nejblíže k pivotu Oi
    všechny ostatní body tvorí onu hranici
  • body hranice se nejakým dohodnotým zpusobem
    rozdelí taky mezi regiony

14
GNAT
Rozsahový dotazFiltrování O5-podstromu Pokud
nejbližší objekt uvnitr dotazu (vzhledem k O5) je
dál než nejvzdálenejší objekt uvnitr dotazu
(libovolne vhledem k O1, O3, O4), muže být
O5-podstrom odfiltrován Filtrování odstatních
podstromu podobne.
15
vp-strom
  • todo

16
(No Transcript)
17
mvp-strom
  • todo

18
(No Transcript)
19
SAT (spatial approximation tree)
  • todo

20
(No Transcript)
21
Metrické hašování D-index (1)
  • založen na delích hašovacích funkcích bps1,r,j,
    kde Pj je pivot, dm je medián vzdáleností k
    objektum a r je rozdelující parametr
  • funkce priradí objektu 0 pokud není uvnitr
    prstence (Pj, dm r, dm r) a to tak že je
    uvnitr koule dané menším polomerem prstence, a
    1 pokud také není uvnitr, ale je vne koule dané
    vetším polomerem
  • jinak priradí 2 (když padne dovnitr prstence)

22
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 regionum v prostoru (tvorených
    pruniky)
  • hašovací hodnoty, kde se vyskytuje alespon jedna
    2 tvorí tzv. množinu vyloucených (exclusion set)
  • množina vyloucených lze dále stejným zpusobem
    rozdelit (pricemž mužeme použít úplne jiné
    pivoty a parametry dm a r)

23
D-index
Struktura D-indexuhašované regiony mají své
kapsy (buckets) na disku, množina vyloucených se
dále rozdeluje až je dostatecne malá. Tím
obdržíme nekolikaúrovnový hašovaný index.
Výhody - pokud je polomer dotazu rQ lt r, na
každé úrovni D-indexu se projde maximálne jedna
kapsa- pokud navíc je celý dotaz na dané úrovni
uvnitr množiny vyloucených, pokracuje se na další
úrovni bez potreby pristupovat do kapes na
soucasné úrovniNevýhody- volba pivotu,
parametru 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 neskoncilo v
množine vyloucených (tj. nevhodné pro velké
dotazy)
24
Metody volby globálních pivotu
  • todo
Write a Comment
User Comments (0)
About PowerShow.com