510 likes | 710 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. • telekomunikacji • inżynierii biomedycznej • marketingu • farmakologii • bankowości.
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 • telekomunikacji • inżynierii biomedycznej • marketingu • farmakologii • bankowości Również w MEDYCYNIE 1
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 • Uogólnianiu reguł decyzyjnych • i wielu innych procedurach… Jaki jest związek tych algorytmów z algorytmami syntezy logicznej? 4
Synteza logiczna Eksploracja danych Eksploracja danych a synteza logiczna • Redukcja atrybutów • Uogólnianie reguł decyzyjnych • Hierarchiczne podejmowanie decyzji • Redukcja argumentów • Minimalizacja funkcji boolowskich • Dekompozycja funkcjonalna Jak działają algorytmy eksploracji danych?
Co to jest eksploracja 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, c. Jednocześnie obiekty są klasyfikowane, kolumna d.
Tablice i reguły decyzyjne Tablice takie można również reprezentować za pomocą wyrażeń logicznych zwanych regułami decyzyjnymi: U1: (a,1) &(b,0) &(c,1) (d,1) …. U5: (a,1) &(b,1)&(c,2) (d,2) U6: (a,2) &(b,2)&(c,2) (d,2) Upraszczanie tych wyrażeń: Uogólnianie (indukcja) reguł decyzyjnych Redukcja atrybutów
Uogólnianie reguł Reguły decyzyjne 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,1) & (b,0) (e,1) (a,0) (e,0) ∙∙∙∙
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 uogólniania reguł cd. Po uogólnieniu obiektu u1 u2. u2możnausunąć
Przykład uogólniania 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 uogólniania 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
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/ 17
Związek DM z syntezą logiczną TABLE 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 Przykład EXTL .type fr.i 7.o 1.p 91000101 01011110 01101110 01110111 00100101 11000110 11010000 11010110 11110101 1.e
EXTL RULE_SET EXTL DECISION_VALUES 2 0 1 RULES 4 (x4=0)&(x1=1)&(x2=0)&(x7=0)=>(x8=1) (x1=1)&(x5=1)&(x6=1)&(x2=1)=>(x8=0) (x2=1)&(x4=0)&(x5=1)&(x6=0)=>(x8=1) (x1=1)&(x2=0)&(x5=1)&(x3=0)&(x4=0)&(x6=0)=>(x8=0) EXTL EXTL REDUCTS (4) { x2, x3, x4, x6 } { x2, x4, x5, x6 } { x2, x4, x6, x7 } { x1, x3, x4, x6, x7 } Dlaczego RSES oblicza wszystkie redukty?
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 26
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 }
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 Co jest przyczyną takiej sytuacji?
Przyczyna… 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. 30
Inna metoda obliczania reduktów… Klasyczną metodę można znacznie usprawnić wykorzystując stosowaną w syntezie logicznej procedurę uzupełniania funkcji boolowskiej. Obliczanie reduktów można sprowadzić 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 31
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 32
Przykład – metoda uzupełniania M: x1x3+ x2x4 +x1x4 To samo co poprzednio! 33
Metoda obliczania reduktów… jest równoważna obliczaniu Complementu (Uzupełnienia) funkcji boolowskiej, reprezentowanej Tablicą porównań. Espresso (Rozdział 6 ) 34
Przykład TL27 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 .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 Tablica porównań Tablica porównań nie jest funkcją boolowską 35
Redukcja (usuwanie) wierszy tabl. porównań 1100000 1 0000011 1 0010101 1 0010011 1 0110000 1 1111011 1 0011000 1 0001110 1 0001000 1 0101011 1 1001011 1 0101000 1 0111110 1 0111000 1 0011011 1 1010010 1 0110001 1 0100111 1 0100001 1 0000010 1 .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 Zredukowana tablica porównań .i 7 .o 1 .p 6 11----- 1 --1-1-1 1 -11---- 1 -1----1 1 ---1--- 1 -----1- 1 .end 1100000 1 0010101 1 0110000 1 0110001 1 0100001 1 reprezentuje funkcję boolowską 36
ESPRESSO Do obliczenia uzupełnienia zastosujmy… Espresso {x1,x3,x4,x6,x7} {x2,x3,x4,x6} .i 7 .o 1 .p 6 11----- 1 --1-1-1 1 -11---- 1 -1----1 1 ---1--- 1 -----1- 1 .end {x2,x4,x5,x6} {x2,x4,x6,x7} .i 7 .o 1 .p 4 0-00-00 0 -000-0- 0 -0-000- 0 -0-0-00 0 .end
Algorytm obliczania reduktów… polega na obliczaniu Complementu (Uzupełnienia) jednorodnej funkcji boolowskiej, reprezentowanej Tablicą (macierzą) porównań. Uzupełnienie oblicza się dla zero-jedynkowej macierzy M. Sprytna procedura uzupełniania polega na iteracyjnym rozkładzie zbioru kostek macierzy M 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. 38
ROZKŁAD 39
SCALANIE C(x7) = x7 [0010000]+ = [0010001] C(x1) = x1 [0010001]+ = [1010001] C(x2) = x2 + [1010001] = Minimalne pokrycia: x2, x3, x2, x5, x2, x7, x1, x3, x7 Dokładnie tak samo jak w metodzie klasycznej! Niezbędne: + x4, x6 40
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!
Eksperymenty Bezwzględna przewaga metody uzupełniania!
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
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
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 47
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 48
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 Na stronie przedmiotu ULOG: http://www.zpt.tele.pw.edu.pl/przedmioty/ulog.html w katalogu Eksperymenty http://zpt2.tele.pw.edu.pl/luba/eksper.htm 49
UC Irvine Machine Learning Repository Zastosowania w telekomunikacji… Spambase 57 atrybutów, 4601 instancji Atrybuty są numeryczne 0.78,0,0.78,0,1.57,0,0,0,0,0,0,0,0,0,0,1.57,0.78,0,1.57,0,2.36,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.682,0.341,0,2.555,22,115,1 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.266,4,19,1 0,0,0,0,0.87,0,0,1.16,0,0,0.29,1.74,0,0,0,0,0.87,0,4.95,0,2.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.151,0,0,0,0,0,1.095,4,46,1 0.23,0,0,0,0,0.23,0,0,0,0,0,0.92,0.46,0,0,0,0,0,2.76,0,2.76,0,0,0.69,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.445,0,0.202,0.121,0,1.945,7,142,0 0,0,0,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0,2.15,0,0,0,0,0,0,0,0.138,0,0,0,0,1.863,5,41,0 .....