200 likes | 329 Views
Csoportkeres ési eljárások. Vassy Zsolt. Tematika. Girvan Ne wm an klaszterezés Diszkrét Markov lánc: CpG szigetek Rejtett Markov lánc ADIOS. Girvan Newman. Girvan Newman. Girvan Newman. Betweenness:
E N D
Csoportkeresési eljárások Vassy Zsolt
Tematika • Girvan Newman klaszterezés • Diszkrét Markov lánc: CpG szigetek • Rejtett Markov lánc • ADIOS
Girvan Newman • Betweenness: - legrövidebb út (shortest paths): minden pont-pár között kiszámítjuk a legrövidebb utat és ezek számát összegezzük az élekre - bolyongás (random walk): minden pont-pár közötti bolyongást vizsgálunk és felösszegezzük - áramkör (current-flow): a hálózat minden pont-párjára egységnyi feszülségforrást kötünk és egységnyi ellenállást minden élre. Az áramerősség abszolút értéke lesz a betweenneess. Kirchhoff törvények alapján kiszámolható. - egyéb betweenness is definiálható
Girvan Newman • Algoritmus: 1. megkeressük az összes betweenness értéket minden élre 2. a legnagyobb értékű élt eltávolítjuk 3. újraszámítjuk a betweenness-eket a megmaradt élekre 4. ismételjük a 2. lépéstől
Girvan Newman • Zacharvy karate club:
Girvan Newman • Weblapok közötti linkek:
Diszkrét Markov lánc • Leírás: - N diszkrét állapot - szabályos időközönként a rendszer állapota megváltozik - a változás az adot állapottól függően előre meghatározott valószínűségek alapján történik - az átmenet valószínűsége csak az adott állapottól függ, amelyben a rendszer éppen tartózkodik: P[qt =Si| qt-1= Sj , qt-2= Sk …]= =P [qt =Si| qt-1= Sj ] - az időtöl független: aij=P [qt =Si| qt-1= Sj ]
Példa Diszkrét Markov láncra • Minden délben feljegyezzük hogy az idő csapadékos, felhős, napos: 3 állapot • Tfh ismerjük az állapotokat leíró feltételes valószínűségeket: • Feltéve hogy az első napon az időjárás napos volt, a modell szerint mi a valószínűsége, hogy a köv. hét időjárása napos, napos, esős, esős, napos, felhős, napos: O={S3, S3, S3, S1, S1, S3, S2, S3} • P(O|Modell)=P[S3]P[S3|S3] P[S3|S3] P[S1|S3] P[S1|S1] P[S3|S1] P[S2|S3] P[S3|S2] =1 a33 a33a31 a11 a13 a32 a23 = 1 0.8 0.8 0.1 0.4 0.3 0.1 0.2 = …
Példa Diszkrét Markov láncra • Adott napon süt a nap, mi a valószínűsége hogy még d napig süt: O={Si, Si, Si, Si, Si, …, Sk}, d darab Si P(O|Modell, q1=Si)=(aii)d-1(1-aii)=pi(d) pi(d): diszkrét valószínűségi függvény megadja a valószínűségét hogy a rendszer i állapotban d ideig tartózkodik várható értéke pi(d)-nek: 1/(1-aii) pl. folyamatosan napos napok várható értéke: 1/(1-0.8)=5
CpG Szigetek • CpG-n metilálódhat C : timinné alakul át • CpG gyakoriság a genomban ezért lényegesen kisebb, mint ami várható lenne C és G gyakorisága alapján • Promóter régiókban külön mechanizmus védi a CpG dinukleotidot a metilációtol, ezért ezeken a régiókban a CpG dinukleotidok gyakrabban megtalálhatóak mint a genom többi részén, szigeteket alkotnak • Kérdés1: el tudjuk-e dönteni egy rövíd genomiális szekvencia darabról, hogy CpG szigetből származik vagy sem? • Kérdés2: Meg tudjuk-e találni hosszabb genomiális szekvenciákban a CpG szigeteket
CpG szigetek • Markov lánc paramétereit ismert szekvenciák dipeptid gyakorisága alapján a maximális valószínűségi becsléssel adjuk meg. • Két halmaz között különbséget tudunk tenni ha a két halmaz paramétereit külön-külön becsüljük. • A becslések alapján a log-odds hányadossal különböztetjük meg őket.
Rejtett Markov lánc • Diszkért Markov lánc esetén az állapotok megfigyelhető események voltak. • Vizsgáljunk olyan Markov láncot, ahol az állapotok közvetlenül nem megfigyelhetőek (rejtettek), csak valamilyen sztochasztikus jelen keresztül • Példa: színes golyók poharakban: 1-es pohár:P(piros)=b1(1), P(kék)=b1(2), P(zöld)=b1(3), P(sárga)=b1(4), … 2-es pohár:P(piros)=b2(1), P(kék)=b2(2), P(zöld)=b2(3), P(sárga)=b2(4), … N-edik pohár: P(piros)=bN(1), P(kék)=bN(2), P(zöld)=bN(3), P(sárga)=bN(4), … Megfigyelési sorozat: piros, kék, zöld, piros, sárga, stb.
Rejtett Markov lánc modell elemei • N, az állapotok száma (pl. poharak száma) • M, megfigyelhető jelek száma (knb. színű golyók száma) • Állapot átmenetek valószínűségi eloszlása (átmeneti valószínűségek) A={aij} aij =P[qt+1=Sj|qt=Si] 1<=i,j <= N • Megfigyelési jelek valószínűségi eloszlása a j állapotban (kijelző valószínűségek), B={b j(k)} b j(k)=P[vk(t)|qt=Sj] 1<=j<=N, 1<=k<=M • Kezdő állapot valószínűségi eloszlása (kezdeti valószínűségek), pi={pii} pii=P[q1=Si] 1<=i<=N
Rejtett Markov lánc generálás • Az N, M, A, B, pi paraméterek definiálnak egy rejtett Markov lánc modellt. • Ha egy ilyen modell adott akkor a következőképpen generálhatjuk az O={O1, O2, O3, O4, O5} megfigyelési sorozatot: 1. Választunk egy kezdő állapotot q1 =Si a pii kezdő állapot valószínűségi eloszlás szerint 2. Legyen t=1 3. Válasszunk egy megfigyelési jelet (Ot =vk) az i állapotnak megfelelő eloszlás szerint (bi (k)) 4. Válasszunk egy új állapotot (qt+1 =Sj) az i állapotnak megfelelő átmenek valószínűségi eloszlás szerint 5. Legyen t=t+1 6. Ha t<T akkor folytassuk a 3. lépéstől
Rejtett Markov lánc problémái • Ha adott egy O={O1, O2, … OT } megfigyelési sorozat és egy modell, akkor hogyan számoljuk ki a megfigyelési sorozat valószínűségét feltéve az adott modellt: P(O|Modell) • Ha adott egy O ={O1, O2, … OT } megfigyelési sorozat és egy modell, akkor hogyan válasszuk ki azt a Q=q1 , q2, …qTállapot szekvenciát, ami a legoptimálisabb valamilyen értelmezés szerint • Hogyan válasszuk ki azt a modellt, amely mellett P(O|Modell) maximális
Rejtett Markov lánc • Tegyük fel hogy ismerjük az állapot sorozatot (Q=q1q2…qT) amely a megfigyelési sorozatot generálta. Ekkor: P(O|Q, Modell)=bq1(O1)bq2 (O2)…bqT(OT) • Ennek az állapot sorozatnak a valószínűsége: P(O| Modell)=piq1aq1q2…aqT-1qT • Annak a valószínűsége hogy O és Q egyszerre történjen: P(O, Q| Modell)=P(O|O,Modell) P(Q|Modell) • A megfigyelési sorozat valószínűségét megkapjuk ha az összes lehetséges állapotsorozatra összegezzük P(O, Q| Modell)-t. P(O|Modell)=SUMM(P(O|O,Modell) P(Q|Modell)) /összes Q-ra • Gond: műveletek száma: (2T-1) NT pl. ha N=5 és T=100 akkor 1072-en műveletet kell elvégezni.
Rejtett Markov lánc • Dinamikus programozás eljárás: Forward Backward algoritmus • Definiáljuk xt(i) forward változót a következőképpen: xt(i)=P(O1, O2, … OT,qT=Si | Modell) vagyis annak a valószínűsége, hogy a megfigyelési sorozatot a t időpontig megfigyeltük és ekkor az Siállapotban van feltéve a Modell-t. • xt(i) értékét az előző időpontra számolt értékből számolhatjuk inicializáció: x1(i)=pii bi (O1 ) indukció: xt+1(j)=[SUMM(xt(i)aij)]bj (Ot+1 ) termináció: P(O|Modell)=SUMM(xT(i)) • Lépések száma N2T, pl. N=5 és T=100: 3000 művelet