Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Přibližné metrické indexování / vyhledávání Jan Dědek.

Podobné prezentace


Prezentace na téma: "Přibližné metrické indexování / vyhledávání Jan Dědek."— Transkript prezentace:

1 Přibližné metrické indexování / vyhledávání Jan Dědek

2 2 Hlavní téma Michael E. Houle, Jun Sakuma: Fast Approximate Similarity Search in Extremely High-Dimensional Data Sets Proceedings of the 21st International Conference on Data Engineering (ICDE 2005, April 5-8)

3 3 Obsah Kvalita přibližného vyhledávání Přehled existujících indexačních metod SASH –Datová struktura a algoritmy –Časová, prostorová složitost –Experimentální výsledky –Výhody a nevýhody

4 4 Kvalita přibližného vyhledávání 1 Míra podobnosti dist –dist : D × D → R + –metrika: reflexivita, pozitivita, symetrie, trojúhelníková nerovnost Typy dotazů –query-by-example rozsahový dotaz – práh r k nejbližších sousedů – k-NN (k-nearest-neighbor)

5 5 Kvalita přibližného vyhledávání 2 k přibližně nejbližších sousedů (k-ANN) –approximate k-NN –maximální (uspokojivá) chybaε > 0 (supplied error) parametr většiny přibližných algoritmů –výsledek k-ANN(q) dotazu ( U ): |U| = k dist(q, u) ≤ (1 + ε)rk  u ∈ U, rk – skutečná vzdálenost ke k-tému nejbližšímu sousedu

6 6 Kvalita přibližného vyhledávání 3 Způsoby měření přesnosti (1) – přesah výsledku (ε) –u i – i-tý nejbližší soused ve výsledku –r i – vzdálenost skutečně i-tého nejbližšího souseda –A 1 i A 2 nabývají hodnot „1+ ε“

7 7 Kvalita přibližného vyhledávání 4 Způsoby měření přesnosti (2) – úspěšnost dotazu –recall –U’ je zároveň podmnožina ideálního (přesného) dotazu –Vyjadřuje procentuelní přesnost / úspěšnost dotazu

8 8 Kvalita přibližného vyhledávání 5 Sekvenční hledání k-NN(q)(Seq) –Objekt se q se porovná s celou databází. Sekvenční hledání v podmnožině dat (SSeq) –Sekvenční k-NN dotaz se provede na náhodně vybrané podmnožině dat velikosti m. –úspěšnost = m / n –rychlost (n / m)-krát větší než při sekvenčním hledání

9 9 Přibližné indexační metody 1 FTAE Ferhatosmanoglu, Tuncel, Agrawal, El Abbadi ( 2001 ) 1.Rozdělí data do clusterů pomocí heuristiky K-means. 2.Při k-ANN(q) najde clustery nejbližší dotazu. 3.Data uvnitř vybraných clusterů setřídí podle vzdálenosti od q a nejbližší vrátí. –Při třídění vezme v úvahu jen některé souřadnice 4.Výsledek se ještě iterativně zpřesňuje –Prozkoumáním více clusterů –Setříděním podle dalších souřadnic

10 10 Přibližné indexační metody 2 FTAE - výsledky Zrychlení zhruba o jeden řád (degree of magnitude) 100 000 obrázků, 64 dimenzí, 10-ANN –Přesnost 70%, A 1 = 1,05 43x méně načtených obrázků –Přesnost 90%, A 1 = 1,02 16x méně načtených obrázků Nevýhody FTAE –Problematické ladění parametrů algoritmu –Funkčnost závisí na výsledku K-means heuristiky, která má mnoho neduhů.

11 11 Přibližné indexační metody 3 Clindex Li, Chang, Garcia-Molina, Wiederhold (2002) Opět metoda založená na clusterování Speciální technika vytváření clusterů –Funguje pouze na datech snadno rozdělitelných do clusterů Používá Euklidovu vzdálenost

12 12 Přibližné indexační metody 4 Clindex - výsledky 30 000 obrázků, 48 dimenzí, 20-ANN –Přesnost 70% 21x rychlejší než sekvenční čtení –Přesnost 90% 12x rychlejší než sekvenční čtení

13 13 Přibližné indexační metody 5 Indyk & Motwani P. Indyk, R. Motwani (1998) Metoda založená na hašování (LSH) 200 000 textur, 65 dimenzí, 10-ANN –A 2 = 1,14 –20x méně načtených záznamů než při sekvenčním hledání

