210 likes | 345 Views
IGrid index. Roman Krejčík. Obsah. Motivace Prokletí dimenze Míry podobnosti IGrid, IGrid+ Experimentální porovnání. Motivace. Pro data reprezentovaná vektory vysokých dimenzí jsou tradiční indexační metody neefektivní. IGrid index – navržen pro indexaci vyskodimenzionálních dat.
E N D
IGrid index Roman Krejčík
Obsah • Motivace • Prokletí dimenze • Míry podobnosti • IGrid, IGrid+ • Experimentální porovnání
Motivace • Pro data reprezentovaná vektory vysokých dimenzí jsou tradiční indexační metody neefektivní. • IGrid index – navržen pro indexaci vyskodimenzionálních dat
Prokletí dimenzionality • Ve vysokých dimenzích (pro Lp metriky): • Neexistuje „hluboký prostor“ • Ztrácí se rozdíly mezi nejbližším a nejvzdálenějším sousedem. • Formálněji: • Pro dimenzi → ∞(při splnění jistých podmínek) (Dmax - Dmin) / Dmin → 0 (ve většině případů)
Prokletí dimenzionality 2 • Příčina • Způsob výpočtu vzdálenosti/podobnosti • Mnoho dimenzí → i nejbližší sousedé se pravděpodobně v některých složkách vektorů odlišují o hodně (pro náhodná uniformně rozdělená data) • Důsledky pro MAM: • Neexistují shluky, regiony se překrývají • MAM degradují na sekvenční průchod
Prokletí dimenzionality 3 • Má taková podobnost smysl ? • Uspořádní není stabilní • Nepatrná změna dat může nejbližího souseda změnit v nejvzdálenějšího. • Modelování reálných objektů vnáší nepřesnosti • Řešení • Aproximativní vyhledávání, redukce dimenze • Použítí vhodnější podobnostní míry
Podobnostní míra • Běžná podobnost založená na Lp vzdálenosti • ui, li – horní a dolní mez hodnot příslušné dimenze • Zohledňuje „podobnost a odlišnost“ složek • Chtěli bychom zohlednit pouze „podobnost“
Mřížka • Rozdělení vektorového prostoru mřížkou • Každá dimenze na kdintervalů • každý interval obsahuje stejně objektů – tj N / kd • kd konstanta zavislá na dimenzi
Lepší podobnost • S[…] – dimenze ve kterých X a Y leží ve stejném intervalu • m,n – horní a dolní mez příslušného intervalu mřížky • Vychází z původní podobnosti • Zohledňuje pouze složky vektoru X,Y které jsou „blízko“
IGrid index • Podobný invertovanému seznamu • V paměti je uloženo: • meze všech intervalů mřížky (tj. d∙kd intervalů) • pro každý interval seznam objektů v něm ležících • pro jednotlivé záznamy v seznamech souřadnice odkazovaného objektu pro příslušnou dimenzi • Velikost reprezentace je lineárně závislá na počtu objektů
NN dotaz v IGrid indexu • Podobnost měříme podle PSim • Pro dotaz (tj. bod prostoru) Q se najde příslušný interval mřížky pro každou dimenzi • Pro každý interval se projde invertovaný seznam a spočítá příspěvek do celkové podobnosti • Jednotlivé příspěvky se příčítají do hashovací tabulky indexované objekty • Na konci se z hash tabulky vyberou objekty s největší hodnotou podobnosti
Složitost NN dotazu • Index obsahuje N ∙ d záznamů v invertovaných seznamech • Prochází se 1 / kd indexu (tj. N ∙ d/ kdzáznamů) • Složitost závislá na parametru indexu kd • Jaká je optimální hodnota ?
Optimální hodnota kd • Vysoké kd zvyšuje rychlost vyhledávání • Příliš vysoké kd → krátké intervaly →“false drop” • →kd nejmenší takové kdy se neprojeví prokletí dimezionality • lze teoreticky ukázat, že kd musí být alespoň lineárně závislé na d, • prakticky kd = θ∙ d pro θ od 0.5 do 1
Vylepšení metody • Objekty ležící v sousedních intervalech mohou být také podobné. • Řešení: rozdělit jednotlivé intervaly na g segmentů • Invertované seznamy až pro segmenty • Při dotazovaní se prochází g segmentů nejbližších dotazu • Experimentálně: už g = 3 uspokojivé výsledky
Korelace dimenzí • Vysoký počet dimenzí → některé jsou korelované • Pokud dimenze d1,d2 korelované → podobné objekty leží pravděpodobně ve stejných intervalech pro d1 a d2 • Zohledníme korelace intervalů při výpočtu podobností
Podobnost CSim • Spočteme korelaci pro všechny dvojice intervalů různých dimenzí • cijpočet objektů ležících v obou intervalech i a j • f nejvíce korelovaných intervalů označíme jako závislé • CSim(X,Y): • Počet závislých dvojit intervalů i,j kde X leží v i a Y leží v j
IGrid+ index • Podobnostní míra • PCSim = PSim + CSim • Potřebujeme navíc spočítat závislé intervaly • Jak volit parametr f ? (počet závislých dvojic) • Cheme rozumně vyvážit příspěvek od PSim i CSim • f = 1 / ((d – 1) ∙kd
Experimentální porovnání • Smysluplnost použité podobnostï • porovnání Lp, PSim, PCSim • Rychlost dotazů • porovnání iGrid, iGrid+, VA-file • Parametr kd • resp. θ, neboťkd = θ∙ d
Smysluplnost podobnosti • Testovací sada – vektory klasifikované do tříd • Pro každý objekt NN-5 objektů • Měří se počet objektů ze stejné třídy ve výsledku
Zdroje Charu C. Aggarwal, Philip S. Yu: The IGrid Index: Reversing the Dimensionality Curse For Similarity Indexing in High Dimensional Space