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 medycynie marketingu farmakologii bankowości do wykrywania anomalii w sieciach tkm ZPT
Zastosowania ZPT
Literatura (łatwiej dostępna) LERS J. Grzymała-Busse, LERS a Data Mining System, in Data Mining and Knowledge Discovery Handbook, 5, VIII, 347-35, DOI:.7/-387-5465-X_65 3 ZPT
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 przeprowadzić sondaż Potrafi wykryć anomalie w sieci Eksploracja danych Potrafi zdiagnozować pacjenta Potrafi podjąć decyzję o przyznaniu kredytu klientowi banku ZPT 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 Uogólnianiu reguł decyzyjnych i wielu innych procedurach Jaki jest związek tych algorytmów z algorytmami syntezy logicznej? ZPT 5
Eksploracja danych a synteza logiczna Eksploracja danych Synteza logiczna Redukcja atrybutów Redukcja argumentów Indukcja reguł decyzyjnych Minimalizacja funkcji Hierarchiczne podejmowanie boolowskich decyzji Dekompozycja funkcjonalna Są to algorytmy przetwarzające ogromne bazy danych ZPT 6
Komputerowe systemy eksploracji danych ROSETTA http://logic.mimuw.edu.pl/~rses/ http://www.lcb.uu.se/tools/rosetta/ Rough Set Toolkit foranalysis of Data: BiomedicalCentre (BMC), Uppsala, Sweden. ZPT 7
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. ZPT
Znaczenie eksploracji danych Wiele rzeczywistych zjawisk opisuje się tablicami danych a b d e O b i e k 4 t 5 y 6 3 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. ZPT 9
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,) (e,) a b d e 3 4 5 6 redukcja atrybutów Indukcja (generacja) reguł decyzyjnych ZPT
Uogólnianie 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. ZPT
Przykład generacji reguł Tablica decyzyjna U a b c d e 3 4 5 6 7 Tablica reguł minimalnych a b c d e ZPT
Przykład: uogólniamy U U a b c d e a b c d 3 4 5 6 7 M = 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=. ZPT 3
Przykład: uogólniamy U a M = b c d a, d b b, d a, b, d Minimalne pokrycia są: {a,b} oraz {b,d}, U a b c d e a, b, c, d Wyznaczone na ich podstawie minimalne reguły: (a,)&(b,) (e,) (b,)&(d,) (e,) U a b c d e - - ZPT 4
Przykład uogólniania reguł cd. Pouogólnieniuobiektuu u. U a b c d e - - u można usunąć U a b c d e - - 3 4 5 6 7 ZPT 5
Przykład uogólniania reguł c.d. U a b c d e Dla obiektu u3 Dla obiektu u4 a b c d a b c d 3 4 5 6 7 (a,) (e,) (b,) & (d,) (e,) Niestety po uogólnieniu ani u 3 nie pokrywa u 4, ani u 4 nie pokrywa u 3 ZPT 6
Przykład uogólniania reguł c.d. U a b c d e 3 4 5 6 7 Dla obiektu u5 a b c d (d,) (e,) u 6, u 7 ZPT 7
Reguły minimalne Uogólnione reguły decyzyjne: (a,)&(b,) (e,) a b c d e (a,) (e,) (b,)&(d,) (e,) (d,) (e,) w innym zapisie: (a,)&(b,) (e,) (a,) (b,) &(d,) (e,) (d,) (e,) ZPT 8
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 Ale pojawia się nowy zestaw danych są w niej dane zebrane do tej pory i już sklasyfikowane a=,b=, c=, d= U a b c d e 3 4 5 6 7 Na uogólnionych regułach jest to oczywiste! Jaka decyzja? a b c d e e = ZPT 9
Predykcja decyzji a a a 3 a 4 a 5 a 6 d 3 3 3 4 5 3 6 3 3 4 3 7 3 3 3 8 9 4 3 3 4 3 3? Reguły (a=)&(a3=)&(a5=)&(a=)&(a6=)=>(d=) (a6=)&(a=)&(a=)=>(d=) (a=3)&(a=3)&(a3=)&(a4=)=>(d=) (a=)&(a3=)&(a=)&(a4=)&(a5=)&(a6=)=>(d=) (a=3)&(a3=)&(a=3)&(a4=3)=>(d=) (a4=4)&(a5=3)&(a6=)&(a=)=>(d=) Nieznana wartość decyzji (a=)&(a=)&(a3=)&(a4=3)&(a5=)&(a6=) ZPT Potrafimy sklasyfikować nowe dane
Zastosowania Sytuacja ta występuje np. przy wnioskach kredytowych składanych w bankach. Ponieważ część z nich jest akceptowana, a część odrzucana, można dane zebrane w dłuższym okresie czasu zapisać w tablicy decyzyjnej, uogólnić i dalej stosować w uproszczonej formie do podejmowania decyzji. Klientów charakteryzuje się za pomocą następujących cech jakościowych i ilościowych: Przykładowo: - Sytuacja zawodowa: B (bezrobotny), P (pracujący) -przeznaczenie kredytu: komputer (K), sprzęt audio (A), biżuteria (B) -wiek w latach -stan konta ZPT
Przykładowa tablica danych... Sytuacja Przeznaczenie: zawodowa Komp., sam. wiek Stan konta Staż pracy w danym zakładzie pracy C C C3 C4 C5 C6 C7 C8 C9 C Klasa P K K S nie 8 5 tak P K K S nie tak B K K R tak 5 5 4 nie P S M R nie 5 3 3 tak P S M S nie 5 5 tak P S M R nie 38 5 tak ZPT
Zastosowania Po uogólnieniu reguł decyzyjnych [wiek > 5] & [stan konta > 7] & [staż pracy > ] tak. [płeć = kobieta] & [wiek < 5] nie Proces uogólniania takich reguł to jedno głównych zagadnień Eksploracji Danych Do wykonywania takich obliczeń opracowano wiele narzędzi komputerowych. Do najbardziej znanych należą: RSES, JMAF, WEKA, ROSETTA, LERS ZPT LERS 3
Redukcja atrybutów Poszukuje się takich podzbiorów atrybutów, które zachowują podział obiektów na klasy decyzyjne taki sam, jak wszystkie atrybuty a a a 3 a 4 a 5 a 6 d 3 4 5 3 6 3 7 8 3 9 3 4 3 4 a a 4 a 6 d 3 4 5 3 6 3 7 8 3 9 3 4 3 4 {a, a 4, a 6 },{a, a, a 3, a 5, a 6 } ZPT 4
Redukcja atrybutów Jak obliczać minimalne zbiory atrybutów? Tak samo jak minimalne zbiory argumentów Metoda obliczania reduktów: Obliczyć: atrybuty niezbędne, iloczyn podziałów indukowanych atrybutami niezbędnymi (P N), podział ilorazowy P N P D (podział ilorazowy wskazuje na wszystkie pary obiektów, których porównanie utworzy tablicę porównań) z tablicy porównań utworzyć funkcje wyróżniającą (typu CNF) przekształcić CNF na DNF DNF reprezentuje wszystkie redukty! ZPT 5
Przykład redukcji atrybutów a atrybuty niezbędne: a 6 a 4 a 5 d a 6 a 3 a a ponieważ wiersze 6 i różnią się na pozycji a 3 3 6 3 5 4 skoro wiersze i 8 różnią się na pozycji a 6 3 7 3 8 6 3 3 4 9 4 ZPT 6
Przykład redukcji atrybutów a 4 a 5 d a 6 a 3 a a ) ; 9;3,6,7 P =(,,4,5,8, 3 = P 6 =(,,6,9,;3,4,5,7,8) 3 5 4 3 6 = P =(,,7;3,4,6;5,8;9,) 3 7 6 P D =(,,7;3,4,6;5,8;9,) 3 3 4 9 3 8 4 3 4 (,)(9);(4)(5,8);(6);(3)(7);() P P P = ZPT 7 (,)(9);(4)(5,8);(6);(3)(7);() P P P D 6 =
Przykład redukcji atrybutów 3 4 5 a a a 3 a 4 a 5 a 6 d P P P = 3 6 D = (,)(9);(4)(5,8);(6);(3)(7);() a, a 4, a 5,9,9 4,5 6 3 4,8 7 8 9 Redukty: 3 3 4 3 4 3,7 Wyrażenie CNF a, a 3, a 4, a 5 a 3, a 4 a, a 4 a 4, a 5 DNF (a 4 + a ) (a 4 + a 3 ) (a 4 + a 5 ) = a 4 + a a 3 a 5 {a, a 4, a 6 } ZPT {a, a, a 3, a 5, a 6 } 8
Plik danych RSES ZPT TABLE EXPLOR ATTRIBUTES 7 x numeric x numeric x3 numeric x4 numeric REDUCTS () x5 numeric { x, x4, x6 } x6 numeric { x, x, x3, x5, x6 } x7 numeric OBJECTS 3 3 3 3 4 3 4
Przykładowa baza (tablica) danych Wyniki badań i diagnozy 7 pacjentów Badanie Badanie Badanie Badanie Badanie Badanie Badanie Badanie Pacjenci Diagnoza 3 4 5 6 7 8 P D3 P D3 P3 D3 P4 D P5 D P6 D3 P7 D3 Wyniki badań i symptomy choroby zapisane są symbolicznymi wartościami atrybutów Reguły decyzyjne (Bad_=)&(Bad_=) &(Bad_5=) &(Bad_8=)=>(Diagnoza=D3) ZPT 3
Uogólnione reguły decyzyjne Badanie Badanie Badanie Badanie Badanie Badanie Badanie Badanie Pacjenci Diagnoza 3 4 5 6 7 8 P D3 P D3 P3 D3 P4 D P5 D P6 D3 P7 D3 Reguły decyzyjne: (Bad_=)&(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_=)=>(Diagnoza=D) (Bad_=)&(Bad_4=)&(Bad_6=)&(Bad_8=)=>(Diagnoza=D) Reguły decyzyjne wygenerowane z pierwotnej bazy danych używane są do klasyfikowania nowych obiektów. ZPT 3
Uogólnione reguły decyzyjne mogą być zastosowane do zdiagnozowania nowego pacjenta. Bad Bad Bad3 Bad4 Bad5 Bad6 Bad7 Bad8 Diagnoza P D3 P D3 P3 D3 P4 D P5 D P6 D3 P7 D3 Nowy pacjent??? (Bad_=)&(Bad_4=)=>(Diagnoza=D3) Dla nowego pacjenta (Bad_4=)&(Bad_7=)=>(Diagnoza=D3) Diagnoza = D3 (Bad_=)&(Bad_3=)&(Bad_6=)=>(Diagnoza=D) (Bad_3=)&(Bad_5=)&(Bad_6=)=>(Diagnoza=D) (Bad_=)=>(Diagnoza=D) (Bad_=)&(Bad_4=)&(Bad_6=)&(Bad_8=)=>(Diagnoza=D) ZPT 3
Redukcja atrybutów Poszukiwanie takich podzbiorów atrybutów, które zachowują podział obiektów na klasy decyzyjne taki sam, jak wszystkie atrybuty Bad Bad Bad3 Bad4 Bad5 Bad6 Bad7 Bad8 Diagnoza P D3 P D3 P3 D3 P4 D P5 D P6 D3 P7 D3 { Bad_ Bad_4 Bad_6 Bad_8 } { Bad_ Bad_6 Bad_7 Bad_8 } { Bad_ Bad_3 Bad_6 } { Bad_ Bad_ Bad_6 Bad_8 } (Tomograf) Bad Bad6 Bad7 Bad8 Diagnoza P D3 P D3 P3 D3 P4 D P5 D P6 D3 P7 D3 ZPT 33
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 ZPT Dermatology Database 34
Diagnostyka raka piersi Breast Cancer Database: Instancje (obiekty): 699 (dane poszczególnych pacjentów) Liczba atrybutów: Klasyfikacja( klasy). Ocena spoistości masy nowotworowej. 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 ZPT 9. Występowanie podziałów komórkowych (mitoza) 35
Breast Cancer Database(fragment) ZPT ID a a a3 a4 a5 a6 a7 a8 a9 a 5 5 3 945 5 4 4 5 7 3 545 3 3 677 6 8 8 3 4 3 7 73 4 3 3 7 8 8 7 9 7 4 899 3 856 3 3378 5 3378 4 3583 3 367 48 5 3 3 3 3 4 4 4 43999 3 3 4457 8 7 5 7 9 5 5 4 4 4763 7 4 6 4 6 4 3 4 4867 4 4985 4 3 567 7 7 6 4 4 4 578 6 3 5459 7 3 5 5 4 4 4 36
REDUCTS (7) { x, x, x3, x4, x6 } { x, x, x3, x5, x6 } { x, x3, x4, x6, x7 } { x, x3, x4, x6, x7 } { x, x, 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=)&(x=)&(x6=)=>(x=) (x9=)&(x=)&(x3=)&(x6=)=>(x=) (x9=)&(x8=)&(x4=)&(x3=)=>(x=) (x9=)&(x4=)&(x6=)&(x5=)=>(x=).. (x9=)&(x6=)&(x=)=>(x=4) (x9=)&(x6=)&(x5=4)=>(x=4) (x9=)&(x6=)&(x=8)=>(x=4) ZPT
Inne bazy danych z zakresu medycyny Audiology Database Dermatology Database Number of instances: Number of Instances: 366 training cases Number of attributes: 34 Number of attributes: 7 Classification(6 classes) Classification(4 classes) Sources: (a) Original Owner: Professor Jergen at Baylor College of Medicine (b) Donor: Bruce Porter (porter@fall.cs.utexas.edu) ZPT Source Information: Nilsel Ilter, M.D., Ph.D., Gazi University, School of Medicine 65 Ankara, Turkey Phone: +9 (3) 48 38
UC Irvine Machine Learning Repository Breast Cancer Database Audiology Database Dermatology Database ZPT Co jest przyczyną takiej sytuacji? 39
Przyczyna Mało skuteczne algorytmy stosowane w komputerowych systemach eksploracji danych. Przykładem potwierdzającym tę tezę jest redukcja atrybutów, stosowana w RSES, ROSE, WEKA Czy można je usprawnić??? ZPT 4
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 ZPT 4
Przykład metoda klasyczna Pokrycie kolumnowe (przypomnienie) M: x x x 4 x 3 x 4 x x x x 4 (x + x + x 4 ) (x 3 + x 4 ) (x + x )(x + x 4 ) = = x x 3 + x x 4 +x x 4 ZPT To są wszystkie minimalne pokrycia kolumnowe macierzy M 4
Przykład metoda uzupełniania M: f = xx x + x x + xx + xx = = M 4 3 4 x x + x x + 4 3 x 4 x 4 x 3 x 4 xx x x x 3 + x x 4 +x x 4 f M = x x 3 + + x x xx 4 4 ZPT To samo co poprzednio! 43
Metoda obliczania reduktów jest równoważna obliczaniu Complementu (Uzupełnienia) funkcji boolowskiej, reprezentowanej Tablicą porównań lub wyrażeniem boolowskim w postaci CNF (Koniunkcyjna Postać Normalna). Istotą metody jest transformacja wyrażenia boolowskiego CNF na DNF (Dysjunkcyjna Postać Normalna), którą tradycyjnie obliczamy metodą przekształceń boolowskich. ZPT 44
Przykład Wyrażenie CNF Zamieniamy na DNF (K + K 3 )(K + K 5 )(K + K 3 )(K + K 5 ) (K 3 + K 4 ) = (K 3 +K ) (K 3 + K ) (K 3 + K 4 ) (K 5 + K ) (K 5 + K ) = = (K 3 +K K K 4 ) (K 5 + K K ) = K 3 K 5 + K K K 3 + K K K 4 K 5 + K K K 4 Wyrażenie DNF: K 3 K 5 + K K K 3 + K K K 4 DNF reprezentuje zbiory {K 3,K 5 }, {K,K,K 3 }, {K,K,K 4 } ZPT 45
Zastosowanie algorytmu uzupełniania Dla koniunkcyjnej postaci normalnej obliczonej w przykładzie: F= (K + K 3 )(K + K 5 )(K + K 3 )(K + K 5 ) (K 3 + K 4 ) reprezentacja funkcji Fw w postaci zbioru kostek jest następująca: F = {(***), (***),(***), (***),(***)}. Uzupełnienie funkcji F, obliczone procedurą Complement jest reprezentowane trzema Kostkami: {(**),(**),(***)}. Można to sprawdzić posługującsię tablicą Karnaugha, reprezentującą uzupełnienie funkcji F: {K,K,K 4 },{K,K,K 3 },{K 3,K 5 } ZPT K 4 K 5 K K K 3 46
Algorytm obliczania reduktów Oczywiście w praktyce nikt nie liczy uzupełnienia posługując się tablica Karnaugha 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. ZPT 47
Metoda Complement Pierwotnie była stosowana w systemie Espresso, ale wyłącznie do obliczania zbioru D (lub R) F,D Espresso Complement Expand Essential primes Irredundant-Cover Reduce ZPT Last-gasp F M (Rozdział 5.5 ) 48
ZPT Przed redukcją.type fr.i.o.p 3.end Funkcja KAZ Redukcja argumentów/atrybutów Ile jest takich rozwiązań Po redukcji Jedno z wielu rozwiązań po o redukcji argumentów 49
ZPT.type fr.i.o.p 3 Funkcja KAZ Wszystkich rozwiązań: z minimalną i najmniejszą liczbą argumentów jest 35, z minimalną liczbą argumentów jest: 5574 Czas obliczeń RSES = 6 min. Czas obliczeń Błyskawicy = 56 ms. ok.. tysięcy razy szybciej!.end 5
Zastosowania Układ do wykrywania wzorców x y x y x 3 : Pattern matching circuit x 4 y 4 y 3 Trzeba wykryć stosunkowo niewielką liczbę wzorów spośród ogromnej liczby innych wektorów 4-bitowych ZPT 5
wektorów 4 bitowych Wynik Sasao Jak zaprojektować układ do wykrywania wzorców? Zadanie takie rozwiązuje się algorytmem redukcji argumentów T. Sasao, Index Generation Functions: Logic Synthesis for Pattern Matching, EPFL Workshop on Logic Synthesis & Verification, Dec. 5. ZPT 5
Generator indeksów Znając redukt generowanie indeksów można zrealizować w strukturze 5 4 x 5 Linear Main Circuity Memory 35 AUX x Memory AND 4 Głównym problemem jest zatem obliczanie reduktów! x 35 35 Comparator T. Sasao, Index Generation Functions: Logic Synthesis for Pattern Matching, EPFL Workshop on Logic Synthesis & Verification, Dec. 5. ZPT 53
Redukcja argumentów ZPT Błyskawica liczy wszystkie najmniejsze redukty w czasie ok. s i znajduje lepszy wynik x6, x6, x4 i x3.e 54
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 ZPT 55
Są źródłem ciekawych prac dyplomowych Konrad Królikowski Implementacja algorytmu obliczania reduktów metodą uzupełniania funkcji boolowskich, Cezary Jankowski Dyskretyzacja danych numerycznych metodami przekształceń boolowskich, WEiTI 4 Michał Andrzej Mańkowski Uogólnianie reguł decyzyjnych metodą uzupełniania funkcji boolowskich, WEiTI 4 ZPT 56