14 14 Přibližné indexační metody 6 iMinMax B. C. Ooi, K. L. Tan, C. Yu, S. Bressan (2000) 1.Převede vektorové hodnoty na reálná čísla Výpočet založený na hodnotě největší souřadnice a na pozici této souřadnice uvnitř vektoru 2.Reálná čísla setřídí 3. k-NN hledání probíhá postupným rozšiřováním relevantního intervalu reálných čísel. Dokud interval neobsahuje k nejbližších sousedů.

15 15 Přibližné indexační metody 7 iDistance C. Yu, B. C. Ooi, K. L. Tan, H. Jagadish (2001) Modifikace iMinMax Místo extrémních hodnot souřadnic indexuje podle extrémních vzdáleností od referenčních bodů (pivotů). iDistance a iMinMax dobře fungují pro data s dim < 30 –Při redukci dimenze pro dim < 200

16 16 Přibližné indexační metody 8 MTree (1) P. Zezula, P. Savino, G. Amato, F. Rabitti (1998) Několik metod pro k-ANN nad prostorovými indexy (především M- tree) Jedná se o přibližné – „randomizované“ varianty klasického (přesného) algoritmu, založeného na trojúhelníkové nerovnosti.

17 17 Přibližné indexační metody 8 MTree (2) Metoda MTree předčasně ukončí vyhledávání –Využívá hodnotu distribuce vzdáleností k hledanému objektu. –Distribuce se odhaduje. –Odhadnuta z předpočítané distribuce vzdáleností mezi prvky databáze Nevyhovuje složitě strukturovaným datům

18 18 Dimenze - problém všech metod Všechny uvedené metody selhávají, pokud je dimenze dat příliš vysoká. Časová složitost často lineárně závisí na počtu dimenzí dat. Pro vysoké dimenze jsou uvedené metody pomalejší než sekvenční hledání.

19 19 SASH The Spatial Approximation Sample Hierarchy (Michael E. Houle, Jun Sakuma) Přibližná prostorová hierarchie Prakticky použitelný index pro přibližné vyhledávání v datech s extrémně vysokou dimenzí.

20 20 SASH – datová struktura 1 Orientovaný graf podobný stromu –ohodnocené hrany S vlastnostmi (1): –Každý uzel odpovídá jednomu záznamu. –Uzly jsou rozděleny do level-ů. Poslední level obsahuje n / 2 uzlů. Každý další level je dvakrát menší než předchozí. První level obsahuje jediný uzel – kořen.

21 21 SASH – datová struktura 2 S vlastnostmi (2): –Hrany vedou pouze mezi sousedními level-y ve směru dolů (od kořene) –Každý uzel má alespoň jednoho rodiče (mimo kořen) maximálně p rodičů maximálně c dětí(doporučeno c = 4p) –Ohodnocení hrany (u,v) = dist(u,v) Vypočteno při konstrukci struktury

22 22 SASH – datová struktura 3 S vlastnostmi (3): –Každý uzel je dosažitelný z kořene. –Pro každý uzel v označíme jednoho rodiče jako guarantor, g(v). –Pak říkáme, že uzel je závislý (dependent) na uzlu g(v).

23 23 Konstrukce SASH struktury 1.Uzlům se náhodně přiřadí level-y. 2.SASH struktura se konstruuje iterativně od kořene. Level-y se propojují hranami tak, aby byly spojeny právě nejbližší sousedé. Algoritmus ConnectSASHLevel(l) popisuje, jak ve struktuře, která je zbudovaná (propojená) až po level l-1 připojit level l.

24 24 ConnectSASHLevel(l) 1.If (l == 2) Připoj všechny prvky v l ke kořeni. g(v) = kořen 2.Else pro každý uzel v levelu l: a)Najdi p nejbližších sousedů P l-1 (v,p) z levelu l-1. (viz dále) b)Označ P l-1 (v,p) jako prozatímní rodiče. c)Vyřeš skutečné rodičovství (vytvoř hrany).

25 25 Najdi P i (v,p) (p nejbližších sousedů uzlu v v levelu i) 1.case (i == 1) P 1 (v, p) = kořen 2.case (i > 1) rekurzivní konstrukce: a)Označ P i ’(v) jako množinu všech dětí všech uzlů z P i-1 (v,p) b)Vrať P i (v,p) která má následující vlastnosti: P i (v,p)  P i ’(v) |P i (v,p)| = p(resp.  p pro malé P i ’(v)) Prvky P i (v,p) jsou co nejblíže k v (podle míry dist)

26 26 Postupné určování nejbližších sousedů

27 27 Vyber rodiče z prozatímních rodičů Máme –Pro každý uzel v v levelu l množinu prozatímních rodičů z levelu l-1. Pro každý uzel u v levelu l-1: 1.Označíme C(u) jako množinu uzlů (v levelu l), které ho chtějí za rodiče. 2.C(u) zmenšíme na velikost c vypuštěním nejvzdálenějších prvků od u. 3.Prvky C(u) spojíme s u hranami. (uděláme z nich skutečné děti u)

