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

24
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

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. Osnova. maticové MAM AESA, LAESA statické MAM gh-strom GNAT vp-strom mvp-strom SAT metrické hašování – D-index - PowerPoint PPT Presentation

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

Page 1: 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áš SkopalKSI MFF UK

7. Metrické přístupové metody (MAM) 2. část – maticové a statické metody, D-index

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

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ů

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

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)

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

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)

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

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í metrikou d

optimalizováno pouze pro minimalizaci počtu aplikací původní metriky tj. database „un-friendly“, prochází se sekvenčně celá matice

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

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:1) (inicializace) Mějme NN dotaz Q a neprázdnou množinu pivotů S’ = S.

Aktuální vzdálenost k nejbližšímu sousedovi Onn nechť je dmin = .

2) Náhodně se vybere pivot P S’

3) 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}.

4) (eliminace) Z S se odfiltrují objekty Oi, pro jejichž vektory platí L(q, oi) > dmin. U oi se uvažují pouze ty souřadnice, které už byly vypočítány i pro q.

5) (aproximace) Pokud je S’ již prázdná, NN byl nalezen (je to Onn) a algoritmus končí, jinak se nalezne ten pivot P S’, jehož vektor p má nejmenší L(q, p).

6) Opakuje se od kroku 3, až než se odfiltrují všechny objekty z S (tj. zbude jediný kandidát Onn – pravý nejbližší soused)

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

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ě1) spočítá se nejdříve celý vektor q mapovaného dotazového objektu Q

2) objekty Oi S se setřídí vzestupně podle vzdáleností L(q, oi)

3) 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

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

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

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

(L)AESA – rozšíření pro rozsahový dotaz

Algoritmus:

1) Mějme rozsahový dotaz (Q, rQ)

2) Zvolí se „malý“ počet pivotů k.

3) Dopočítá se příslušný počet souřadnic vektoru dotazu q.

4) 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.

5) 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)

tyto objekty zůstaly v S, je potřeba dofiltrovat přes d

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

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ů

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

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é strukturyBisector treeVoronoi tree

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

gh-tree

Q

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ě.

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

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

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

GNAT

Q

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ě.

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

vp-strom

todo

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

mvp-strom

todo

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

SAT (spatial approximation tree)

todo

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

Metrické hašování – D-index (1)

založen na dělích hašovacích funkcích bps1,,j, kde Pj je pivot, dm je medián vzdáleností k objektům a 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)

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

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 )

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

D-index

Výhody: - pokud je poloměr dotazu rQ < , 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)

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.

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

Metody volby globálních pivotů

todo