21
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

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

Embed Size (px)

DESCRIPTION

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. Osnova. Motivace mapování do vektorů jako součást extrakce vlastností vlastnosti mapování, důsledky pro vyhledávání Mapování v ektorov ý ch sad - PowerPoint PPT Presentation

Citation preview

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

4. Mapování a redukce dimenze 1. část – úvod + mapování vektorových sad

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

Osnova

Motivace mapování do vektorů jako součást extrakce vlastností vlastnosti mapování, důsledky pro vyhledávání

Mapování vektorových sad kontraktivní

triviální redukce dimenze aproximativní

LSI (resp. SVD) náhodné projekce

Mapování metrických sad kontraktivní

pivot-based metody modifikovaný SparseMap

aproximativní FastMap SparseMap MetricMap

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

Motivace

Mapování (mapping, embedding) = zobrazení objektů datové sady S do vektorového prostoru dimenze k tak, že původní vzdálenosti d(*,*) mezi objekty jsou (částečně) zachovány i mezi zobrazenými vektory (vzhledem ke vzdálenosti (*,*) ve vektorovém prostoru)

proč mapovat? rychlost vyhledávání – drahá funkce podobnosti d vs. levná funkce

(např. je Lp metrika O(k), kdežto d je třeba editační vzdálenost O(m*n)) redukce dimenze

konstantní dimenze k – lepší správa dat (např. řetězce mají proměnlivou délku) snížení prostorových nároků na ukládání/vyhledávání objektů nižší dimenze = (někdy) lepší možnosti indexování

využití prostorových (vektorových) metod indexování (např. R-strom, atd.) d nemusí být metrika, kdežto většinou je (takže lze lépe indexovat)

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

Mapování jako extrakce vlastnostíkolekce multimediálních dokumentů +lidské vnímání podobnosti

sada objektů S U +míra podobnosti/odlišnosti na U

klasická extrakce vlastností: 1) „ruční“ návrh reprezentace dokumentů – schéma univerza U2) „ruční“ návrh měření podobnosti/odlišnosti – míra d na U3) „ruční“ návrh metody extrakce – doménově závislá metoda

mapování:1) automatický návrh reprezentace dokumentů – vektory dimenze k2) automatický návrh měření vzdálenosti – předdefinovaná metrika (např. L2)3) automatická extrakce – jedna z univerzálních metod (viz dále)

sada vektorů S’ Rk +metrika na Rk

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

Mapování – definice a vlastnosti

zobrazení (vnoření) prostoru (S, d) do (Rk, ) formálně F: S Rk

1/c1 * d(O1,O2) (F(O1, O2)) c2 * d(O1, O2) nejmenší c1*c2 určuje zkreslení vzdáleností (distortion) obecně zkreslení nemusí existovat, resp. může být nekonečné každý konečný metrický prostor lze vnořit do Euklidovského prostoru

(tj. do (Rk, L2)) tak, že zkreslení dosahuje O(log |S|)

pokud c1 > 1 a c2 > 1, je mapování aproximativní pokud c2 = 1, je mapování kontraktivní, tj. (F(O1, O2)) d(O1, O2)

alternativní mírou zachování vzdáleností je stressO1,O2

((F(O1), F(O2)) – d(O1, O2))2 / O1,O2 d(O1, O2)2

stress měří celkovou odchylku vzdáleností, tj. rozsah, ve kterém se odlišují existují varianty

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

Mapování a dotazy (1)

dotaz často nepochází z datové sady, tj. Q U – S datová sada S je často budována dynamicky je žádoucí uvažovat F: U Rk místo F’: S Rk,

jinak: pro dynamicky rostoucí S nebo pro Q U – S vzroste zkreslení

např. kontraktivita F’ už není zaručena pro F lze aplikovat v případě, kdy se F konstruuje nezávisle na S, tj.

přímo ze znalosti U (a případně nějakých konstantních dat) bohužel, někdy to nejde, v tom případě se spoléhá na uniformitu

dat i dotazů (tj. že se zkreslení zásadně nezvýší) pro konstrukci F se použije dostatečně velký vzorek S, u kterého se

předpokládá, že je reprezentativní (popisuje distribuci i zbytku dat, včetně dotazů)

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

Mapování a dotazy (2)

nechť QRorig je výsledek dotazu provedeného v původním prostoru (S, d) a QRmap je výsledek dotazu provedeného v novém prostoru (Rk, ), potom objekt Oi QRmap a zároveň Oi QRorig je false hit objekt Oi QRmap a zároveň Oi QRorig je false drop

obecně při nenulovém zkreslení vzdáleností (aproximativní mapování) dochází i ke zkreslení výsledků dotazů může nastat QRorig ≠ QRmap , přičemž QRorig QRmap a QRmap QRorig dochází jak k „false hits“, tak k „false drops“,

tj. snižuje se relativní přesnost, resp. relativní úplnost (vzhledem ke QRorig)

u kontraktivního mapování dochází u rozsahových dotazů (Q, rQ) pouze k false hits (tj. relativní úplnost je 100%) vždy platí QRorig QRmap