28 28 Problém se sirotky Předchozí postup každému uzlu nezaručí rodiče – vzniknou sirotci. Pro ne-sirotky nastavíme g(v) na nejbližšího rodiče. Sirotkům najdem jednoho rodiče, který se stane i guarantor. Hledáme vždy v dvojnásobném množství nejbližších sousedů.

29 29 Problém se sirotky - algoritmus a)nastavi = 1 b)spočítejP l-1 (v, 2 i p) c) if v P l-1 (v, 2 i p) mají všechny prvky maximální počet dětí then zvyš i o 1 a opakuj od kroku b) d)zvol g(v) = nejbližší volný prvek v P l-1 (v, 2 i p) Konečnost algoritmu je zaručena pro c > 2p.

30 30 n=22, p=2, c=5, H nemůže být otcem V

31 31 k-ANN dotaz (uniformní verze) Provádí se podobně jako jako algoritmus pro hledání nejbližších sousedů P i (v,p). Spočítá P 1 (q, k) ∪ P 2 (q, k) ∪... ∪ P h (q, k) –h je počet level-ů. Ze sjednocení vybere k nejbližších prvků a vrátí je jako výsledek dotazu.

32 32 Kandidáti na výsledek dotazu

33 33 k-ANN dotaz (geometrická verze) Od předchozí případu se liší ve vyhledávaném počtu sousedů. –Pro různé levely se používá různé k. P 1 (q, k 1 ) ∪ P 2 (q, k 2 ) ∪... ∪ P h (q, k h ) Dává lepší výsledky v kratším čase. –(než uniformní verze)

34 34 Prostorová složitost Počet uzlů v levelu i: Max počet hran od radičů (z levelu i do i+1): – Max počet hran k dětem (z levelu i-1 do i): –maximálně tolik co bylo rodičovských Průměrný počet hran na uzel je tedy maximálně 2p + 1/2 i Hran celkem: 2pm + O(log 2 n) < O(pn)

35 35 Časová složitost v počtech použití míry dist Při zanedbání ošetřování sirotků: –konstrukce struktury:pcn log 2 n –uniformní k-ANN:ck log 2 n – geometrický k-ANN:

36 36 Časová složitost - zobecnění Za předpokladu, že by k bylo v Ω(n ε ): –pro libovolné ε > 0 –konstrukce struktury: O(n log n) –geometrický k-ANN: O(k + logn) Složitost vůbec nezávisí na na počtu dimenzí!

37 37 Testování Pro srovnání autoři implementovali ještě zmíněnou metodu MTree Implementace –Microsoft Visual C++ v7.0 Testování –Windows XP –3.0GHz Pentium IV single processor Měření výkonu –Vždy průměr ze 100 náhodných dotazů. –Recall se zvyšoval pomocí parametru k’ < k.

38 38 Experimentální paměťové nároky

39 39 MEDLINE Výskyty klíčových slov v MEDLINE žurnálu –z U.S. National Library of Medicine’s PubMed database 1 055 073 záznamů 1 101 003 atributů –z toho průměrně 75 nenulových míra dist: –úhel mezi vektorem dokumentu a dotazu

40 40

41 41

42 42 BactORF Biologická databáze proteinových sekvencí –DNA Data Bank of Japan 385 039 záznamů 40 000 atributů –z toho po filtraci průměrně 125 nenulových

43 43

44 44

45 45 VidFrame Databáze videosnímků z ranního varieté japonské televize. 9 000 000 záznamů 32 atributů míra dist: –Euklidovská vzdálenost Testovalo se zrychlení algoritmu při zmenšení počtu objektů v databázi. –zrychlení 100, 200, 350 -krát –pro data velikosti9×10 4,9×10 5,9×10 6

46 46 Časová složitost je skutečně sub-lineární

47 47 SASH – závěr 1 První přibližná metoda použitelná na data s dimenzí větší než 1000. Flexibilní metoda dist nemusí splňovat metrické axiomy. Navrženo pro použití v operační paměti. –Kvůli hustému propojení hranami. –Neumí využít procesor cache (oproti MTree).

48 48 SASH – závěr 2 Bohužel pouze statická metoda –Nevadí pro účely clustering-u a klasifikace –Lze doplnit o omezené přidávání nových prvků Ztrácí se kvalita náhodnosti. Nejde delete a update. –Dynamická verze struktury je předmětem dalšího výzkumu.


Stáhnout ppt "Přibližné metrické indexování / vyhledávání Jan Dědek."

Podobné prezentace


Reklamy Google