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[q t = S i | q t-1 = S j, q t-2 = S k …]= =P [q t = S i | q t-1 = S j ] - az időtöl független: a ij =P [q t = S i | q t-1 = S j ]
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={S 3, S 3, S 3, S 1, S 1, S 3, S 2, S 3 } P(O|Modell)=P[S 3 ] P[S 3 |S 3 ] P[S 3 |S 3 ] P[S 1 |S 3 ] P[S 1 |S 1 ] P[S 3 |S 1 ] P[S 2 |S 3 ] P[S 3 |S 2 ] =1 a 33 a 33 a 31 a 11 a 13 a 32 a 23 = = …
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={S i, S i, S i, S i, S i, …, S k }, d darab S i P(O|Modell, q 1 =S i )=(a ii ) d-1 (1-a ii )=p i (d) p i (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 p i (d)-nek: 1/(1-a ii ) 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)=b 1 (1), P(kék)=b 1 (2), P(zöld)=b 1 (3), P(sárga)=b 1 (4), … 2-es pohár: P(piros)=b 2 (1), P(kék)=b 2 (2), P(zöld)=b 2 (3), P(sárga)=b 2 (4), … N-edik pohár: P(piros)=b N (1), P(kék)=b N (2), P(zöld)=b N (3), P(sárga)=b N (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={a ij } a ij =P[q t+1 =S j |q t =S i ] 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[v k (t)|q t =S j ] 1<=j<=N, 1<=k<=M Kezdő állapot valószínűségi eloszlása (kezdeti valószínűségek), pi={pi i } pi i =P[q 1 =S i ] 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={O 1, O 2, O 3, O 4, O 5 } megfigyelési sorozatot: 1. Választunk egy kezdő állapotot q 1 =S i a pi i kezdő állapot valószínűségi eloszlás szerint 2. Legyen t=1 3. Válasszunk egy megfigyelési jelet (O t =v k ) az i állapotnak megfelelő eloszlás szerint (b i (k)) 4. Válasszunk egy új állapotot (q t+1 =S j ) 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={O 1, O 2, … O T } 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 ={O 1, O 2, … O T } megfigyelési sorozat és egy modell, akkor hogyan válasszuk ki azt a Q=q 1, q 2, …q T á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=q 1 q 2… q T ) amely a megfigyelési sorozatot generálta. Ekkor: P(O|Q, Modell)=b q1 (O 1 )b q2 (O 2 )…b qT (O T ) Ennek az állapot sorozatnak a valószínűsége: P(O| Modell)=pi q1 a q1q2 …a qT-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) N T pl. ha N=5 és T=100 akkor en műveletet kell elvégezni.
Rejtett Markov lánc Dinamikus programozás eljárás: Forward Backward algoritmus Definiáljuk x t (i) forward változót a következőképpen: x t (i)=P(O 1, O 2, … O T,q T =S i | Modell) vagyis annak a valószínűsége, hogy a megfigyelési sorozatot a t időpontig megfigyeltük és ekkor az S i állapotban van feltéve a Modell-t. x t (i) értékét az előző időpontra számolt értékből számolhatjuk inicializáció: x 1 (i)=pi i b i (O 1 ) indukció: x t+1 (j)=[SUMM(x t (i)a ij )] b j (O t+1 ) termináció: P(O|Modell)=SUMM(x T (i)) Lépések száma N 2 T, pl. N=5 és T=100: 3000 művelet