Hasonlóság, távolság LSH Bloom filterek. Adatbányászat. Mértékek hasonlóságok, távolságok Minhash és LSH. Szegedi Tudományegyetem.

Hasonló dokumentumok
Adatbányászat. Klaszterezés Szociális hálózatok. Szegei Tudományegyetem. Lehetetlenségi tétel Hierarchikus eljárások Particionáló módszerek

A segédletben található esetleges hibákkal kapcsolatos visszajelzéseket szívesen veszem.

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

17. előadás: Vektorok a térben

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Struktúra nélküli adatszerkezetek

Matematika (mesterképzés)

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Matematikai alapok és valószínőségszámítás. Statisztikai becslés Statisztikák eloszlása

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

INFORMATIKA javítókulcs 2016

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

LINEÁRIS ALGEBRA. matematika alapszak. Euklideszi terek. SZTE Bolyai Intézet, őszi félév. Euklideszi terek LINEÁRIS ALGEBRA 1 / 40

10. gyakorlat Struktúrák, uniók, típusdefiníciók

Numerikus módszerek 1.

Funkcionálanalízis. n=1. n=1. x n y n. n=1

egyenlőtlenségnek kell teljesülnie.

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Numerikus módszerek beugró kérdések

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Gyakorló feladatok javítóvizsgára szakközépiskola matematika 9. évfolyam

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

Skalárszorzat, norma, szög, távolság. Dr. Takách Géza NyME FMK Informatikai Intézet takach/ 2005.

Vektorterek. =a gyakorlatokon megoldásra ajánlott

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Lin.Alg.Zh.1 feladatok

Lin.Alg.Zh.1 feladatok

x, x R, x rögzített esetén esemény. : ( ) x Valószínűségi Változó: Feltételes valószínűség: Teljes valószínűség Tétele: Bayes Tétel:

Totális Unimodularitás és LP dualitás. Tapolcai János

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Nagy Gábor compalg.inf.elte.hu/ nagy

A valós számok halmaza

Bevezetés az algebrába 2 Vektor- és mátrixnorma

Trigonometria Megoldások. 1) Oldja meg a következő egyenletet a valós számok halmazán! (12 pont) Megoldás:

Felvételi tematika INFORMATIKA

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

ARCHIMEDES MATEMATIKA VERSENY

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

Gauss elimináció, LU felbontás

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Matematika III előadás

VIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag. Mátrix rangja

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Saj at ert ek-probl em ak febru ar 26.

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Számítógépes döntéstámogatás. Genetikus algoritmusok

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

C programozási nyelv Pointerek, tömbök, pointer aritmetika

3 függvény. Számítsd ki az f 4 f 3 f 3 f 4. egyenlet valós megoldásait! 3 1, 3 és 5 3 1

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat

Összeállította: dr. Leitold Adrien egyetemi docens

Bevezetés a programozásba I.

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Multihalmaz, intervallumhalmaz

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Kalkulus S af ar Orsolya F uggv enyek S af ar Orsolya Kalkulus

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

32. A Knuth-Morris-Pratt algoritmus

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Követelmény a 6. évfolyamon félévkor matematikából

Diszkrét matematika gyakorlat 1. ZH október 10. α csoport

Számításelmélet. Második előadás

MATEMATIKA ÉRETTSÉGI május 8. EMELT SZINT

Adatszerkezetek 2. Dr. Iványi Péter

1. feladatsor Komplex számok

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Szinguláris értékek. Wettl Ferenc április 3. Wettl Ferenc Szinguláris értékek április 3. 1 / 28

Mátrixok 2017 Mátrixok

3. el adás: Determinánsok

