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.

Slides:



Advertisements
Podobné prezentace
Lineární klasifikátor
Advertisements

OZD: Hašování RNDr. Michal Žemlička.
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Dualita úloh lineárního programování a analýza citlivosti
Vyhodnocování dotazů slajdy k LS I155 Jaroslav Pokorný.
Diskrétní matematika Opakování - příklady.
Aplikace teorie grafů Základní pojmy teorie grafů
Problematika a metody zpracování biomed. dat z pohledu jejich klasifikace Marcel Jiřina.
SQL – tříhodnotová logika
Multi-dimensional Sparse Matrix Storage J. Dvorský, M. Krátký, Katedra informatiky, VŠB – Technická univerzita.
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Algoritmy I Cvičení č. 4.
Aplikace metrických indexovacích metod na data získaná hmotnostní spektrometrií Jiří Novák
Aplikace metrických indexovacích metod na data získaná hmotnostní spektrometrií Ing. Jiří Novák
ADT Strom.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Skip-List je datová struktura, která může být použita jako náhrada za vyvážené stromy. představují pravděpodobnostní alternativu k vyváženým stromům (struktura.
LOGISTICKÉ SYSTÉMY 7/14.
Heuristické metody Heuristiky dělíme na primární a duální.
5. Přednáška funkce BRVKA Johann P.G.L. Dirichlet (1805 – 1859)
Shlukovací algoritmy založené na vzorkování
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Shluková analýza.
Rozšíření dotazu a vývoj tématu v IR Jiří Dvorský Jan Martinovič Václav Snášel.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
TMF045 letní semestr 2005/2006 II Časová propagace vlnové funkce na mřížce I. (práce s momentovou reprezentací) (Lekce II)
Formulace a vlastnosti úloh lineárního programování
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK
Algoritmy vyhledávání a řazení
Stromy.
KIV/PPA1 cvičení 7 Cvičící: Pavel Bžoch. Osnova cvičení Zadání samostatné práce –Vysvětlení nejasností –Způsob odevzdání –Hodnocení Řazení Vyhledávání.
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK
Algoritmizace a programování Třídící algoritmy - 12
IGrid index Roman Krejčík. Obsah Motivace Prokletí dimenze Míry podobnosti IGrid, IGrid+ Experimentální porovnání.
Shluková analýza.
Funkce více proměnných.
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
Rozhodovací stromy.
Kompresní metoda ACB Associative Coder of Buyanovsky autor: George Buyanovsky připravil Tomáš Skopal podle knihy „Data Compression“ od D. Salomona, 1997,
Vektorová kvantizace (VQ) (Vector Quantization)
Rozpoznávání v řetězcích
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
XML data na disku jako databáze Kamil Toman
Lineární programování - charakteristika krajních bodů
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
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 4. Mapování a redukce dimenze 1. část – úvod + mapování vektorových sad.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK
Prostorové datové struktury
Vyhledávání vzorů (template matching)
Algoritmy a struktury neuropočítačů ASN - P14 Hopfieldovy sítě Asociativní paměti rekonstrukce původních nezkreslených vzorů předkládají se neúplné nebo.
© Institut biostatistiky a analýz ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Metrické indexování vektorových modelů v oblasti Information Retrieval
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK
Hledání silně souvislý komponent Silně souvislá komponenta orientovaného grafu G= (V,E) je maximální množina uzlů UV taková že ∀ u,v ∈ V : u je dosažitelné.
Úvod do databázových systémů
Množina bodů dané vlastnosti
Definiční obor a obor hodnot
KIV/ZD cvičení 5 Tomáš Potužák.
Operační výzkum Lineární programování Dopravní úloha nevyrovnaná.
Funkce více proměnných.
Geografické informační systémy
ALG 07 Selection sort (Select sort) Insertion sort (Insert sort)
Toky v sítích.
Algoritmizace a datové struktury (14ASD)
Konstruktivní úlohy na rotačních plochách
Transkript prezentace:

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 metody volby globálních pivotů

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(n 2 ), 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)

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)

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

NN dotaz - AESA podobný algoritmus jako hledání nejbližšího souseda v A i 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 O nn nechť je d min = . 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 d min > d(Q, P), pak d min := d(Q, O nn ) a O nn := P. S’ := S’ – {P}. 4) (eliminace) Z S se odfiltrují objekty O i, pro jejichž vektory platí L  (q, o i ) > d min. U o i 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 O nn ) 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 O nn – pravý nejbližší soused)

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 O i  S se setřídí vzestupně podle vzdáleností L  (q, o i ) 3) v tomto pořadí se počítá se d(Q, O i ), podle toho se aktualizuje kandidát O nn na nejbližšího souseda a jakmile d(Q, O nn ) < L  (q, o i ), filtrování končí (neexistuje žádný bližší kandidát než O nn ) - tj. O nn je výsledek

AESA/LAESA - zobecnění pro kNN u algoritmu AESA se v kroku 5 (aproximace) neuvažuje pouze nejbližší vektor, ale k nejbližších vektorů – d min je potom nastaveno na vzdálenost d min := min(d min, d k )  d k je maximum ze vzdáleností d(Q, P i ), kde P i 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

(L)AESA – rozšíření pro rozsahový dotaz Algoritmus: 1)Mějme rozsahový dotaz (Q, r Q ) 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, o i ) > r Q. 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

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ů

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

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

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 O i – všechny ostatní body tvoří onu hranici  body hranice se nějakým dohodnotým způsobem rozdělí taky mezi regiony

GNAT Q Rozsahový dotaz Filtrování O 5 -podstromu: Pokud nejbližší objekt uvnitř dotazu (vzhledem k O 5 ) je dál než nejvzdálenější objekt uvnitř dotazu (libovolně vhledem k O 1, O 3, O 4 ), může být O 5 -podstrom odfiltrován Filtrování odstatních podstromů podobně.

vp-strom todo

mvp-strom todo

SAT (spatial approximation tree) todo

Metrické hašování – D-index (1) založen na dělích hašovacích funkcích bps 1, ,j, kde P j je pivot, d m 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)

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 d m a  )

D-index Výhody: - pokud je poloměr dotazu r Q < , 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é úrovni Nevý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.

Metody volby globálních pivotů todo