450 likes | 581 Views
Eksploracja danych (Data mining). jest dynamicznie rozwijającą się dziedziną informatyki o coraz szerszych zastosowaniach niemal w każdej dziedzinie życia. Synteza logiczna w eksploracji danych. • bankowości • lingwistyce • marketing • farmakologii • telekomunikacji.
E N D
Eksploracja danych (Data mining) jest dynamicznie rozwijającą się dziedziną informatyki o coraz szerszych zastosowaniach niemal w każdej dziedzinie życia Synteza logiczna w eksploracji danych • bankowości • lingwistyce • marketing • farmakologii • telekomunikacji Również w MEDYCYNIE 1
Zastosowania LERS LERS (Learning fromExamplesBased on RoughSets) J. Grzymała-Busse, LERS– a Data Mining System, in Data Mining and Knowledge Discovery Handbook, 2005, VIII, 1347-1351, DOI: 10.1007/0-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) 2001, pp. 615-620. 3
Potrafi zdiagnozować pacjenta Potrafi przeprowadzić sondaż Potrafi wykryć anomalie w sieci Potrafi podjąć decyzję o przyznaniu kredytu klientowi banku 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. Eksploracja danych Nazywa się również odkrywaniem wiedzy w bazach danych (ang. knowledge discovery in databases).
na abstrakcyjnym poziomie algorytmów polega na Pozyskiwanie wiedzy z baz danych • 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/ Rough Set Toolkit forAnalysis of Data: Biomedical Centre (BMC), Uppsala, Sweden. http://www.lcb.uu.se/tools/rosetta/ 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 Ob i e k t y 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.
U1: (a,1) (b,0)(d,1) (e,1) U5: (a,1) (b,1)(d,2) (e,2) Tablice i reguły decyzyjne Tablice takie można również reprezentować za pomocą wyrażeń logicznych zwanych regułami decyzyjnymi: redukcja atrybutów redukcja (generacja) reguł decyzyjnych
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 Tablica reguł minimalnych
a b c d 1 0 0 1 0 1 0 0 = M 0 1 0 1 1 1 0 1 1 1 1 1 Przykład: uogólniamy U1 Macierz M powstaje przez porównanie obiektów: (u1, u3), (u1, u4), ..., (u1, u7). Wynikiem porównania są wiersze M. Dla takich samych wartości atrybutów odpowiedni m=0, dla różnych m=1.
a b c d a, d 1 0 0 1 b 0 1 0 0 = M b, d 0 1 0 1 a, b, d 1 1 0 1 a, b, c, d 1 1 1 1 Przykład: uogólniamy U1 Minimalne pokrycia są: {a,b} oraz {b,d}, Wyznaczone na ich podstawie minimalne reguły: (a,1) & (b,0) (e,1) (b,0) & (d,1) (e,1)
Przykład generacji reguł cd. Po uogólnieniu obiektu u1 u2. u2możnausunąć
Przykład generacji reguł c.d. Dla obiektu u3 Dla obiektu u4 (a,0) (e,0) (b,1) & (d,1) (e,0) Niestety po uogólnieniu ani u3 nie pokrywa u4, ani u4 nie pokrywa u3
Przykład generacji reguł c.d. Dla obiektu u5 u6, u7 (d,2) (e,2)
Reguły minimalne Uogólnione reguły decyzyjne: (a,1) & (b,0) (e,1) (a,0) (e,0) (b,1) & (d,1) (e,0) (d,2) (e,2) w innym zapisie: (a,1) & (b,0) (e,1) (a,0) (b,1) & (d,1) (e,0) (d,2) (e,2)
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 Ale pojawia się nowy zestaw danych a=1,b=1, c=1, d= 1 Jaka decyzja? Na uogólnionych regułach jest to oczywiste! e = 0
Przykładowa baza (tablica) danych Wyniki badań i diagnozy 7 pacjentów Wyniki badań i symptomy choroby zapisane są symbolicznymi wartościami atrybutów Reguły decyzyjne (Bad_1=1)&(Bad_2=1)…&(Bad_5=1)…&(Bad_8=0)=>(Diagnoza=D3)
Uogólnione reguły decyzyjne Reguły decyzyjne: (Bad_2=1)&(Bad_4=1)=>(Diagnoza=D3) (Bad_4=1)&(Bad_7=0)=>(Diagnoza=D3) (Bad_1=0)&(Bad_3=1)&(Bad_6=0)=>(Diagnoza=D1) ( (Bad_3=1)&(Bad_5=0)&(Bad_6=0)=>(Diagnoza=D1) (Bad_2=0)=>(Diagnoza=D2) (Bad_1=0)&(Bad_4=1)&(Bad_6=0)&(Bad_8=0)=>(Diagnoza=D2) Reguły decyzyjne wygenerowane z pierwotnej bazy danych używane są do klasyfikowania nowych obiektów.
Uogólnione reguły decyzyjne… …mogą być zastosowane do zdiagnozowania nowego pacjenta. (Bad_2=1)&(Bad_4=1)=>(Diagnoza=D3) (Bad_4=1)&(Bad_7=0)=>(Diagnoza=D3) (Bad_1=0)&(Bad_3=1)&(Bad_6=0)=>(Diagnoza=D1) (Bad_3=1)&(Bad_5=0)&(Bad_6=0)=>(Diagnoza=D1) (Bad_2=0)=>(Diagnoza=D2) (Bad_1=0)&(Bad_4=1)&(Bad_6=0)&(Bad_8=0)=>(Diagnoza=D2) Dla nowego pacjenta Diagnoza = D3
Redukcja atrybutów Poszukiwanie takich podzbiorów atrybutów, które zachowują podział obiektów na klasy decyzyjne taki sam, jak wszystkie atrybuty { Bad_1 Bad_4 Bad_6 Bad_8 } { Bad_1 Bad_6 Bad_7 Bad_8 } { Bad_1 Bad_3 Bad_6 } { Bad_1 Bad_2 Bad_6 Bad_8 }
UC Irvine Machine Learning Repository Rosnące wymagania Wymagania na przetwarzanie coraz większych baz danych rosną, natomiast metody i narzędzia eksploracji danych stają się coraz mniej skuteczne BreastCancerDatabase Audiology Database Dermatology Database
Breast Cancer Database: Diagnostyka raka piersi • Instancje (obiekty): 699 (dane poszczególnych pacjentów) • Liczba atrybutów: 10 • Klasyfikacja (2 klasy) Ocena spoistości masy nowotworowej Ocena jednolitości rozmiaru komórek Ocena jednolitości kształtu komórek …. 9. Występowanie podziałów komórkowych (mitoza) Sources: Dr. WIlliam H. Wolberg (physician); University of Wisconsin Hospital ;Madison; Wisconsin; USA
Breast Cancer Database (fragment) Są to dane po procesie dyskretyzacji 25
RULE_SET breast_cancer RULES 35 (x9=1)&(x8=1)&(x2=1)&(x6=1)=>(x10=2) (x9=1)&(x2=1)&(x3=1)&(x6=1)=>(x10=2) (x9=1)&(x8=1)&(x4=1)&(x3=1)=>(x10=2) (x9=1)&(x4=1)&(x6=1)&(x5=2)=>(x10=2) ………………….. (x9=1)&(x6=10)&(x1=10)=>(x10=4) (x9=1)&(x6=10)&(x5=4)=>(x10=4) (x9=1)&(x6=10)&(x1=8)=>(x10=4) REDUCTS (27) { x1, x2, x3, x4, x6 } { x1, x2, x3, x5, x6 } { x2, x3, x4, x6, x7 } { x1, x3, x4, x6, x7 } { x1, x2, x4, x6, x7 } ……………. { x3, x4, x5, x6, x7, x8 } { x3, x4, x6, x7, x8, x9 } { x4, x5, x6, x7, x8, x9 }
Diagnostyka raka piersi Reguły decyzyjne dla Breast Cancer Database (dla danych numerycznych) LERS (p8,1..1.5) & (p3,1..1.5) & (p4,1..1.5) -> (diagnoza.zdrowy) (p9,1..1.5) & (p6,1..1.5) & (p2,1.5..3.5) -> (diagnoza,zdrowy) (p7,1..2.5) & (p5,2.5..4.5) -> (diagnoza,zdrowy) (p5,1..2.5) & (p8,1..1.5) & (p2,1.5..3.5) -> (diagnoza,zdrowy) (p9,1..1.5) & (p8,5.5..10) & (p5,4.5..10) & (p1,1.5..3.5) -> (diagnoza,zdrowy) (p6,3.5..10) & (p8,1.5..5.5) & (p7,3.5..5.5) -> (diagnoza,rak) (p8,5.5..10) & (p4,1.5..2.5) -> (diagnoza,rak) (p6,3.5..10) & (p8,5.5..10) & (p3,1.5..3.5) -> (diagnoza,rak) (p9,1..1.5) & (p8,5.5..10) & (p1,7.5..11) -> (diagnoza,rak) (p6,3.5. . 10) & (p9,1.5..2.5) & (p8,1.5..5.5) -> (diagnoza,rak)
Audiology Database Inne bazy danych z zakresu medycyny Dermatology Database • Number of instances: 200 training cases • Number of attributes: 71 • Classification (24 classes) • Number of Instances: 366 • Number of attributes: 34 • Classification (6 classes) Source Information: Nilsel Ilter, M.D., Ph.D., Gazi University, School of Medicine 06510 Ankara, Turkey Phone: +90 (312) 214 1080 Sources: (a) Original Owner: Professor Jergen at Baylor College of Medicine (b) Donor: Bruce Porter (porter@fall.cs.utexas.EDU) 28
UC Irvine Machine Learning Repository BreastCancerDatabase Audiology Database Dermatology Database
Porównanie Espresso i RSES RSES ESPRESSO .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 TABLE extlbis ATTRIBUTES 8 x1 numeric 0 x2 numeric 0 x3 numeric 0 x4 numeric 0 x5 numeric 0 x6 numeric 0 x7 numeric 0 x8 numeric 0 OBJECTS 9 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 1 (x1=1)&(x5=1)&(x6=1)&(x2=1)=>(x8=0) (x1=1)&(x2=0)&(x5=1)&(x3=0)&(x4=0)&(x6=0)=>(x8=0) (x4=0)&(x1=1)&(x2=0)&(x7=0)=>(x8=1) (x2=1)&(x4=0)&(x5=1)&(x6=0)=>(x8=1)
… co uzyskamy stosując RSES do realizacji sprzętu ESPRESSO RSES
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 jL wtedy i tylko wtedy, gdy 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: x1 x2 x4 x3 x4x1 x2x1x4 (x1 + x2 + x4) (x3 + x4) (x1 + x2) (x1 + x4) = = x1x3+ x2x4 +x1x4 To są wszystkie minimalne pokrycia kolumnowe macierzy M 34
Przykład – metoda uzupełniania M: x1x3+ x2x4 +x1x4 To samo co poprzednio! 35
Metoda obliczania reduktów… jest równoważna obliczaniu Complementu (Uzupełnienia) funkcji boolowskiej, reprezentowanej Tablicą porównań. Espresso 36
Eksperymenty Bezwzględna przewaga metody uzupełniania!
Redukcja argumentów/atrybutów Ile jest takich rozwiązań Funkcja KAZ Przed redukcją .type fr .i 21 .o 1 .p 31 100110010110011111101 1 111011111011110111100 1 001010101000111100000 1 001001101100110110001 1 100110010011011001101 1 100101100100110110011 1 001100100111010011011 1 001101100011011011001 1 110110010011001001101 1 100110110011010010011 1 110011011011010001100 1 010001010000001100111 0 100110101011111110100 0 111001111011110011000 0 101101011100010111100 0 110110000001010100000 0 110110110111100010111 0 110000100011110010001 0 001001000101111101101 0 100100011111100110110 0 100011000110011011110 0 110101000110101100001 0 110110001101101100111 0 010000111001000000001 0 001001100101111110000 0 100100111111001110010 0 000010001110001101101 0 101000010100001110000 0 101000110101010011111 0 101010000001100011001 0 011100111110111101111 0 .end Po redukcji 01010 1 10110 1 00100 1 01001 1 01000 1 11010 1 10011 0 01110 0 10100 0 11000 0 11011 0 10000 0 00010 0 01111 0 00011 0 11111 0 00000 0 01101 0 00110 0 Jedno z wielu rozwiązań po redukcji argumentów
Funkcja KAZ .type fr .i 21 .o 1 .p 31 100110010110011111101 1 111011111011110111100 1 001010101000111100000 1 001001101100110110001 1 100110010011011001101 1 100101100100110110011 1 001100100111010011011 1 001101100011011011001 1 110110010011001001101 1 100110110011010010011 1 110011011011010001100 1 010001010000001100111 0 100110101011111110100 0 111001111011110011000 0 101101011100010111100 0 110110000001010100000 0 110110110111100010111 0 110000100011110010001 0 001001000101111101101 0 100100011111100110110 0 100011000110011011110 0 110101000110101100001 0 110110001101101100111 0 010000111001000000001 0 001001100101111110000 0 100100111111001110010 0 000010001110001101101 0 101000010100001110000 0 101000110101010011111 0 101010000001100011001 0 011100111110111101111 0 .end Wszystkich rozwiązań: z minimalną i najmniejszą liczbą argumentów jest 35, z minimalną liczbą argumentów jest: 5574 Czas obliczeń RSES = 70 min. Czas obliczeń dla nowej metody= 234 ms. 18 tysięcy razy szybciej!
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 RSES
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 41
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 (2010) 2081–2091 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 201804, PR China