Algoritmusok és adatszerkezetek gyakorlat 07

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Diszkrét Matematika. zöld könyv ): XIII. fejezet: 1583, 1587, 1588, 1590, Matematikai feladatgyűjtemény II. (

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Matematika A1a Analízis

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Hasonlósági keresés molekulagráfokon: legnagyobb közös részgráf keresése

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Lineáris algebra. (közgazdászoknak)

Gauss-eliminációval, Cholesky felbontás, QR felbontás

MATEMATIKA TANMENET SZAKKÖZÉPISKOLA 10.B OSZTÁLY HETI 4 ÓRA 37 HÉT/ ÖSSZ 148 ÓRA

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Követelmény a 7. évfolyamon félévkor matematikából

ANALÍZIS III. ELMÉLETI KÉRDÉSEK

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Számítási feladatok a Számítógépi geometria órához

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Átírás:

Adatányászat Mértékek hasonlóságok, távolságok Minhash és Szegedi Tudományegyetem Adatányászat

Halmazok hasonlósága Hasonló egyedek keresése Fontos lehet hasonló egyedek megtalálása és kiszűrése, pl. plagizálás duplikátumok kiszűrése találati listáól (Google) ajánlórendszerek (A vásárló hasonló B-hez; X termék hasonló Y-hoz) Mit értünk hasonló pont alatt? A kis távolságra lévőket. Mi legyen a távolság? Adatányászat

Halmazok hasonlósága Távolságmetrikák axiómarendszere Egy (a, ) adatpont pároson értelmezett d : Rn Rn R függvényt távolságmetrikának nevezzük, amennyien eleget tesz a következő feltételeknek:. d(a, ) (nemnegativitás). d(a, ) = a = (pozitív definitség). d(a, ) = d(, a) (szimmetria). d(a, ) d(a, c) + d(c, ) (háromszög-egyenlőtlenség). Adatányászat

Halmazok hasonlósága Távolság és hasonlóság viszonya Szoros kapcsolat a két fogalom között Viszonylag természetes átjárhatóság iztosított a két fogalom között pl. adott d(a, ) távolság esetén s(a, ) hasonlóságra tekinthetünk úgy, mint: s(a, ) = d(a, ) s(a, ) = +d(a,) s(a, ) = exp d(a,)... Adatányászat

Halmazok hasonlósága Távolságfogalmak csoportosítása Euklideszi vs. nem-euklideszi távolságok Euklideszi távolságok: az adatpontok (Euklideszi) téreli pozíciója alapján határozza meg a távolságot nem Euklideszi távolságok: az adatpontok távolsága nem a téreli, "fizikai" pozíciójuk alapján kerül meghatározásra Metrikus vs. nem-metrikus távolságok Metrikus távolság: teljesül rá a távolságmetrikák axiómarendszere Nem-metrikus távolság: nem teljesül rá a távolságmetrikák axiómarendszere Például? d(pm, PM) Adatányászat

Halmazok hasonlósága Minkowski távolság az Euklideszi távolság általánosítása /p P N ( ai i p ) d(a,) = i= p = Manhattan-távolság (` norma) a példáan 7 p = Euklideszi távolság (` norma) a példáan 5 p = Maximum (`max norma) a példáan 6 5 =(6,) (6,) a=(;) 5 6 Adatányászat

Halmazok hasonlósága Koszinusz hasonlóság a és által ezárt szög koszinusza Előnye? Hátránya? a scos (a, ) = cos Θ = kakkk (iz.: tálán) Koszinusz hasonlóság ináris vektorok esetéen? Adatányászat

Halmazok hasonlósága Koszinusz távolság A koszinusz hasonlóságól származtathatjuk pl. dcos = scos (a, ) vagy dcos = arccos scos (a, ) d(a, ) scos (a, a) = dcos (a, a) = scos (a, ) = scos (, a) dcos (a, ) = dcos (, a) Háromszög-egyenlőtlenség: a-ól c-e majd c-ől -e történő forgatások legjo eseten is csak megegyezhetnek (egyéként pedig meghaladják) az a-ól -e történő közvetlen forgatás mértékével Adatányászat

Halmazok hasonlósága Egzotikusa távolságok Változók közötti összefüggés figyelemevétele Mahalanois-távolság p dmah (a, ) = (a ) Σ (a ), ahol Σ a jellemzők által felvett értékekől számított kovarianciamátrix B A C d(a,c) < d(a,b)? Adatányászat

Halmazok hasonlósága Mi is valójáan a Mahalanois távolság? A korrelálatlan adatokon számított Euklideszi-távolság Hogy tennénk korrelálatlanná X -et? (X Rn d ) Feltehető, hogy a jellemzők várható értéke X X Σ Az az L Rd d leképezés kell, amire (L X )(XL) = I fennáll Ahonnan Σ = (LL ) Σ = LL, azaz L leképezés a Σ Cholesky-felontásáól jön Emlékeztető.) (AB) = B A, (AB) = B A, valamint (A ) = (A ).) Cholesky-felontás: szimmetrikus, pozitív definit mátrixoknak (mint amilyen Σ is) megadható egy speciális (U = L ) LU-felontása = 5?? Hogy nézne ki két korrelálatlanná tett pont távolságnégyzete? (L (a )) (L (a )) = (a ) Σ (a ) Adatányászat

Halmazok hasonlósága Dekorreláció Cholesky felontással képeken Σ=[ ; ], µ=[ ], n=5 6 6 6 6 6 6 6 Adatányászat 6

Halmazok hasonlósága Egzotikusa távolságok Változó hosszúságú jellemzővektorok Változó hosszúságú jellemzővektorok (pl. fehérjék vagy gének esetéen) Mennyire hasonló az AAGCTAA és a GGCTA sorozatok? Szerkesztési távolság: megadja, hogy a sztring hány törlés és eszúrás művelettel alakítható át sztringgé Tö fajtája is ismert (pl. súlyozott fajta, Levenshtein távolság) Dinamikus programozással megoldható O(mn) idően tálázatkitöltéssel (m és n a szavak hosszai) Szoros kapcsolat a leghossza közös részsorozat (LKR) meghatározásának prolémájával ded (a, ) = a + LKR(a, ) = 7 + 5 = Adatányászat

Halmazok hasonlósága Szerkesztési távolság példa D[, j] = j, j {,,..., n} D[i, ] = i, i {,,..., m} d(i, j) +, törlés esetén d(i, j ) +, eszúrás esetén D[i, j] = min d(i, j ) + ( a(i) == (j)), csere esetén ded (a, ) = D[m, n] A T C G G ^ 5 ^ 5 A 5 6 5 A 6 5 G 5 C 5 5 T 5 6 5 6 A 5 6 7 6 7 A Adatányászat

Halmazok hasonlósága Távolságmérték-e a szerkesztési távolság? szerkesztés nemnegatív értékű ded (a, ) ded (a, a) = a + a LKR(a, a) = ded (a, ) = ded (, a), mivel a eszúrás és törlés műveletek egymás inverzei Háromszög-egyenlőtlenség: a átírása -vé úgy, hogy előtte átírtuk c-vé nemkevese szerkesztéssel oldható csak meg, mintha egyől formára hoztuk volna a-t Adatányászat

Halmazok hasonlósága Jaccard hasonlóság sjacc (A, B) = A B A B Példa sjacc (A, B) = / =. Multihalmazok közötti hasonlóság A = {x, x, x, y }, B = {x, x, y, y, z} sjacc (A, B) = {x,x,y } {x,x,x,y,y,z} Adatányászat = /6

Halmazok hasonlósága Jaccard és Dice távolságok djacc (A, B) = sjacc (A, B) Jaccard hasonlóság egy rokona: Dice együttható sdice (A, B) = ddice (A, B) = A B A + B A B A + B Adatányászat

Halmazok hasonlósága Dokumentumok közötti hasonlóság karakter k-gramok: egy szöveg k-hosszú részsztringjeinek halmaza pl. k = és D = adca D = {a, d, dc, ca} Szóközök figyelemevétele (pl. Szeretek hagymalevest enni. és A TEK hagy ma levest enni.) k megválasztása fontos (mik lehetnek a szempontok?) Adatányászat

Halmazok hasonlósága k-gramok karakterek vs. tokenek magyar áécé mérete = (5) lehetséges -gramok = 7896 (565) P( mert ) P( qyzz ) P( yyyy ) növeljük k értékét (pl. k =) a dokumentumokat pedig a ennük szereplő k -gramok (pl. k ájton tárolt) hash értékeinek halmazával reprezentáljuk Újsághírek hasonlóságára: karakter n-gramok helyett stopszavakat követő token (szó) n-esek használata. Miért? Adatányászat

elmélete Lokalitás-érzékeny hashelés () Motiváció Tfh. hasonló dokumentumokat szeretnénk keresni N = = 6 dokumentum között Brute force megoldás: N Jaccard hasonlóság számítása másodpercenként 6 összehasonlítást elvégezve, az 5 dokumentumpár összehasonlítása tö, mint 5,5 napig tartana Adatányászat

elmélete Lokalitás-érzékeny hashelés () Keressünk egy h hasítófüggvényt, amelyre nagy valószínűséggel teljesül: s(a, ) h(a) = h() s(a, ) h(a) 6= h() Mivel a hasonló dokumentumokhoz nagy valószínűséggel egyező hasítófüggvény-értékek tartoznak, így elegendő azoknak a pontoknak az összehasonlítása, amelyekre h(a) = h() Adatányászat

elmélete Halmazok reprezentációja Lenyomatok (signatures) formájáan: karakterisztikus mátrix Elem a c d e S S S S A gyakorlatan persze nem tároljuk az egész mátrixot ritka reprezentáció Adatányászat

elmélete Minhash függvény Permutáljuk a karakterisztikus mátrix sorait Az egyes ojektumok hash értéke legyen az első nemnulla elemük pozíciója pl. hmin (S ) =, hmin (S ) = Elem e a d c S S S S Adatányászat

elmélete Minhash lenyomatok A karakterisztikus mátrix sorainak összes lehetséges permutációját kipróálva kiszámítható a Jaccard hasonlóság Határozzuk meg az adatpontok minhash függvényét a karakterisztikus mátrix sorainak töszöri véletlen permutációja mellett Az adatpontokat reprezentáljuk minhash függvényértékeik kise elemszámú (pl. elemű) vektoraként Nagy mátrix esetéen a sorok nem permutálhatók hatékonyan. Megoldás? Adatányászat

elmélete Minhash lenyomat Példa Item S S S S Inicializáló lépés S S S S h h h = x + mod 5 Adatányászat h = x + mod 5

elmélete Minhash lenyomat Példa Item S S S S. lépés S S S S h h h = x + mod 5 Adatányászat h = x + mod 5

elmélete Minhash lenyomat Példa Item S S S S. lépés S S S S h h h = x + mod 5 Adatányászat h = x + mod 5

elmélete Minhash lenyomat Példa Item S S S S h = x. lépés S S S S h min(, ) h min(, ) + mod 5 Adatányászat h = x + mod 5

elmélete Minhash lenyomat Példa Item S S S S. lépés S S S S h h h = x + mod 5 Adatányászat h = x + mod 5

elmélete Minhash lenyomat Példa Item S S S S 5. lépés S S S S h h h = x + mod 5 Adatányászat h = x + mod 5

elmélete Minhash lenyomat Példa Végső minhash lenyomatok h h S S S S Minhashek alapján S S, (,) S, (,) S,5 (,5) S, (/) ecsült (és S, (,), (,), (,), (/) a tényleges) S,5 (,5), (,), (,),5 (,) Adatányászat hasonlóságok S, (/), (/),5 (,), (,)

elmélete Lokalitás érzékeny hashelés M = [mi,j ]k n : mi,j = j adatpont sorainak i-dik permutációja mellett felvett minhash értéke osszuk fel M-et dara s soról álló lokkra (k = s) lokk, hogy azon elül teljesen megegyeznek lenyomataik a, -re jelöltként tekintünk (azonos kosára képeződnek le) kosarak s sor lokk n elem Adatányászat

elmélete Lokalitás érzékeny hashelés a, pont x soron egyezik (- típusú sor), y soron tér el (- vagy - típus) sim(a, ) = P(minhash lenyomatuk x egyezik)= x+y P(s-elemű minhash lenyomatuk valahol eltér) = sim(a, )s P(s-elemű minhash lenyomatuk alkalomól legalá egyszer egyezzen) = ( sim(a, )s ) Adatányászat

elmélete.8.6...5 Hasonlóság s=5 és =:.8.6...5 Hasonlóság P(azonos kosára kerülés) s= és =: P(azonos kosára kerülés) P(azonos kosára kerülés) P(azonos kosára kerülés) Lokalitás érzékeny hashelés s és szerepe s= és =:.8.6...5 Hasonlóság s=7 és =:.5 Hasonlóság.8.6.. Adatányászat

elmélete Lokalitás érzékeny függvénycsaládok Tfh. adva van az S tér adatpontjai fölött értelmezett d távolságmérték a hasítófüggvények egy H családja (d, d, p, p)-érzékeny, ha minden h H és (a, ) S pontpárra teljesül: d(a, ) < d P(h(a) = h()) p d(a, ) > d P(h(a) = h()) p a minhash függvények a Jaccard hasonlóságra nézve egy (d, d, ( d ), ( d ))-érzékeny családot iztosítanak (d d esetéen). Mi a helyzet, ha d < d(a, ) < d? Hamis pozitívok: h(a) = h(), holott d(a, ) > t Hamis negatívok: h(a) 6= h(), holott d(a, ) < t Az eddigieken felül elvárások: függetlenség, hatékonyság (olcsóság, kominálhatóság) Adatányászat

elmélete Lokalitás érzékeny függvénycsaládok fölerősítése ÉS konstrukciók Tfh. adott egy (d, d, p, p )-érzékeny H függvénycsalád H függvénycsalád (d, d, ps, ps )-érzékeny lesz, amennyien minden h H -ra teljesül h (a) = h () i s hi (a) = hi () : hi H Adatányászat

elmélete Lokalitás érzékeny függvénycsaládok fölerősítése VAGY konstrukciók Tfh. adott egy (d, d, p, p )-érzékeny H függvénycsalád H függvénycsalád (d, d, ( p ), ( p ) )-érzékeny lesz, amennyien minden h H -ra teljesül h (a) = h () i hi (a) = hi () : hi H Adatányászat

elmélete Lokalitás érzékeny függvénycsaládok fölerősítése ÉS-VAGY konstrukciók kominálása Tekintsünk a minhash függvényre (.,.6,.8,.)-érzékenyként ( p ) : ÉSs= -konstrukciót követő VAGY= ( ( p) ) : VAGY= -konstrukciót követő ÉSs= FP/FN? d p ( p ) ( ( p) ),9,,9,99,8,,68,5,7,,,5,6,,985,5795,5,5,75,778,,6,65,97,66655,96799,,7,,8,8785,996,,9,986,9996 Adatányászat

elmélete Lokalitás érzékeny függvénycsalád a koszinusz távolsághoz Az összehasonlítandó vektorokat vetítsük véletlen vektorok által meghatározott hipersíkokra h(a) = h() a és pontok a véletlen félterek azonos oldalaira esnek (a hipersíkot definiáló vektorral vett pontszorzataik előjelei megegyeznek) P(h(a) = h()) = d(a,) 8 (d, d, (8 d )/8, (8 d )/8)-érzékeny család Nagyszámú random vektort generálni költséges lenne megelégszünk ±-ekől álló vektorokkal Adatányászat

elmélete Nagyfokú hasonlóság mérése hatékonyan Az aan az eseten igazán hatékony, ha a pontpáronkénti hasonlóságok/távolságok nem közel azonosak Ötlet: ne hasonlítsuk össze azon (xi, xj ) pontpárokat, melyekre P(s(xi, xj ) J) =, adott J küszöértékre Egyszerűsítés: az összehasonlítandó ojektumok rendezett, karakterismétlődést nem tartalmazó sztringek Rendezett = a, karakter azonos sorrenden forduljon elő az ojektumok reprezentációian Nem valódi megkötések Heurisztikák Hossz alapú szűrés Prefix-alapú szűrés, pozíció alapú szűrés,... Adatányászat

elmélete Hossz alapú szűrés Tfh. a sztringes reprezentációjú ojektumokat hosszuk szerint rendeztük, és Ls < Lt A két sztring közötti átfedés mértéke Ls sjacc (s, t) Amennyien minket kizárólag a sjacc (s, t) J pontpárok érdekelnek, úgy LLst J Lt LJs -nek teljesülnie kell Adatányászat Ls Lt

elmélete Prefix alapú szűrés sztringet indexeljünk p hosszú prefixük szimólumaival p prefixekre teljesüljön: sim(s, t) J ps pt 6= Tfh. sim(s, t) J, mégis p s pt = Ls ps a maximális hasonlóság (amennyien t szuffixe Ls megegyezik az s sztring Ls ps hosszú szuffixével) s J > Ls L p teljesülése esetén s és t összehasonlítása fölösleges s Ls hosszú s sztring esetéen legyen ps > ( J)Ls c (ps = ( J)Ls c + ) Érdemes lehet a szimólumok természetes (lexikografikus) rendezésétől eltérni a sora állításuk során. Mégis hogy? gyakoriság szerint fordított sorrende vegyük a karaktereket Adatányászat

elmélete Prefix alapú szűrés példa Tfh. J =, 9 és s = cdefghij Ls = 9 ps =, 9c + indexelt Tfh. t reprezentációja nem szimólummal kezdődik, és sim(s, t), 9 t = acdefghij Lt = pt = (, 9) c + = a, indexelt ps pt 6= -nél nagyo szimólummal kezdődik Ekkor ps pt = sim(s, t) < J És tényleg: még t = cdefghij esetéen is sim(s, t) = Adatányászat 8 9 <, 9

elmélete Pozíció alapú szűrés Motiváció: van, hogy a prefix alapú szűrés nem elég Tfh. s = acdefghijk, t = cdefghijk, J =, 9 ps = a és pt = c (Ls = Lt = miatt) Ekkor ps pt 6=, mégis sim(s, t) = 9/ < J Ötlet: az indexelés szimólumok helyett történjen (szimólum, pozíció) párosok alapján Adatányászat

Proailisztikus adatszerkezet (Tartalmaz művelet) Implementáció: hasítófüggvények és itvektor használatával Ha egy x elem olyan értékre képeződik le, ahova már koráan képeződött le elem, akkor feltesszük, hogy már láttuk x-et Fals negatívok aránya, viszont fals pozitív találatok lehetnek Paraméterei: itvektor hossza (n), hasítófüggvények száma (k) Hatékonyságot efolyásolja még: eltárolt elemek száma (m) Linkek: Bloom filter demo és Guava API Adatányászat

elemzése Darts tála hasonlat: q mezőe r -szer dounk P(nem találunk ele egy mezőe) = q r P(r-szer nem találunk ele egy mezőe) = q = q qr r q e q r P(találat ér egy mezőt) = e q Micsoda q és r? q = n, r = m Mi történik, ha egy dartsszal töször is dohatunk? q = n, r = k m P(fals pozitív) = ( e k m n )k Adatányászat

példa Tfh. van 9 egyedünk, és egy 8 9 hosszú itvektorunk P(fals pozitív) = ( e 8 ), 75 Tfh. minden egyedhez két hasítófüggvényt számolunk P(fals pozitív) = ( e 8 ), 9 Adatányászat