Synteza logiczna w eksploracji danych Eksploracja danych (Data mining) jest dynamicznie rozwijającą się dziedziną informatyki o coraz szerszych zastosowaniach niemal w kaŝdej dziedzinie Ŝycia bankowości lingwistyce marketing farmakologii telekomunikacji RównieŜ w MEDYCYNIE
Zastosowania 2
Zastosowania LERS LERS (Learning from Examples Based on Rough Sets) J. Grzymała-Busse, LERS a Data Mining System, in Data Mining and Knowledge Discovery Handbook, 25, VIII, 347-35, DOI:.7/-387-25465-X_65 J. Grzymała-Busse, et al., Melanoma Prediction Using Data Mining System LERS, Proc. 25th Ann. International Conference Computer Software and Applications (COMPSAC). Chicago (Illinois, USA), IEEE Comp. Soc., Los Alamitos (California, USA) 2, pp. 65-62. 3
Eksploracja danych. Przez eksplorację danych rozumie się proces automatycznego odkrywania znaczących i dotychczas nieznanych informacji z duŝych baz danych, czyli informacji ujawniających ukrytą wiedzę o badanym przedmiocie. Potrafi Potrafi przeprowadzić sondaŝ sondaŝ Potrafi Potrafi wykryć wykryć anomalie w sieci sieci Eksploracja danych Potrafi Potrafi zdiagnozować pacjenta Potrafi Potrafi podjąć podjąćdecyzję decyzję o przyznaniu kredytu kredytu klientowi banku banku Nazywa się równieŝ odkrywaniem wiedzy w bazach danych (ang. knowledge discovery in databases). 4
Pozyskiwanie wiedzy z baz danych na abstrakcyjnym poziomie algorytmów polega na Redukcji atrybutów Generacji reguł decyzyjnych i wielu innych procedurach Są to algorytmy przetwarzające ogromne bazy danych 5
Komputerowe systemy eksploracji danych ROSETTA http://logic.mimuw.edu.pl/~rses/ http://www.lcb.uu.se/tools/rosetta/ Rough Set Toolkit for Analysis of Data: Biomedical Centre (BMC), Uppsala, Sweden. 6
WEKA, ROSE University of Waikato, Hamilton, New Zealand Preprocess - wczytanie i wstępne przetwarzanie danych, Classify-klasyfikacja danych, Cluster - klasteryzacja, inaczej analiza skupień, Associate - indukcja reguł asocjacyjnych, Select attributes selekcja cech znaczących, Visualize - wizualizacja danych.
Znaczenie eksploracji danych Wiele rzeczywistych zjawisk opisuje się tablicami danych O b i e k t y a b d e 2 3 4 5 2 2 6 2 2 2 2 Klasyfikacja (Decyzja) W tablicach takich obiekty reprezentowane w poszczególnych wierszach opisywane są wartościami atrybutów a, b, d. Jednocześnie obiekty są klasyfikowane, kolumna e. 8
Tablice i reguły decyzyjne Tablice takie moŝna równieŝ reprezentować za pomocą wyraŝeń logicznych zwanych regułami decyzyjnymi: U: (a,) (b,) (d,) (e,) U5: (a,) (b,) (d,2) (e,2) a b d e 2 3 4 5 2 2 6 2 2 2 2 redukcja atrybutów redukcja (generacja) reguł decyzyjnych 9
Generacja reguł WyraŜenia takie moŝna upraszczać za pomocą metod stosowanych w syntezie logicznej. Np. metodą analogiczną do ekspansji moŝna uogólniać (minimalizować) reguły decyzyjne. Metoda uogólniania reguł decyzyjnych: Tworzy się macierz porównań M, Wyznacza minimalne pokrycie M, Atrybutami reguły minimalnej są atrybuty naleŝące do minimalnego pokrycia M.
Przykład generacji reguł Tablica decyzyjna U a b c d e 2 3 4 5 2 2 6 2 2 2 2 7 2 2 2 2 2 Tablica reguł minimalnych a b c d e 2 2
Przykład: uogólniamy U U a b c d e a b c d 2 3 4 5 2 2 6 2 2 2 2 M = 7 2 2 2 2 2 Macierz M powstaje przez porównanie obiektów: (u, u 3 ), (u, u 4 ),..., (u, u 7 ). Wynikiem porównania są wiersze M. Dla takich samych wartości atrybutów odpowiedni m=, dla róŝnych m=. 2
Przykład: uogólniamy U a b c d a, d U a b c d e 2 M = b b, d a, b, d Minimalne pokrycia są: {a,b} oraz {b,d}, a, b, c, d Wyznaczone na ich podstawie minimalne reguły: (a,) & (b,) (e,) (b,) & (d,) (e,) U a b c d e - - 2 3
Przykład generacji reguł cd. Po uogólnieniu obiektu u u 2. U a b c d e - - 2 u 2 można usunąć U a b c d e - - 2 3 4 5 2 2 6 2 2 2 2 7 2 2 2 2 2 4
Przykład generacji reguł c.d. U a b c d e 2 3 4 5 2 2 6 2 2 2 2 7 2 2 2 2 2 (a,) (e,) (b,) & (d,) (e,) Dla obiektu u3 a b c d Dla obiektu u4 a b c d Niestety po uogólnieniu ani u 3 nie pokrywa u 4, ani u 4 nie pokrywa u 3 5
Przykład generacji reguł c.d. U a b c d e 2 3 4 5 2 2 6 2 2 2 2 7 2 2 2 2 2 Dla obiektu u5 a b c d (d,2) (e,2) 2 u 6, u 7 6
Reguły minimalne Uogólnione reguły decyzyjne: (a,) & (b,) (e,) (a,) (e,) (b,) & (d,) (e,) (d,2) (e,2) a b c d e 2 2 w innym zapisie: (a,) & (b,) (e,) (a,) (b,) & (d,) (e,) (d,2) (e,2) 7
Interpretacja reguł uogólnionych Takie metody stosuje się w przypadkach, gdy dysponuje się zbiorem obiektów, których przynaleŝność do odpowiedniej klasy jest znana, a celem jest klasyfikacja nowych danych. Pierwotna tablica decyzyjna: zapisane są w niej dane zebrane do tej pory i juŝ sklasyfikowane U a b c d e Ale pojawia się nowy zestaw danych a=,b=, c=, d= Jaka decyzja? 2 3 4 5 2 2 6 2 2 2 2 7 2 2 2 2 2 Na uogólnionych regułach jest to oczywiste! a b c d e 2 2 e = 8
Przykładowa baza (tablica) danych Wyniki badań i diagnozy 7 pacjentów Pacjenci Badanie Badanie Badanie Badanie Badanie Badanie Badanie Badanie 2 3 4 5 6 7 8 Diagnoza P D3 P2 D3 P3 2 D3 P4 D P5 D2 P6 D3 P7 2 D3 Wyniki badań i symptomy choroby zapisane są symbolicznymi wartościami atrybutów Reguły decyzyjne (Bad_=)&(Bad_2=) &(Bad_5=) &(Bad_8=)=>(Diagnoza=D3) 9
Uogólnione reguły decyzyjne Pacjenci Badanie Badanie Badanie Badanie Badanie Badanie Badanie Badanie 2 3 4 5 6 7 8 Diagnoza P D3 P2 D3 P3 2 D3 P4 D P5 D2 P6 D3 P7 2 D3 Reguły decyzyjne: (Bad_2=)&(Bad_4=)=>(Diagnoza=D3) (Bad_4=)&(Bad_7=)=>(Diagnoza=D3) (Bad_=)&(Bad_3=)&(Bad_6=)=>(Diagnoza=D) ( (Bad_3=)&(Bad_5=)&(Bad_6=)=>(Diagnoza=D) (Bad_2=)=>(Diagnoza=D2) (Bad_=)&(Bad_4=)&(Bad_6=)&(Bad_8=)=>(Diagnoza=D2) Reguły decyzyjne wygenerowane z pierwotnej bazy danych uŝywane są do klasyfikowania nowych obiektów. 2
Uogólnione reguły decyzyjne mogą być zastosowane do zdiagnozowania nowego pacjenta. Bad Bad2 Bad3 Bad4 Bad5 Bad6 Bad7 Bad8 Diagnoza P D3 P2 D3 P3 2 D3 P4 D P5 D2 P6 D3 P7 2 D3 Nowy pacjent??? (Bad_2=)&(Bad_4=)=>(Diagnoza=D3) (Bad_4=)&(Bad_7=)=>(Diagnoza=D3) (Bad_=)&(Bad_3=)&(Bad_6=)=>(Diagnoza=D) (Bad_3=)&(Bad_5=)&(Bad_6=)=>(Diagnoza=D) (Bad_2=)=>(Diagnoza=D2) Dla nowego pacjenta Diagnoza = D3 (Bad_=)&(Bad_4=)&(Bad_6=)&(Bad_8=)=>(Diagnoza=D2) 2
Redukcja atrybutów Poszukiwanie takich podzbiorów atrybutów, które zachowują podział obiektów na klasy decyzyjne taki sam, jak wszystkie atrybuty Bad Bad2 Bad3 Bad4 Bad5 Bad6 Bad7 Bad8 Diagnoza P D3 P2 D3 P3 2 D3 P4 D P5 D2 P6 D3 P7 2 D3 { Bad_ Bad_4 Bad_6 Bad_8 } { Bad_ Bad_6 Bad_7 Bad_8 } { Bad_ Bad_3 Bad_6 } { Bad_ Bad_2 Bad_6 Bad_8 } Bad Bad6 Bad7 Bad8 Diagnoza P D3 P2 D3 P3 D3 P4 D P5 D2 P6 D3 P7 D3 22
Rosnące wymagania Wymagania na przetwarzanie coraz większych baz danych rosną, natomiast metody i narzędzia eksploracji danych stają się coraz mniej skuteczne UC Irvine Machine Learning Repository Breast Cancer Database Audiology Database Dermatology Database 23
Diagnostyka raka piersi Breast Cancer Database: Instancje (obiekty): 699 (dane poszczególnych pacjentów) Liczba atrybutów: Klasyfikacja (2 klasy). Ocena spoistości masy nowotworowej 2. Ocena jednolitości rozmiaru komórek 3. Ocena jednolitości kształtu komórek. Sources: Dr. WIlliam H. Wolberg (physician); University of Wisconsin Hospital ;Madison; Wisconsin; USA 9. Występowanie podziałów komórkowych (mitoza) 24
Breast Cancer Database (fragment) ID a a2 a3 a4 a5 a6 a7 a8 a9 a 25 5 2 3 2 2945 5 4 4 5 7 3 2 2 5425 3 2 2 3 2 6277 6 8 8 3 4 3 7 2 723 4 3 2 3 2 722 8 8 7 9 7 4 899 2 3 2 856 2 2 2 3 2 3378 2 2 5 2 3378 4 2 2 2 2 35283 3 2 3672 2 2 2 2 48 5 3 3 3 2 3 4 4 4 43999 2 3 3 2 44572 8 7 5 7 9 5 5 4 4 4763 7 4 6 4 6 4 3 4 48672 4 2 2 2 4985 4 2 3 2 567 7 7 6 4 4 2 4 578 6 2 3 2 5459 7 3 2 5 5 4 4 4 25
REDUCTS (27) { x, x2, x3, x4, x6 } { x, x2, x3, x5, x6 } { x2, x3, x4, x6, x7 } { x, x3, x4, x6, x7 } { x, x2, x4, x6, x7 }. { x3, x4, x5, x6, x7, x8 } { x3, x4, x6, x7, x8, x9 } { x4, x5, x6, x7, x8, x9 } RULE_SET breast_cancer RULES 35 (x9=)&(x8=)&(x2=)&(x6=)=>(x=2) (x9=)&(x2=)&(x3=)&(x6=)=>(x=2) (x9=)&(x8=)&(x4=)&(x3=)=>(x=2) (x9=)&(x4=)&(x6=)&(x5=2)=>(x=2).. (x9=)&(x6=)&(x=)=>(x=4) (x9=)&(x6=)&(x5=4)=>(x=4) (x9=)&(x6=)&(x=8)=>(x=4)
Diagnostyka raka piersi Reguły decyzyjne dla Breast Cancer Database (dla danych numerycznych) LERS (p8,...5) & (p3,...5) & (p4,...5) -> (diagnoza.zdrowy) (p9,...5) & (p6,...5) & (p2,.5..3.5) -> (diagnoza,zdrowy) (p7,..2.5) & (p5,2.5..4.5) -> (diagnoza,zdrowy) (p5,..2.5) & (p8,...5) & (p2,.5..3.5) -> (diagnoza,zdrowy) (p9,...5) & (p8,5.5..) & (p5,4.5..) & (p,.5..3.5) -> (diagnoza,zdrowy) (p6,3.5..) & (p8,.5..5.5) & (p7,3.5..5.5) -> (diagnoza,rak) (p8,5.5..) & (p4,.5..2.5) -> (diagnoza,rak) (p6,3.5..) & (p8,5.5..) & (p3,.5..3.5) -> (diagnoza,rak) (p9,...5) & (p8,5.5..) & (p,7.5..) -> (diagnoza,rak) (p6,3.5.. ) & (p9,.5..2.5) & (p8,.5..5.5) -> (diagnoza,rak) 27
Inne bazy danych z zakresu medycyny Audiology Database Dermatology Database Number of instances: 2 training cases Number of attributes: 7 Classification (24 classes) Number of Instances: 366 Number of attributes: 34 Classification (6 classes) Sources: (a) Original Owner: Professor Jergen at Baylor College of Medicine (b) Donor: Bruce Porter (porter@fall.cs.utexas.edu) Source Information: Nilsel Ilter, M.D., Ph.D., Gazi University, School of Medicine 65 Ankara, Turkey Phone: +9 (32) 24 8 28
UC Irvine Machine Learning Repository Breast Cancer Database Audiology Database Dermatology Database 29
Porównanie Espresso i RSES ESPRESSO.i 7.o.type fr.p 9.e f = x + 4x7 x2x6 RSES TABLE extlbis ATTRIBUTES 8 x numeric x2 numeric x3 numeric x4 numeric x5 numeric x6 numeric x7 numeric x8 numeric OBJECTS 9 (x=)&(x5=)&(x6=)&(x2=)=>(x8=) (x=)&(x2=)&(x5=)&(x3=)&(x4=)&(x6=)=>(x8=) (x4=)&(x=)&(x2=)&(x7=)=>(x8=) (x2=)&(x4=)&(x5=)&(x6=)=>(x8=) f = x + 4xx2x7 x2x4x5x6 3
co uzyskamy stosując RSES do realizacji sprzętu ESPRESSO f = x + 4x 7 x 2x 6 x 4 x 7 x 2 x 6 RSES f = x + 4xx2x7 x2x4x5x6 x 4 x x 2 x 7 x 2 x 4 x 5 x 6 3
Porównanie Przykład sugeruje, Ŝe algorytmy stosowane w komputerowych systemach eksploracji danych nie są najskuteczniejsze. I być moŝe warto je opracować na nowo korzystając z lepszych metod syntezy logicznej. Przykładem potwierdzającym tę tezę jest redukcja atrybutów, stosowana w RSES, ROSE, WEKA 32
Inna metoda obliczania reduktów Klasyczną metodę moŝna znacznie usprawnić wykorzystując stosowaną w syntezie logicznej procedurę uzupełniania funkcji boolowskiej. Twierdzenie: KaŜdy wiersz i macierzy, stanowiącej uzupełnienie macierzy porównań M reprezentuje pokrycie kolumnowe M, gdzie j L wtedy i tylko wtedy, gdy = M ij PowyŜsze twierdzenie sprowadza proces obliczania reduktów do obliczania uzupełnienia jednorodnej funkcji boolowskiej. Procedura ta (nazwana UNATE_COMPLEMENT) została opracowana jako fragment procedury COMPLEMENT programu Espresso. Nigdy nie była stosowana do obliczania reduktów 33
Przykład metoda klasyczna Pokrycie kolumnowe (przypomnienie) M: x x 2 x 4 x 3 x 4 x x 2 x x 4 (x + x 2 + x 4 ) (x 3 + x 4 ) (x + x 2 )(x + x 4 ) = = x x 3 + x 2 x 4 +x x 4 To są wszystkie minimalne pokrycia kolumnowe macierzy M 34
Przykład metoda uzupełniania M: f = M x = x x 4 x + 2 x x 3 4 x + 4 x + 3 x x 4 x + 2 x x 2 + x x 4 = x 3 x 4 x x 2 x x 3 + x 2 x 4 +x x 4 f M = x x 3 + + x x x x 2 4 4 To samo co poprzednio! 35
Metoda obliczania reduktów jest równowaŝna obliczaniu Complementu (Uzupełnienia) funkcji boolowskiej, reprezentowanej Tablicą porównań. Espresso F,D Complement Expand Essential primes Irredundant-Cover Reduce Last-gasp F M 36
Eksperymenty database attr. inst. RSES/ROSETTA compl. method reducts house 7 232 s 87ms 4 breast-cancer -wisconsin 699 2s 823ms 27 KAZ 22 3 7min 234ms 5574 trains 33 out of memory (5h 38min) 6ms 689 agaricus-lepiota -mushroom 23 824 29min 4m 47s 57 urology 36 5 out of memory (2h) 42s 74ms 23437 audiology 7 2 out of memory (h 7min) 4s 58ms 37367 dermatology 35 366 out of memory (3h 27min) 3m 32s 4393 lung-cancer 57 32 out of memory (5h 2min) h 57m 364887 Bezwzględna przewaga metody uzupełniania! 37
Przed redukcją.type fr.i 2.o.p 3.end Funkcja KAZ Redukcja argumentów/atrybutów Ile jest takich rozwiązań Po redukcji Jedno z wielu rozwiąza zań po o redukcji argumentów 38
.type fr.i 2.o.p 3.end Funkcja KAZ Wszystkich rozwiązań: z minimalną i najmniejszą liczbą argumentów jest 35, z minimalną liczbą argumentów jest: 5574 Czas obliczeń RSES = 7 min. Czas obliczeń dla nowej metody= 234 ms. 8 tysięcy razy szybciej! 39
Wniosek Wprowadzenie metody uzupełniania funkcji boolowskich do procedury obliczania reduktów zmniejsza czas obliczeń o rząd, a niekiedy o kilka rzędów wielkości 4
Podsumowanie Metody syntezy logicznej wypracowane dla potrzeb projektowania układów cyfrowych są skuteczne równieŝ w eksploracji danych Dają rewelacyjne wyniki Są proste w implementacji Są źródłem ciekawych prac dyplomowych 4
Wnioski Są źródłem ciekawych prac dyplomowych WYśSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA pod auspicjami Polskiej Akademii Nauk WYDZIAŁ INFORMATYKI STUDIA I STOPNIA (INśYNIERSKIE) PRACA DYPLOMOWA Piotr Decyk Implementacja algorytmu obliczania reduktów wielowartościowych funkcji logicznych 42
Prace dyplomowe WYśSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA pod auspicjami Polskiej Akademii Nauk Konrad Królikowski IMPLEMENTACJA ALGORYTMU OBLICZANIA REDUKTÓW METODĄ UZUPEŁNIANIA FUNKCJI BOOLOWSKICH Andrzej Kisiel UOGÓLNIANIE REGUŁ DECYZYJNYCH BINARNYCH TABLIC DANYCH METODĄ UZUPEŁNIANIA FUNKCJI BOOLOWSKICH http://zpt2.tele.pw.edu.pl/luba/eksper.htm 43
Prace dyplomowe Expert Systems with Applications 37 (2) 28 29 journal homepage: www.elsevier.com/locate/eswa Hierarchical decision rules mining Qinrong Feng, Duoqian Miao, Yi Cheng Department of Computer Science and Technology, Tongji University, Shanghai 284, PR China