P(m1|l1, f1, z0)

advertisement
Modelowanie zależności ekspresji genów
Paweł Szlendak
Promotor: dr inż. Robert Nowak


INPUT: zestaw danych
Atrybut A
Atrybut …
Atrybut X
12.4
0
‘istnieje’
23.6
1
‘nie istnieje’
OUTPUT: zależności przyczynowo-skutkowe atrybutów
A
C
D
B
…
X
Występy w poprzednich turniejach
Drużyna
M
Z
F
L
T
Drużyna 1 0
0
1
1
0
Drużyna 2 1
1
0
1
0
Drużyna 3 1
1
1
1
1
…
…
…
…
…
…
M – byli już mistrzami
Z – są zmęczeni sezonem
F – są w formie
L – mają łatwą grupę
T – mają dobrą technikę
BUDOWA STRUKTURY
Z
F
L
M
T
M – byli już mistrzami
Z – są zmęczeni sezonem
F – są w formie
L – mają łatwą grupę
T – grają technicznie
UCZENIE PARAMETRÓW
Z
P(z1) = 0.6
P(f1|z1) = 0.05
P(f1|z0) =0.3
F
L
P(m1|f1, l1) = 0.2
P(m1|f1, l0) = 0.1
M
P(l1) = 0.2
INTERFERENCJA
P(m1|f0, l1) = 0.02
P(m1|l1, f1, z0) = ?
P(m1|f0, l0) = 0.01
T
P(t1|m1) = 0.7
P(t1|m0) = 0.4
Jakie jest prawdopodobieństwo, że Polska
zdobędzie mistrzostwo, wiedząc że mamy łatwą
grupę a zawodnicy są w formie i nie są
zmęczeni?
F
T
M
20% szans, że Polacy zdobędą mistrzostwo
Z
L
Sieć Bayesa to para (G, P) spełniająca warunek
Markova, gdzie P to łączny rozkład
prawdopodobieństwa zmiennych losowych
ze zbioru V, a G = (V, E) to DAG.
Uczenie sieci Bayesa
 Budowa grafu
▪ Z wiedzy eksperta
▪ Z danych
 Uczenie się parametrów
 Interferencja

Problem optymalizacji kombinatorycznej
 Search
- zbiór grafów DAG
Na przykład:
|G3| = 25
|G5| = 29000
|G10| = 4.2 x 1018
 Score


Algorytm ‘k2’
 Gdy znamy potencjalnych kandydatów na
rodziców dla danego węzła
Algorytm ‘dag search’
 Każdy węzeł może być rodzicem danego
węzła
void k2(int k, int n, data d, Pred(Xi), ParentSet& PAi ) {
for(i=1; i <= n; i++) {
PAi= Ø;
P = score(d, Xi, PAi);
findmore = true;
//są nieprzejrzane węzły w Pred(Xi)
while (findmore && |PAi| < k) {
Z = node in Pred(Xi) – PAi that maximizes score(d, Xi, PAi u {Z});
Pnew = score(d, Xi, PAi u {Z});
if (Pnew > Pold) {
Pold = Pnew;
PAi = PAi u {Z};
}
else
findmore = false;
}
}
}
}
Kolejność :
Z, F, L, M, T
Score = 5
Z
Z
Score = 7
Graf:
<empty>
Z
Score
=2=3
Score
Score = 4
F
Z
L
F
Score = 3
L
Score = 2
M
Z
Z
F
L
Z
F
T
L
L
F
void dag_search (data d, EdgeSet& E) {
E = Ø;
G = (V, E);
do
if (any DAG in the neighborhood of current DAG increases score(d, G))
modify E according to the one that increases score(d, G) the most;
while (some operation increases score(d, G));
}
Grafy w sąsiedztwie grafu G: grafy otrzymane
przez operacje dodaj krawędź, usuń krawędź,
zmień kierunek krawędzi na grafie G
 Zastosowanie sieci Bayesa do
modelowania ekspresji (aktywności)
genów
 Technologia microarray DNA
Badany Gen 1
…
Gen M
1
12.3
…
45.6
…
…
…
…
N
18.3
…
23.9


N << M
‘Ciągłe’ wartości ekspresji
genów
 Relacje Markova
 Kilka podobnie ocenionych sieci,
szukamy stałych Markov blankets
 Relacje kolejności
 Kilka najwyżej ocenionych sieci,
sprawdzamy czy X jest rodzicem Y we
wszystkich sieciach

Dla każdej pary atrybutów X, Y policzyć:

Obliczyć maksymalne drzewo rozpinające na
grafie pełnym z powyższymi wagami
krawędzi (np. Boost Graph Library)
Ukierunkować krawędzie wedle uznania

Download