k false drop nemůže dojít, protože d(Q, Oi) rQ (F(Q), F(Oi)) rQ neplatí pro kNN dotazy! (lze dosáhnout kombinací vyhledávání v obou prostorech)

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

Mapování a dotazy (3)

Důsledky mapování pro vyhledávání:

aproximativní mapování aproximativní vyhledávání (false hits a false drops),

tj. nižší relativní přesnost a úplnost může výrazně zrychlit vyhledávání

levnější funkce odlišnosti ve vektorovém prostoru (navíc metrika) změna distribuce dat v prostoru – tvorba shluků

chyba vyhledávání (přesnost a úplnost) především závisí na velikosti dimenze k a na metrice

kontraktivní mapování přesné vyhledávání (vzhledem k původnímu prostoru) – false hits ve výsledku

dotazu jsou odfiltrovány v druhé fázi vyhledávání (pomocí původní podobnosti), false drops nejsou

zrychlení vyhledávání levnější funkce odlišnosti ve vektorovém prostoru (navíc metrika) pro první fázi

filtrování nicméně původní drahou podobnostní funkci je třeba použít pro druhou fázi filtrování

efektivita filtrování závisí na velikosti dimenze k a na metrice

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

Mapování vektorů do vektorů

Důvody pro „přemapování“ vektorů:

redukce dimenze z N do k, kde k << N nižší nároky na uložení i vyhledávání

levnější funkce podobnosti (metrika) díky nižší dimenzi nižší složitost (např. od kvadratické formy k L2)

zanedbání méně významných dimenzí (resp. podprostorů) tak, že přesnost a úplnost je ovlivněna pouze marginálně

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

Triviální redukce dimenze

prosté zanedbání některých dimenzí ručně, uživatel určí nejméně důležité dimenze automaticky, statistickou analýzou

„příspěvků“ dimenzí omezené využití – tam, kde jsou

dimenze striktně nezávislé a výrazně se liší distribuce na jednotlivých dimenzích

výhoda: nezávislost mapování na S a dotazech, tj. F: U Rk

kontraktivní např. pro Lp metriky důkaz triviální:

ubereme „ příspěvek“ dané dimenze = zmenšení celkové vzdálenosti

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

Indexování latentní sémantiky - LSI

indexační schéma využívající aproximativního mapování F: RN Rk pomocí singulárního rozkladu (SVD) datové matice, kde d = = L2

původně navrženo pro textové dokumenty (vektorový model DIS), nicméně používá se v širším kontextu Information Retrieval

odkrývá latentní sémantiku v datech – odhaluje skryté vzory ve vektorech, tzv. koncepty (lineární kombinace původních dimenzí)

nový prostor „konceptů“, vektory „vah konceptů“

koncepty jsou navíc seřazeny podle důležitosti, tj. méně důležité koncepty (vlastně šum) lze zanedbat – další redukce dimenze

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

LSI – popis

Datová matice A řádu N x |S|, sloupce tvoří vektory (dimenze N) objektů z S.

Plný SVD rozklad:

A = V WT, kde sloupcové vektory ve V (řádu N*N) tvoří levou singulární bázi, sloupcové

vektory ve W (řádu |S|*|S|) tvoří pravou singulární bázi a diagonální matice (řádu N*|S|) obsahuje klesající singulární čísla 1 ≥ 2 ≥ ... ≥ min(N,|S|) příslušná k singulárním vektorům.

Popis matic důležitých pro LSI:V – sloupce tvoří bázi konceptů v původním prostoru WT – sloupcemi jsou namapované vektory (vyjádřené v bázi konceptů)VTq – projekce dotazového vektoru q do cílového prostoru, používá se

pro porovnávání s vektory ( WT)i

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

Redukovaný SVD rozklad

Místo plného SVD rozkladu se používá redukovaný rank-k SVD rozklad:

Ak = Vk k WkT

kde k << N, Vk obsahuje prvních k sloupců z V, k obsahuje prvních k singulárních čísel a Wk

T obsahuje prvních k řádků WT , tj. obdržíme namapované vektory dimenze k (sloupce k Wk

T)

Ak je nejlepší aproximace A (důkaz Eckart aYoung) ze všech matic hodnosti k ve smyslu Frobeniovy normy, tj. pro Ak je minimální

||A – Ak ||F = sqrt(2k+1

+ 2k+2 + 2

k+3 + ... + 2rA )

Pro rank-k SVD existují rychlé numerické metody - “Lanczos”, “Arnoldi”...

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

kolekce 730 obrázků domů

Příklad LSI na obrázcích (1)

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

Nechť matice A reprezentuje kolekci obrázků. Každý sloupec v A je jeden “dlouhý” vektor, v případě obrázků vektor jasů všech pixelů.

a) Skenujeme pixely každého obrázku a vytvoříme vektor obrázku Vi:

b) Vektor obrázku Vi: Vi = (251,250,251,251,249,247,252,249,244,242,216,227,...)T

251 250 251 250 250 251 251 249 247 252 249 244 242 216 227 221 200 227 208 ...

