290 likes | 461 Views
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK. 10 . Sjednocen ý model vyhledávání v (ne)metrických prostorech. Osnova. různé pohledy sjednocení podobností transformacemi konkávní a konvexní modifikace ball-overlap factor T-error TriGen algoritmus T-báze.
E N D
Vyhledávání v multimediálních databázíchTomáš SkopalKSI MFF UK 10. Sjednocenýmodel vyhledávání v (ne)metrických prostorech
Osnova • různé pohledy • sjednocení podobností transformacemi • konkávní a konvexní modifikace • ball-overlap factor • T-error • TriGen algoritmus • T-báze
Různé pohledy na podobnostní vyhledávání (1) • přesné vs. aproximativní vyhledávání • motivace – vyměnit rychlost vyhledávání za přesnost vyhledávání • determinováno dobře/volně modelovanou funkcí podobnosti • dobře definovaná • editační vzdálenost pro potřeby spellcheckingu (najdi všechny jednoznakové překlepy slova „google“) • L2 metrika pro potřeby „opravdové“ vzdálenosti (najdi nejbližší restaurační zařízení) • biometrické podobnosti (identifikuj osobu)
Různé pohledy na podobnostní vyhledávání (2) • přesné vs. aproximativní vyhledávání • determinováno dobře/volně modelovanou funkcí podobnosti • volně definovaná • editační vzdálenost pro potřeby zarovnávání DNA sekvencí (stejné hodnoty vzdálenosti mohou znamenat různě významné změny funkce) • L2 jako míra vzdálenosti na vektorech obrázků (už vektorová reprezentace je nepřesná) • neuronová síť
Různé pohledy na podobnostní vyhledávání (3) • přesné vs. aproximativní vyhledávání • dobře modelovaná podobnost → má smysl hledat přesně → aproximativní vyhledávání JE kvalitativní zhoršení • volně modelovaná podobnost→ samotná definice podobnosti je nepřesná → aproximativní vyhledávání nutně NEMUSÍ VÉST ke kvalitativnímu zhoršení
Různé pohledy na podobnostní vyhledávání (4) • metrické vs. nemetrické vyhledávání • motivace – nemetrický přístup • vyměnit rychlost vyhledávání (metrika) za přesnost modelování podobnosti (nemetrika) • expert modelující podobnost není svázán metrickými axiomy • možnost použití „neznámé“ podobnosti (tj. předpoklad nemetriky) • popis algoritmem – nerozhodnutelné topologické vlastnosti • heuristika, rekurze, potřeba stavu • HW zařízení – black-box • FPGA obvody
Různé pohledy na podobnostní vyhledávání (5) • statické vs. dynamické vyhledávání • motivace – dynamické měření podobnosti • flexibilita modelování podobnosti • učící se podobnost • trénovací množina • uživatelské profilování • podobnost se může měnit v čase • zohlednění dotazového objektu při stanovení míity podobnosti
Sjednocující rámec • model zachycující vyhledávání • přesné metrické • aproximativní metrické • přesné nemetrické • aproximativní nemetrické • zdrojová podobnostní funkce je modifikována na aproximaci metriky (v limitním případě na přesnou metriku ) • modifikovanou vzdálenost (metriku) lze tudíž využít v metrických přístupových metodách
Předpoklady • potřebujeme malý vzorek T databáze S • databáze S nemusí být celá k dispozici na začátku (je dynamická, tj. postupně se plní) • v malé databázi hledáme triviálně sekvenčně, tj. neindexujeme • jakmile je databáze dostatečně velká (sekvenční vyhledávání se stane brzdou), nasamplujeme z ní náhodných m = |T| objektů • předpokládáme uniformní distribuci databáze v čase, tj. distribuce dat ve zvětšující se databázi se v čase příliš nemění • potřebujeme podobnostní míru • zadaná jako black-box, tj. neznáme její analytický popis, ani jiné vlastnosti
Základní modifikace vstupní podobnostní míry • mějme nějakou podobnost s • transformace na vzdálenost • = –s • reflexivita, non-negativita • lze zajistit • pokud je známá minimální vzdálenost d-, příslušně posuneme • pokud není, nasamplujeme omezený počet vzdáleností a nejmenší prohlásíme za d- • vzdálenosti, které později padnou pod d- ošetříme speciálně (d- je uvažována jako horní hranice) • symetrie • lze zajistit • konstrukce symetrie – (O1, O2) = min(asym(O1,O2), asym(O2,O1)) • výsledek vyhledávání je pak třeba přefiltrovat přes asymetrickou vzdálenost • předpokládejme rovněž maximální vzdálenost d+ • získáme stejně jako d- (vzdálenosti nad d+ jsou opět ošetřeny speciálně) • zbývá trojúhelníková nerovnost, tj. pracujeme obecně s d+-omezenou semimetrikou
Trojúhelníkové trojice • nechť a = (O1, O2), b =(O2, O3), c = (O1, O3) • trojice <a, b, c> je trojúhelníková, pokud a+b≥c b+c≥aa+c≥b • trojici si lze představit jako všechny možné trojúhelníky v Euklidovské rovině (a naopak) • pokud členy trojice uspořádáme tak, že a ≤ b ≤ c, stačí testovat a+b≥c • metrika generuje pouze trojúhelníkové trojice a naopak, pokud semimetrika generuje pouze trojúhelníkové trojice, je to metrika • trojúhelníková nerovnost je splněna, pokud trojice jsou trojúhelníkové • otázka – jak netrojúhelníkové trojice změnit na trojúhelníkové? • „neškodná“ modifikace semimetriky, která trojice upraví (viz dále)
Samplování trojic • pro všechny objekty ze vzorku T spočítáme vzdálenosti (tj. matici vzdáleností) • takto jsme schopni za cenu O(m2) = O(|T|2) výpočtů vzdáleností vytvořit ( ) trojic • 2 metody • triviální – uniformě nasamplujeme objekty do trojice • anomální trojice – snažíme se najít takové trojice, kde nejdelší strana je výrazně delší než součet zbylých stran (tj. hledáme výrazně netrojúhelníkové trojice) • můžeme kombinovat, např. 10% anomálních trojic a 90% obyčejných trojic m3
T-error • jak měřit stupeň narušení trojúhelníkové nerovnosti • z datové sady nasamplujeme trojice podle semimetriky • T-error – poměr netrojúhelníkových trojic (mnt) ku všem trojicím (m), tj. e = mnt / m • proč T-error • trojúhelníkové trojice se nakonec objeví v MAM jako „rozhodnutí“ o filtrování... tj. jsme nejblíže zdroji porušení troj. nerovnosti • T-error je přímo odvozen z dat a použité semimetriky, tj. v této formě se projevuje v MAM
Modifikace vzdálenosti • základní nástroj, tzv. SP-modifikátor rostoucí funkce f, kde f(0)=0 • modifikace f(O1,O2) = f((O1,O2)) • při použití f místo je zachováno podobnostní uspořádání (f je prostá) • tj. sekvenční vyhledávání vrátí stejný výsledek • při rozsahovém dotazu je třeba stejně modifikovat i poloměr dotazu
TG-modifikace • =konkávní SP-modifikátor • věta: TG-modifikátor zvyšuje počet trojúhelníkových trojic Důsledek: každá semimetrika lze transformovat na metriku
TG-modifikace • sice dostaneme metriku (tj. e=0), nicméně zvýšíme vnitřní dimenzi • TG-modifikátor trojúhelníkům (trojicím) natahuje strany nerovnoměrně, rozíly v délkách se zmenšují • v limitě vyrobí z libovolného trojúhelníku trovnostranný trojúhelník • snižování rozdílů v délkách hran přímo implikuje zvyšování vnitřní dimenze, protože se snižuje rozptyl • objem se kumuluje u povrchu koule (tedy u velkých vzdáleností) • zvyšuje se průměrná vzdálenost • je třeba vybrat TG-modifikátor který minimalizuje zvýšení dimenze a zároveň vyrobí potřebné trojice
TV-modifikace • =konvexní SP-modifikátor • věta: TV-modifikátor snižuje počet trojúhelníkových trojic Důsledek: každá metrika lze transformovat na semimetriku
TV-modifikace • sice z metriky dostaneme pouze semimetriku, ale zase snížíme vnitřní dimenzi • opak k TG-modifikátoru • zvýší se rozptyl vzdáleností v rámci trojice (a tedy i v rámci všech trojic) • objem se rozprostře rovnoměrněji mezi všechny vzdálenosti • snižuje se průměrná vzdálenost • je třeba vybrat TV-modifikátor který sníží dimenzi, ale minimalizuje počet netrojúhelníkových trojic
Vnitřní dimenze vs. BOF • vnitřní dimenze (tj. poměr průměrné vzdálenosti a rozptylu) je kvantitativní ukazatel, číslo neznamená žádnou kvalitativní hodnotu, čísla lze mezi sebou porovnávat • „nepozná“ se indexovatelnost dané (semi)metriky • ball-overlap factor (BOF) – kvalitativní ukazatel • mějme objekty datové sady (všechny nebo n nasamplovaných) • každému objektu najdeme nejbližšího souseda – obdržíme koule • pro všechny dvojice koulí zjistíme jejich průnik • BOF = počet dvojic s neprázdným průnikem ku počtu všech dvojic • nezávisle na MAM tedy BOF simuluje metrické regiony a jejich překryvy
Vnitřní dimenze vs. BOF • výhoda BOF se projeví při TG-modifikacích • příklad: mějme TG-modifikátor • f vyrobí z každé semimetriky metriku, nicméně je nepoužitelný pro indexování – každé dvě koule se budou protínat • BOF bude 1, což znamená nejhorší indexovatelnost • vnitřní dimenze pouze vrátí velké číslo, nicméně z toho nepoznáme jestli je „pouze“ velká dimenze anebo data nelze vůbec indexovat
Automatizovaná modifikace • cílem je mít nástroj, který jakoukoliv míru vzdálenosti (ať metriku mebo semimetriku) dokáže modifikovat tak, že je zajištěn určitý stupeň T-error – stanovíme hodnotu T-tolerance (tj. ≤ ) • nenulová T-tolerance lze použít právě pro aproximativního vyhledávání • abychom to mohli dělat automatizovaně, je třeba zobecnit určité třídy TG- a TV-modifikátorů do funkce, která na vstupu (kromě modifikované vzdálenosti) očekává také váhu konkávnosti/konvexnosti • tím se docílí generování TG- TV-modifikátorů na míru, neboť • nižší míra konkávnosti znamená nižší vnitřní dimenzi (případně BOF) a závoveň se zvýší T-error (a naopak) • nižší míra konvexnosti znamená vyšší vnitřní dimenzi (BOF) a zároveň se sníží T-error (a naopak) • tímto způsobem můžeme SPOJITĚ škálovat kvalitu modifikátorů • slovo „spojitě“ je důležité, protože „šoupáním“ váhy můžeme upravovat požadované vlastnosti modifikátoru
T-báze • zobecnění modifikátorů, další parametr váha konkávnosti/konvexnosti w (w = 0 je identita) • w > 0 – používáme TG-modifikátor • w < 0 – používáme TV-modifikátor • dvě T-báze • FP-báze – jednoduchá báze (mocnina váhy)konvexnost/konkávnost je globální • RBQ-báze – odvozena z racionální Bézierovykvadriky, konvexnost/konkávnost lze nastavitdruhým Bézierovým bodem P(a,b)
TriGen algoritmus • hledání optimálního modifikátoru pomocí T-bází lze algoritmizovat • nejprve otestujeme identitu (w = 0, nemodifikovanou vzdálenost) • pokud splňuje danou T-tolerance, můžeme si dovolit více narušit trojúhelníkovou nerovnost – uvažujeme TV-modifikátory, tj. jen váhy w < 0 • pokud nesplňuje danou T-tolerance, musíme uvažovat váhy w > 0, tj. TG-modifikátory • do množiny T-bází vložíme FP-bázi a několik (mnoho) RBQ-bází, každá RBQ-báze pro konkrétní Bézierův bod P(a,b) • pro každou bázi najdeme optimální váhu, tj. nejnižší váhu takovou, že ještě T-error leží v toleranci • půlením intervalu vah se po fixovaném počtu iterací dobereme k nějaké takové váze (u RBQ bází nemusí existovat řešení, nicméně u FP-báze ano) • z kandidátů (modifikátorů) nalezených algoritmem vybereme toho, který vykazuje nejnižší vnitřní dimenzi (resp. BOF)