Távolságok, hasonlósági mértékek, dinamikus idővetemítés.

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

Nevezetes algoritmusok
Adatelemzés számítógéppel
Fejmozgás alapú gesztusok felismerése
C++ programozási nyelv Gyakorlat hét
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal.
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
A hatágú csillag (12 oldalú poligon) kerülete K1= (4/3)K0= 4,
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Illés Tibor – Hálózati folyamok
INFOÉRA Dinamikus programozás (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai képzések.
Egy f  R[x] polinom cS -beli helyettesítési értéke
Táblázat kezelő programok
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Excel: A diagramvarázsló használata
Naïve Bayes, HMM.
Lineáris és nemlineáris regressziók, logisztikus regresszió
Bioinformatika Szekvenciák és biológiai funkciók ill. genotipusok és fenotipusok egymáshoz rendelése Kós Péter 2009.XI.
Osztályozás -- KNN Példa alapú tanulás: 1 legközelebbi szomszéd, illetve K-legközelebbi szomszéd alapú osztályozó eljárások.
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Mutatók, tömbök, függvények
Készítette: Pető László
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
AVL fák.
A digitális számítás elmélete
Vámossy Zoltán 2006 Gonzales-Woods, SzTE (Kató Zoltán) anyagok alapján
Szűrés és konvolúció Vámossy Zoltán 2004
Prím algoritmus.
„Országos” feladat. Feladat: Egy tetszőleges, színes országokat tartalmazó térképen akar eljutni egy kommandós csapat egy országból egy másikba. Viszont.
Regresszióanalízis 10. gyakorlat.
Hierarchikus klaszteranalízis
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Microsoft Excel Függvények VII..
Készítette: Kosztyán Zsolt Tibor
Az Alakfelismerés és gépi tanulás ELEMEI
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Dr. Balogh Péter Gazdaságelemzési és Statisztika Tanszék DE-AMTC-GVK
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
Összetett adattípusok
Statisztika.
Lineáris programozás.
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Optimalizáció modell kalibrációja Adott az M modell, és p a paraméter vektora. Hogyan állítsuk be p -t hogy a modell kimenete az x bemenő adatokon a legjobban.
Matematika II. 1. előadás Geodézia szakmérnöki szak 2010/2011. tanév Kataszteri ágazat tavaszi félév.
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Adatbányászati módszerek a térinformatikában
Alapsokaság (populáció)
Csempe Programozás érettségi mintafeladat
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
MI 2003/ Mi lenne a b legjobb választása? Statisztikai eljárásoknál az un. Fisher féle lineáris diszkriminancia függvény adja a legjobb szétválasztási.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Dr. Bánkuti Gyöngyi Klingné Takács Anna
Táblázatkezelés KÉPLETEK.
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Business Mathematics A legrövidebb út.
Valószínűségszámítás II.
előadások, konzultációk
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
MI 2003/8 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Struktúra predikció Struktúra lehet Felügyelt tanulási probléma
OPERÁCIÓKUTATÁS TÖBBCÉLÚ PROGRAMOZÁS. Operáció kutatás Több célú programozás A * x  b C T * x = max, ahol x  0. Alap összefüggés: C T 1 * x = max C.
KNUTH-MORRIS-PRATT ALGORITMUS (KMP) KÉSZÍTETTE: ZELNIK MÁRTON.
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
Nevezetes algoritmusok
Mesterséges intelligencia
Algoritmusok és Adatszerkezetek I.
A mesterséges neuronhálók alapjai
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Távolságok, hasonlósági mértékek, dinamikus idővetemítés.

Pl. bármilyen tárgy helyzete jellemezhető a 3 dimenziós térben 3 koordinátával (legyen az távolság, vagy szög) De vannak változó hosszúságú vektorral megadott objektumaink is, amiket össze szeretnénk hasonlítani. Pl. DNS szekvencia: ACTCATCAGGGT… Vagy szósorozatok, karaktersorozatok Egy beszédfelismerő rendszer kiértékelésekor azt nézzük meg, hogy a felismert szósorozat mennyire hasonlít –vagy tér el– a felismerendőtől.

Objektumok megadásának típusai: Azonos attribútumszámmal rendelkező vektorok. Pl. Autó: (szín, típus, gyártási év) Vagy szövegek szógyakorisága rögzített szótár mellett Hanganalízisben (fonémafelismerésben, izolált szó felismerésben, „szegmens alapú” módszereknél), egy rögzített időtartamú beszédjelet egyenlő k db. intervallumra osztunk. Változó hosszúságú vektorok. Pl. gének, fehérjék, változó hosszúságú betűszekvenciákkal írhatók le. Időben (vagy valamilyen dimenzió szerint) változó hosszúságú valós adatok Beszédfelismerés: egy fonéma (beszédhang), vagy szó, stb. kiejtése különböző ideig tart, így több-kevesebb vektorral jellemzett, ha rögzített időközönként van mintavételezés. Ezzel párhuzamosan, sok minden, ami pl. emberi beavatkozáson múlik változó hosszúságú vektorral jellemezhető, pl. kézírás.

Távolságok azonos attribútumszám (és típus) mellett Ezeket a távolságokat használhatjuk klaszterezési eljárásoknál, illetve osztályozási problémák esetén mint jellemző mennyiséget (attribútum). Legyenek a pontjaink x=(x1,…, xn) és y=(y1,…, yn). Az x és y vektorok távolságát jellemezzük egy d=|x-y|=|z| mértékkel: Minkowski: p=2: Euklideszi (a legtöbbször használt mérték) P=végtelen: Maximum P=1: Manhattan Ez pl. bináris attribútumok esetében az eltérő bitek száma Koszinusz hasonlóság/távolság (pl. szövegbányászatban sokszor) két vektor közötti szögre, vagy annak koszinuszára épül:

Különböző hosszúságú vektorok távolsága Szerkesztési távolság alapú módszerek Folytonos változata (az attribútumok valós értékűek) a dinamikus idővetemítés Ezek mind dinamikus programozáson alapuló módszerek 2 dim. táblázatkitöltés, így általában o(nm) (n, m a sorozatok hossza), kivéve, ha heurisztikával gyorsítottak, de akkor a pontosság nem garantált A dinamikus idővetemítésnél fejlettebb (azaz nem távolság, hanem statisztikai alapú rokon) módszer a Rejtett Markov Modell (HMM), erről később...

Edit Distance (szerkesztési távolság, v. Levenshtein távolság) Két karaktersorzat (azonos rögzített véges értékkészletű véges sorozatok) közötti távolság. Legyenek ezek a sorozatok (x1,…,xm) és (y1,…,yn). A távolságuk (vagy más feladatoknál a hasonlóságuk) a következő zm,n érték:

Az alapalgoritmus számításánál zi,j midig csak a zi,j-1, zi-1,j, zi-1,j-1 értékektől függ, mert ezek az elemek midig az optimális értéket (legkisebb távolságot) tárolják, és ez a tulajdonság továbbszámoláskor megmarad. Def.: a z=(z1,...,zn) az y=(y1,...,ym) részsorozata, ha abból betűk törlésével megkapható. Leghosszabb közös részsorozat fogalma: a z=(z1,...,zk) az x=(x1,...,xn) és y=(y1,...,ym) leghosszabb közös részsorozata, ha részsorozata x-nek és y-nak, és az ilyenek közül maximális hosszúságú. Edit Distance: két sorozat szerkesztési távolsága adja meg, hogy legkevesebb hány beszúrás és törlés művelettel kaphatjuk meg az egyik sorozatból a másikat. Kapcsolat ED és MKS között: ED(x,y)=|x|+|y|-2*|LKR(x,y)| Biz. HF.

LKR számítás Megnézi, Algoritmusok tárgyból volt.

Szerkesztési távolság számítás D(i,j) = a legkisebb távolság az s1…si, és t1…tj között. D(i,j)= min Inicializálás: D(i,0)=i, D(0,j)=j Visszafejtés: eltároljuk a legkevesebb költségű utat (minden csúcsban eltároljuk, hogy melyik irányból kaptuk az értékét) Nyilván, nem feltétlenül egyértelmű Az átlós lépések megadják a LKR-t. D(i-1,j-1) ha si=tj D(i-1,j)+1 (beszúrás) D(i,j-1)+1 (törlés)

Más változatok Needleman-Munch: (a beszúrás/másolás költsége egy mátrix) Smith-Waterman: a dinamikus táblázatkitöltés során van egy maximális távolságküszöb, amely fölé nem mehet az érték Affin hézag távolság: az ismételt törlések beszúrások olcsóbbak.

Needleman-Munch Egy mátrix, ami definiálja 2 karakter közötti távolságot (büntetést) helyettesítéskor. G az ún. „gap” vagy „hézag” költség, konstans.

Smith-Waterman algoritmus A táblázat értéke bárhol nullává válhat, ha sokszor nincs egyezés. A célérték nem a jobb alsó sarokban lévő szám, hanem a táblázatban előforduló legkisebb szám. Kategória: „lokális illesztés” (ellentétben az eddigi globálissal.)

SW példa: „local alignment” Most a távolság helyett a hasonlóság v. illeszkedés terminológiával (ezért vannak most pozitív számok):

Affin hézag távolság Ötlet: egy hosszú beszúrássorozat esetén az SW nem ad jó eredményt (minden kinullázódik). A hosszú „gap” sorozatnak legyen kevesebb büntetése: A + (n-1)B, ahol A a nyitó hézag, míg B a további hézagok büntetése.

FASTA és BLAST Itt az alapfeladat: egy szekvenciákat tartalmazó nagy méretű adatbázisból ki kell választanunk egy lekérdezéshez (szekvenciához) legjobban hasonlító szekvenciákat. Az eredmény lehet egy legjobb, illetve az első valahány legjobb (ekkor a válasz egy rangsorolt lista).

FASTA Alapötlet: a dinamikus programozásos illesztés megszorítása diagonálishoz közeli elemekre. De mi legyen a szélesség?

1. lépés Rövid szóegyezések keresése (HASH tábla használatával, ez adatbázisra előre kiszámolva a pozíciókat)

2.: kiválasztjuk a 10 legjobb illesztést. 3.: Összefűzhetőség: csak azokat az illeszkedéseket tartjuk meg, amik jól összefőzhetők nagyobb pontszámú illesztéssé

4.: erre a diagonális tartományra megszorított SW-vel illesztést optimalizálunk.

Blast (Basic Local Alignment Search Tool) Heurisztikus módszer, amely végül mohón illesztett legnagyobb pontszámú sorozatokat értékel ki statisztikai teszttel: mennyire valószínű(bb) az, hogy a lekérdezéshez tartozó vektorban, és az adatbázis egy vektorában az illesztés megtalálható (egy véletlen szekvenciához viszonyítva)

1.: a lekérdezés minden k-as darabjára vesszük az abból helyettesítéssel kapható k hosszú szekvenciákat, és ezeket pontozzuk egy helyettesítési mátrixnak megfelelően. A pontozás után, csak egy küszöbérték feletti pontszámmal rendelkező szavakat tartjuk meg.

2.: az adatbázisból kinyerjük minden szekvenciára az egzakt egyezéseket.

3.: minden adatbázis-szekvenciában, minden egzakt egyezést két irányban kiterjesztünk addig, amíg a pontszám elég magas (egy küszöbérték felett van). A query és egy DB szekvencia hasonlóságát statisztikai teszt alapján kapjuk.

Dinamikus idővetemítés (Dynamic Time Warping) Egy objektumnak megfelelhetnek időben (vagy valamilyen folytonos attribútum szerint) változó hosszúságú jellemzővektor-sorozatok. Pl. izolált szó felismerésnél (beszédfelismerés), vagy kézírás felismerésnél.

A feladat megfogalmazása Vannak sablon (template) vektoraink (pl. különböző szóbemondások, amikhez majd viszonyítunk) Kapunk egy új vektort. Kérdés: hogyan transzformáljuk az új és a template vektor időtengelyét, hogy minél nagyobb egyezés jöjjön létre a minta és a tesztadat között. A transzformáció büntetéssel jár (növeli a távolság értékét), és adottak különböző szabályok, megkötések. Az adatsoroknak egy olyan párosítását határozzuk meg, hogy az egyes párok eltéréseinek összege minimális legyen (és ez az érték maga a két vektor távolsága).

Dinamikus programozás j t: input vektorsorozat r: referencia, v. sablon vektorsorozat DTW visszavezetés: r(j) t(i-1) t(i) i

Változatok: A keresési tér megszorítása: Lehetséges útvonalak a DTW rácson: Különböző típusú lépések büntetése (súlyozása) Hossznormalizáció (különböző DTW-k összehasonlíthatóságáért)