208 140 196 232 230 211 241 248 225 199 193 251 251 251 251 251 251 251 251 ...

251 250 255 254 229 170 178 231 254 255 251 250 251 251 251 251 251 251 255 ...

...

251 101 254 61 59 110 251 230 56 59 45 180 ...

250 114 254 69 54 129 250 230 53 56 41 138 ...

255 107 228 149 54 175 251 232 60 53 40 211 ...

254 107 162 107 54 168 251 232 60 53 62 215 ...

229 108 113 55 50 202 251 227 54 55 62 190 ...

170 140 112 56 47 236 251 196 55 54 78 40 ...

178 183 121 56 46 230 251 141 53 57 92 62 ...

231 198 105 59 41 240 251 178 56 68 114 62 ...

254 210 76 57 50 250 255 202 59 66 123 78 ...

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

A =

N = výška*šířkanapř. 4800 = 60*80

Nechť počet obrázků v kolekci je |S|, potom matice A je řádu N x |S|

např. 4800 * 730

Příklad LSI na obrázcích (2)

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

Vizualizace matice A (prvních 20 sloupcových vektorů obrázků):

...Vizualizace matice V (levá báze singulárních vektorů – obrázkové koncepty):

...

...

Díky povaze matice A (přímo jasy pixelů) můžeme hovořit o “singulárních obrázcích” namísto levých singulárních vektorů ve V. Každý “singulární obrázek” je nějakou měrou přítomen ve všech indexovaných obrázcích. Tato míra je daná velikostí hodnot singulárních čísel i, tj. první singulární obrázky jsou nejdůležitější (připomíná DCT frekvence.)

0 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19

0 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19

30 31 32 33 34 35 36 37 38 39

Příklad LSI na obrázcích (3)

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

Příklad LSI na obrázcích (4)Důležitost levého singulárního vektoru Vi (singulárního obrázku) je dána

hodnotou i. Singulárních čísel je maximálně |S|.

Příklad, diagonála v je: = 105 * (2.2555, 0.3386, 0.2615, 0.2222, 0.1822, 0.1675, 0.1485, 0.1402, 0.1254,

0.1238, 0.1191, 0.1155, 0.106, 0.1, 0.0989, 0.0963, 0.0924, 0.0908, 0.0867, 0.0835, 0.0823, ...)

Singular values

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 145 151 157 163 169 175 181 187 193 199

Singular value order

Rat

io to

the

larg

est s

ing.

valu

e

k = 50

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

Původní obrázky (jasy) – matice A:

Visualizace chyby aproximace pomocí rank-k rekonstrukce:

Rank-15 SVD, rekonstruované obrázky – matice A15:

- pouze hrubé obrysy původních obrázků

Příklad LSI na obrázcích (5)

0 10 20 30 40 50 60 70 80 90

100 110 120 130 140 150 160 170 180 190

0 10 20 30 40 50 60 70 80 90

100 110 120 130 140 150 160 170 180 190

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

Původní obrázky – matice A:

Rank-50 SVD- jemnější obrysy, hrubé detaily původních obrázků

Rank-250 SVD - ještě jemnější obrysy, více detailů

Příklad LSI na obrázcích (6)

0 10 20 30 40 50 60 70 80 90

100 110 120 130 140 150 160 170 180 190

0 10 20 30 40 50 60 70 80 90

100 110 120 130 140 150 160 170 180 190

0 10 20 30 40 50 60 70 80 90

100 110 120 130 140 150 160 170 180 190

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

Náhodné projekce (random projections - RP)

LSI, resp. SVD, je výpočetně drahé mapování – levnou variantou redukce dimenze jsou náhodné projekce matice A

pomocí projekční matice R se datová matice A promítne do RTA (místo projekce VTA u LSI)

R se zkonstruuje tak, že její prvky jsou nezávislé náhodné proměnné a řádky matice mají nulovou střední hodnotu a jednotkový rozptyl klasická náhodná projekce – prvky R mají normální rozložení na

intervalu 0..1 jednoduchá náhodná projekce (dvě varianty)

R obsahuje celá čísla {-1, 0, 1}, resp. jejich násobky 3, 0 má pravděpodobnost 2/3 a 1 má pravděpodobnost 1/6

R obsahuje celá čísla {-1, 1}, 1 má pravděpodobnost ½ aby R byla projekční, musí být sloupcově ortonormální, nicméně při

dostatečně velké dimenzi a výše zmíněné konstrukci je to „skoro“ pravda, tj. RTR je „skoro“ identita

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

Srovnání LSI a náhodných projekcí experimentální srovnání pro vektorový model (VM) v Text Retrieval

data: cca 17000 dokumentů LATimes o cca 50000 termech, tj. vektory dimenze 50000, redukce do dimenze 50,100,250,500,1000

výhody náhodných projekcí mnohem levnější než SVD (levné generování R oproti výpočtu V) vzdálenosti jsou poměrně dobře zachovány (pro rozumné k)

nevýhody proti LSI potřeba větší k pro srovnatelné zachování vzdáleností neexistují koncepty, sloupce projekční matice R jsou všechny „stejně důležité“