binarne rozszczepienia i mitoza
Transkrypt
binarne rozszczepienia i mitoza
Algorytm uzupełniania w obliczaniu reduktów tablic decyzyjnych W wielu zagadnieniach tzw. sztucznej inteligencji istotnym zadaniem jest pozyskiwanie wiedzy z baz danych. Na abstrakcyjnym poziomie algorytmów… • Redukcja atrybutów • Generacja reguł decyzyjnych ZPT Diagnostyka raka piersi Breast Cancer Database: ! Instancje (obiekty): 699 (dane poszczególnych pacjentów) ! Liczba atrybutów: 10 ! Klasyfikacja (2 klasy) Sources: Dr. WIlliam H. Wolberg (physician); University of Wisconsin Hospital ;Madison; Wisconsin; USA ZPT 1. Ocena spoistości masy nowotworowej 2. Ocena jednolitości rozmiaru komórek 3. Ocena jednolitości kształtu komórek …. 9. Występowanie podziałów komórkowych (mitoza) 2 Breast Cancer Database (fragment) ID 1000025 1002945 1015425 1016277 1017023 1017122 1018099 1018561 1033078 1033078 1035283 1036172 1041801 1043999 1044572 1047630 1048672 1049815 1050670 1050718 1054590 ZPT a1 5 5 3 6 4 8 1 2 2 4 1 2 5 1 8 7 4 4 10 6 7 a2 1 4 1 8 1 10 1 1 1 2 1 1 3 1 7 4 1 1 7 1 3 a3 1 4 1 8 1 10 1 2 1 1 1 1 3 1 5 6 1 1 7 1 2 a4 1 5 1 1 3 8 1 1 1 1 1 1 3 1 10 4 1 1 6 1 10 a5 2 7 2 3 2 7 2 2 2 2 1 2 2 2 7 6 2 2 4 2 5 ••• a6 1 10 2 4 1 10 10 1 1 1 1 1 3 3 9 1 1 1 10 1 10 a7 3 3 3 3 3 9 3 3 1 2 3 2 4 3 5 4 2 3 4 3 5 a8 1 2 1 7 1 7 1 1 1 1 1 1 4 1 5 3 1 1 1 1 4 a9 1 1 1 1 1 1 1 1 5 1 1 1 1 1 4 1 1 1 2 1 4 a10 2 2 2 2 2 4 2 2 2 2 2 2 4 2 4 4 2 2 4 2 4 3 Inne bazy danych z zakresu medycyny Audiology Database Dermatology Database ! Number of instances: 200 • Number of Instances: 366 training cases • Number of attributes: 34 ! Number of attributes: 71 • Classification (6 classes) ! Classification (24 classes) Sources: (a) Original Owner: Professor Jergen at Baylor College of Medicine (b) Donor: Bruce Porter ([email protected]) ZPT Source Information: Nilsel Ilter, M.D., Ph.D., Gazi University, School of Medicine 06510 Ankara, Turkey Phone: +90 (312) 214 1080 4 Klasyfikacja, wniosków wtedy, z baz danych Komputer jestwyciąganie niezbędny zwłaszcza kiedy ilość danych, jakie trzeba przetworzyć, jest bardzo jest skomplikowanym zadaniem… duża ZPT Komputerowe systemy klasyfikacji danych ROSETTA http://logic.mimuw.edu.pl/~rses/ http://www.lcb.uu.se/tools/rosetta/ ZPT Rough Set Toolkit for Analysis of Data Biomedical Centre (BMC), Uppsala, Sweden. 6 Typowe zadania systemów eksploracji danych • Redukcja atrybutów • Generacja reguł decyzyjnych Breast Cancer Database reducts (19): { a1, a2, a3, a4, a6 } { a1, a4, a6, a7 } { a1, a2, a6, a7 } { a1, a2, a4, a6, a9 } { a1, a2, a5, a6, a9 } { a1, a2, a6, a8 } { a1, a3, a5, a6 } { a1, a3, a4, a6, a9 } { a1, a3, a6, a8 } ZPT { a1, a5, a6, a8 } { a3, a4, a6, a8 } { a2, a4, a5, a6, a7 } { a2, a3, a4, a6, a7 } { a2, a3, a5, a6, a8, a9 } { a3, a4, a6, a7, a9 } { a2, a5, a6, a7, a8 } { a2, a5, a6, a7, a9 } { a3, a5, a6, a7 } { a5, a6, a7, a8, a9 } 7 Eksperymenty attributes objects RSES/ROSETTA prop. method reducts trains 33 10 >5 h out of memory <1 sec. 689 KAZ 22 31 70 min. <1 sec. 5574 house 17 435 4 sec. 2 sec. 1 audiology 71 200 >5 h out of memory 2 min. 37367 dermatology 35 366 >5 h out of memory 90 min. 115556 Dlaczego tak jest??? ZPT 8 Krótkie przypomnienie metody klasycznej… Przykład TL27 (z ULOGów) x4 x6 – zmienne niezbędne x1 x2 x3 x4 x5 x6 x7 f 1 1 0 0 0 1 0 1 0 2 1 0 1 1 1 1 0 0 3 1 1 0 1 1 1 0 0 4 1 1 1 0 1 1 1 0 5 0 1 0 0 1 0 1 1 6 1 0 0 0 1 1 0 1 7 1 0 1 0 0 0 0 1 8 1 0 1 0 1 1 0 1 9 1 1 1 0 1 0 1 1 Typowe postępowanie: P4 = 1,4,5,6,7,8,9; 2,3} P6 = 1,5,7,9; 2,3,4,6,8} P4•P6 = Pf = ZPT (1,5,7,9; 4,6,8; 2,3) 1,2,3,4; 5,6,7,8,9} 9 Redukcja argumentów – przykład c.d. 1, 5, 7, 9 4, 6, 8 Tablica porównań ZPT 1, 5 x1 x2 1, 7 x3 x5 x7 1, 9 x2 x3 4, 6 x2 x3 x7 4, 8 x2 x7 x1 x2 x3 x4 x5 x6 x7 f 1 1 0 0 0 1 0 1 0 2 1 0 1 1 1 1 0 0 3 1 1 0 1 1 1 0 0 4 1 1 1 0 1 1 1 0 5 0 1 0 0 1 0 1 1 6 1 0 0 0 1 1 0 1 7 1 0 1 0 0 0 0 1 8 1 0 1 0 1 1 0 1 9 1 1 1 0 1 0 1 1 x1 x3 x2 x2 x2 x5 x7 x3 x7 Tu obliczamy minimalne pokrycie kolumnowe 1 0 Redukcja argumentów – przykład c.d. x1 x3 x2 x2 x2 x5 x7 x3 x7 (x1 + x2) (x3 + x5 + x7) (x2 + x3)(x2 + x7) = = (x2 +x1)(x2 + x3)(x2 + x7)(x3 + x5 + x7) = =(x2 +x1x3x7)(x3 + x5 + x7) = = x2x3 + x2x5 +x2x7 + x1x3x7 ∪ {x4,x6} {x2,x3,x4,x6} {x2,x4,x5,x6} {x2,x4,x6,x7} {x1,x3,x4,x6,x7} Istotą każdej dotychczasowej metody redukcji atrybutów jest transformacja CNF na DNF ZPT 11 Inna metoda obliczania reduktów… polega na obliczaniu Complementu (Uzupełnienia) funkcji boolowskiej, reprezentowanej Tablicą porównań. f = x j fxj + x j fxj f = x j fxj + x j fxj Sprytna procedura uzupełniania polega na iteracyjnym rozkładzie zbioru kostek reprezentującego funkcję f na kofaktory. Kofaktory te są obliczane tak długo, aż odpowiadające im zbiory kostek staną się „łatwe” do obliczenia ich uzupełnienia. Proces kończy „scalanie” wyników cząstkowych. ZPT 12 Inna metoda obliczania reduktów… M: 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1 f M = x1x 2 x 3 + x 3 x 4 + x1x 2 + x1x 4 = = x1x 4 + x 3 x 4 + x1x 2 x3x4 x1x2 00 01 11 00 1 01 1 11 10 1 1 1 1 1 10 1 fM = x1x 3 + x x + x x 2 4 1 4 ZPT Complement funkcji jednorodnej Szczególnie prosto oblicza się uzupełnienie funkcji jednorodnej. F = x j Fx j + Fx j F = xj ⋅ F0 + F1 Kostki funkcji jednorodnej reprezentuje się binarnie. 0 1 ∗ 0 F = ∗ ∗ 1 ∗ 0 ∗ 1 ∗ 1 1 0 1 M = 0 0 1 0 1 0 1 0 Uzupełnienie oblicza się dla macierzy M. ZPT 14 Rozkład macierzy M Wybór zmiennej: 1)Wybieramy kostkę (wiersz macierzy M) z największą liczbą zer. 2) W wybranej kostce wybieramy zmienne, które mają jedynkę w tej kostce. 3) Spośród wybranych w punkcie 2) zmiennych wybieramy tę, która ma najwięcej jedynek w swojej kolumnie. ZPT 15 Rozkład macierzy M Obliczanie kofaktorów: Kofaktory macierzy M oblicza się według następującego schematu: Kofaktor jedynkowy macierzy M względem zmiennej xj otrzymujemy przez ustawienie wszystkich pozycji j- tej kolumny macierzy M na zera. Kofaktor zerowy macierzy M względem zmiennej xj otrzymujemy przez wypisanie z M tych kostek (wierszy), w których zmienna xj przyjmuje wartość zero. ZPT 16 Complement kofaktorów Podstawą uzupełnienia funkcji jednorodnej jest rozszczepianie macierzy M na podzbiory kostek, których uzupełnienie łatwo można obliczyć. 1)Jeżeli kofaktor zawiera tylko jedną kostkę, jego uzupełnienie oblicza się wg prawa De Morgana. 2) Jeżeli kofaktor zawiera kostkę (wiersz) samych 0, jego uzupełnienie jest zbiorem pustym. 3) Jeżeli kofaktor jest zbiorem pustym, jego uzupełnienie jest Tautologią. ZPT 17 Scalanie uzupełnionych kofaktorów F = xj ⋅ F0 + F1 Znaczy to, że jeżeli otrzymany kofaktor był zerowy (ozn. F0), to jego Complement mnożymy go przez odpowiednie xj i dodajemy, a jeżeli był jedynkowy (ozn. Complement tylko dodajemy. ZPT F1), to jego 18 Przykład TL27 .i 7 .o 1 .type fr .p 9 1000101 0 1011110 0 1101110 0 1110111 0 0100101 1 1000110 1 1010000 1 1010110 1 1110101 1 .e ZPT Tablica porównań Tablica porównań nie jest funkcją boolowską 1100000 0000011 0010101 0010011 0110000 1111011 0011000 0001110 0001000 0101011 1001011 0101000 0111110 0111000 0011011 1010010 0110001 0100111 0100001 0000010 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 Redukcja (usuwanie) wierszy tabl. porównań .i 7 .o 1 .type fr .p 9 1000101 0 1011110 0 1101110 0 1110111 0 0100101 1 1000110 1 1010000 1 1010110 1 1110101 1 .e ZPT 1100000 0000011 0010101 0010011 0110000 1111011 0011000 0001110 0001000 0101011 1001011 0101000 0111110 0111000 0011011 1010010 0110001 0100111 0100001 0000010 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Zredukowana tablica porównań 1100000 0010101 0110000 0110001 0100001 1 1 1 1 1 .i 7 .o 1 .p 6 11------1-1-1 -11----1----1 ---1-------1.end 1 1 1 1 1 1 reprezentuje funkcję boolowską 20 Do obliczenia uzupełnienia zastosujmy… Espresso F,D .i 7 .o 1 .p 6 11------1-1-1 -11----1----1 ---1-------1.end ZPT {x1,x3,x4,x6,x7} Complement {x2,x3,x4,x6} Expand 1 1 1 1 1 1 {x2,x4,x5,x6} Essential primes {x2,x4,x6,x7} Irredundant-Cover ESPRESSO Reduce FM Last-gasp .i 7 .o 1 .p 4 0-00-00 -000-0-0-000-0-0-00 .end 21 0 0 0 0 ROZKŁAD 1 2 3 4 5 6 7 1 0 0 0 0 0 0 0 C = [1 0 x1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 C=Φ ZPT 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1 2 3 4 5 6 7 0 1 1 0 0 0 0 0 1 0 0 1 0 0 C= 0 1 0 0 0 0 1 1 0 1 0 0 0 1 x2 x2 0 0 0 0 1 1 0 0 0 1] x1 [0 0 1 0 1 0 1] 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 C = 0 0 0 0 1 0 0 0 0 0 0 0 0 1 C=[0 0 1 0 0 0 1] C=Φ x7 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 x7 [0 0 1 0 0 0 0] =C 22 SCALANIE C(x7) = x7 [0010000]+ Φ = [0010001] C(x1) = x1 [0010001]+ Φ = [1010001] 1 2 3 4 5 6 7 C(x2) = 0 x2 0 0 0 1 0 0 0 0 0 0 0 1 0 0 + [1010001] = 0 0 0 0 0 1 Minimalne pokrycia: x2, x3, x2, x5, x2, x7, x1, x3, x7 ZPT Redukty: + x4, x6 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 Dokładnie tak samo jak w metodzie klasycznej! 23 Porównanie programów .i 6 .o 1 .p 10 000000 001100 1-2011 011001 010201 122-20 -22201 001101 01032222320 .e ZPT 1 1 2 2 3 2 1 3 4 4 TABLE VTL1 ATTRIBUTES 7 x1 numeric 0 x2 numeric 0 x3 numeric 0 x4 numeric 0 x5 numeric 0 x6 numeric 0 x7 numeric 0 OBJECTS 10 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 ? 2 0 1 1 2 0 1 1 0 0 1 2 0 1 0 2 0 1 3 1 2 2 ? 2 0 2 ? 2 2 2 0 1 1 0 0 1 1 0 1 3 0 1 0 3 2 ? 4 2 2 2 3 2 0 4 .1x1 x3 x4 x6 .2x1 x2 x4 x6 .3x1 x2 x3 x5 x6 REDUCTS (3) { x1, x3, x4, x6 } 1.0 { x1, x2, x4, x6 } 1.0 { x1, x2, x3, x5, x6 } 1.0 Porównanie programów Trains .type fdr .i 32 .o 1 .p 10 23016320081311611006100100010010 12009130071200020-----0101000000 11006100041311013-----0000101000 21007130011300212006121100100000 12001131101200010-----0101000000 010103000613----------0000001000 1100110009130150------0000001000 011101200910----------0001000000 21007100151200612007101001000000 000091201622----------1000000000 .end ZPT 0 0 0 0 0 1 1 1 1 1 Porównanie programów Program RSES generuje 333 wyniki Program RedArg 689 wyniki .470x6 x11 x12 x13 x17 x29 .471x4 x11 x16 x17 x22 x31 .472x4 x11 x16 x17 x22 x28 .473x4 x9 x13 x23 x29 x31 .474x4 x9 x13 x23 x28 x29 .475x4 x11 x17 x27 x29 x31 .476x4 x11 x17 x27 x28 x29 .477x3 x6 x9 x16 x23 x31 ZPT .478x3 x6 x9 x16 x23 x28 .479x4 x9 x13 x23 x26 x29 .480x3 x6 x9 x13 x23 x29 .481x3 x6 x16 x23 x27 x31 .482x4 x11 x13 x23 x26 x31 .483x3 x6 x16 x23 x27 x28 .484x4 x11 x13 x23 x26 x28 .485x3 x4 x8 x9 x13 x29 .486x4 x11 x16 x20 x23 x31 .487x4 x11 x16 x20 x23 x28 .488x4 x8 x9 x12 x16 x29 .489x4 x6 x8 x9 x27 x29 .490x4 x6 x9 x15 x23 x29 .491x4 x11 x16 x22 x23 x31 .492x4 x11 x16 x22 x23 x28 Wnioski ! Metoda jest skuteczna ! Daje rewelacyjne wyniki ! Prosta do implementacji ! Jest źródłem ciekawych prac dyplomowych ZPT 27