Sieci Bayesa Modelowanie zalenoci ekspresji genw Pawe Szlendak
Sieci Bayesa Modelowanie zależności ekspresji genów Paweł Szlendak Promotor: dr inż. Robert Nowak
O co chodzi? � 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
Przykład - Dane 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 Drużyna 3 1 1 1 … … … M – byli już mistrzami Z – są zmęczeni sezonem F – są w formie L – mają łatwą grupę T – mają dobrą technikę
Przykład – Graf zależności I 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
Przykład – Graf zależności II UCZENIE PARAMETRÓW Z P(z 1) = 0. 6 P(f 1|z 1) = 0. 05 P(f 1|z 0) =0. 3 F L P(m 1|f 1, l 1) = 0. 2 P(m 1|f 1, l 0) = 0. 1 M P(l 1) = 0. 2 INTERFERENCJA P(m 1|f 0, l 1) = 0. 02 P(m 1|l 1, f 1, z 0) = ? P(m 1|f 0, l 0) = 0. 01 T P(t 1|m 1) = 0. 7 P(t 1|m 0) = 0. 4
Przykład – Graf zależności III 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?
Warunek Markova F T M 20% szans, że Polacy zdobędą mistrzostwo Z L
Sieć Bayesa - Definicja 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.
Sieci Bayesa – Data mining �Uczenie sieci Bayesa Budowa grafu ▪ Z wiedzy eksperta ▪ Z danych Uczenie się parametrów �Interferencja
Budowa grafu z danych Problem optymalizacji kombinatorycznej Search Score - zbiór grafów DAG Na przykład: |G 3| = 25 |G 5| = 29000 |G 10| = 4. 2 x 1018
Algorytmy budowy grafu �Algorytm ‘k 2’ 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
Algorytm k 2 void k 2(int k, int n, data d, Pred(Xi), Parent. Set& 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; } }
Przykład Kolejność : Z, F, L, M, T Score = 5 Z Z Score = 7 Graf: <empty> Z Score =2=3 Score = 4 F Z L F Score = 3 L Score = 2 M Z Z F L Z F T L L F
Algorytm dag search void dag_search (data d, Edge. Set& 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
Sieci Bayesa w bioinformatyce �Zastosowanie sieci Bayesa do modelowania ekspresji (aktywności) genów �Technologia microarray DNA
Technologia mikromacierzy DNA
Dane z mikromacierzy 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
Szukanie wzorców ekspresji �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
Jak łatwo zbudować sieć? �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
Sieci Bayesa – Pytania?
- Slides: 20