ZPT Synteza logiczna w eksploracji danych 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 1 Eksploracja danych (Data mining)
ZPT 2 Zastosowania
ZPT Literatura (łatwiej dostępna) 3 LERS J. Grzymała-Busse, LERS – a Data Mining System, in Data Mining and Knowledge Discovery Handbook, 2005, VIII, , DOI: / X_65Data Mining and Knowledge Discovery Handbook
ZPT 4 Potrafi zdiagnozować pacjenta Potrafi zdiagnozować pacjenta Potrafi podjąć decyzję o przyznaniu kredytu klientowi banku Potrafi podjąć decyzję o przyznaniu kredytu klientowi banku Potrafi wykryć anomalie w sieci Potrafi wykryć anomalie w sieci Potrafi przeprowadzić sondaż Potrafi przeprowadzić sondaż Eksploracja danych…. Nazywa się również odkrywaniem wiedzy w bazach danych (ang. knowledge discovery in databases). 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.
ZPT Pozyskiwanie wiedzy z baz danych Redukcji atrybutów Uogólnianiu reguł decyzyjnych i wielu innych procedurach… na abstrakcyjnym poziomie algorytmów polega na 5 Jaki jest związek tych algorytmów z algorytmami syntezy logicznej?
ZPT 6 Synteza logiczna Eksploracja danych Redukcja argumentów Redukcja atrybutów Indukcja reguł decyzyjnych Hierarchiczne podejmowanie decyzji Eksploracja danych a synteza logiczna Są to algorytmy przetwarzające ogromne bazy danych… Minimalizacja funkcji boolowskich Dekompozycja funkcjonalna
ZPT Komputerowe systemy eksploracji danych 7 Rough Set Toolkit for Analysis of Data: Biomedical Centre (BMC), Uppsala, Sweden. ROSETTA
ZPT 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 9 Znaczenie eksploracji danych abde 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. ObiektyObiekty Wiele rzeczywistych zjawisk opisuje się tablicami danych
ZPT 10 Tablice i reguły decyzyjne U1: (a,1) (b,0) (d,1) (e,1) U5: (a,1) (b,1) (d,2) (e,2) abde redukcja atrybutów Indukcja (generacja) reguł decyzyjnych Tablice takie można również reprezentować za pomocą wyrażeń logicznych zwanych regułami decyzyjnymi:
ZPT 11 Uogólnianie reguł 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. 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.
ZPT 12 Przykład generacji reguł Uabcde Tablica decyzyjna abcde 10––1 0–––0 –1–10 –––22 Tablica reguł minimalnych
ZPT 13 Przykład: uogólniamy U 1 Uabcde Macierz M powstaje przez porównanie obiektów: (u 1, u 3 ), (u 1, u 4 ),..., (u 1, u 7 ). Wynikiem porównania są wiersze M. Dla takich samych wartości atrybutów odpowiedni m=0, dla różnych m= dcba M
ZPT 14 Przykład: uogólniamy U 1 Minimalne pokrycia są: {a,b} oraz {b,d}, dcba M a, b, c, d a, b, d b, d b a, d Wyznaczone na ich podstawie minimalne reguły: (a,1) & (b,0) (e,1) (b,0) & (d,1) (e,1) Uabcde Uabcde
ZPT 15 Przykład uogólniania reguł cd. Uabcde Po uogólnieniu obiektu u 1 u 2. u 2 można usunąć Uabcde
ZPT 16 Przykład uogólniania reguł c.d. Uabcde (a,0) (e,0) (b,1) & (d,1) (e,0) Dla obiektu u3Dla obiektu u4 Niestety po uogólnieniu ani u 3 nie pokrywa u 4, ani u 4 nie pokrywa u 3
ZPT 17 Przykład uogólniania reguł c.d. Uabcde (d,2) (e,2) Dla obiektu u5 u 6, u 7
ZPT 18 Reguły minimalne abcde 10––1 0–––0 –1–10 –––22 (a,1) & (b,0) (e,1) (a,0) (e,0) (b,1) & (d,1) (e,0) (d,2) (e,2) (a,1) & (b,0) (e,1) (a,0) (b,1) & (d,1) (e,0) (d,2) (e,2) w innym zapisie: Uogólnione reguły decyzyjne:
ZPT 19 Interpretacja reguł uogólnionych Uabcde Pierwotna tablica decyzyjna: zapisane są w niej dane zebrane do tej pory i już sklasyfikowane abcde 10––1 0–––0 –1–10 –––22 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. a=1,b=1, c=1, d= 1 Na uogólnionych regułach jest to oczywiste! Ale pojawia się nowy zestaw danych Jaka decyzja? e = 0
ZPT 20 Predykcja decyzji (a1=2)&(a2=1)&(a3=2)&(a4=3)&(a5=1)&(a6=2) a1a1 a2a2 a3a3 a4a4 a5a5 a6a6 d ? Nieznana wartość decyzji Potrafimy sklasyfikować nowe dane (a1=2)&(a3=1)&(a5=1)&(a2=2)&(a6=1)=>(d=1) (a6=2)&(a1=2)&(a2=1)=>(d=1) (a1=3)&(a2=3)&(a3=2)&(a4=2)=>(d=1) (a1=2)&(a3=1)&(a2=2)&(a4=1)&(a5=1)&(a6=2)=>(d=0) (a2=3)&(a3=2)&(a1=3)&(a4=3)=>(d=0) (a4=4)&(a5=3)&(a6=1)&(a1=2)=>(d=0) Reguły
ZPT 21 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: - Sytuacja zawodowa: B (bezrobotny), P (pracujący) - przeznaczenie kredytu: komputer (K), sprzęt audio (A), biżuteria (B)… - wiek w latach - stan konta Zastosowania Przykładowo:
ZPT Przykładowa tablica danych... C1C2C3C4C5C6C7C8C9C10Klasa PKKSnie tak PKKSnie tak BKKR nie PSMRnie tak PSMSnie tak PSMRnie tak 22 Przeznaczenie: Komp., sam. wiekStan konta Staż pracy w danym zakładzie pracy Sytuacja zawodowa
ZPT 23 Zastosowania [wiek > 25] & [stan konta > 70] & [staż pracy > 2] tak [płeć = kobieta] & [wiek < 25] nie ……. Po uogólnieniu reguł decyzyjnych… LERS 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 24 Redukcja atrybutów {a 1, a 4, a 6 }, {a 1, a 2, a 3, a 5, a 6 } a1a1 a2a2 a3a3 a4a4 a5a5 a6a6 d a1a1 a4a4 a6a6 d Poszukuje się takich podzbiorów atrybutów, które zachowują podział obiektów na klasy decyzyjne taki sam, jak wszystkie atrybuty
ZPT 25 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 26 Przykład redukcji atrybutów a4a a5a da6a6 a3a3 a2a2 a1a1 ponieważ wiersze 6 i 10 różnią się na pozycji a 1 a1a1 skoro wiersze 2 i 8 różnią się na pozycji a 6 atrybuty niezbędne: a6a6
ZPT 27 Przykład redukcji atrybutów a4a a5a da6a6 a3a3 a2a2 a1a1
ZPT 28 Przykład redukcji atrybutów a4a a5a da6a6 a3a3 a2a2 a1a1 a 2, a 4, a 5 1,9 2,9 4,5 4,8 3,7 (a 4 + a 2 ) (a 4 + a 3 ) (a 4 + a 5 ) a 2, a 3, a 4, a 5 a 3, a 4 a 2, a 4 a 4, a 5 {a 1, a 4, a 6 } {a 1, a 2, a 3, a 5, a 6 } Wyrażenie CNF DNF = a 4 + a 2 a 3 a 5 Redukty:
ZPT Plik danych RSES TABLE EXPLOR ATTRIBUTES 7 x1 numeric 0 x2 numeric 0 x3 numeric 0 x4 numeric 0 x5 numeric 0 x6 numeric 0 x7 numeric 0 OBJECTS REDUCTS (2) { x1, x4, x6 } { x1, x2, x3, x5, x6 }
ZPT 30 Przykładowa baza (tablica) danych Pacjenci Badanie 1 Badanie 2 Badanie 3 Badanie 4 Badanie 5 Badanie 6 Badanie 7 Badanie 8 Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 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)
ZPT 31 Pacjenci Badanie 1 Badanie 2 Badanie 3 Badanie 4 Badanie 5 Badanie 6 Badanie 7 Badanie 8 Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 (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: Uogólnione reguły decyzyjne Reguły decyzyjne wygenerowane z pierwotnej bazy danych używane są do klasyfikowania nowych obiektów.
ZPT 32 Uogólnione 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) …mogą być zastosowane do zdiagnozowania nowego pacjenta. Dla nowego pacjenta Diagnoza = D3 Bad1Bad2Bad3Bad4Bad5Bad6Bad7Bad8Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 Nowy pacjent ???
ZPT 33 Redukcja atrybutów Bad1Bad2Bad3Bad4Bad5Bad6Bad7Bad8Diagnoza P D3 P D3 P D3 P D1 P D2 P D3 P D3 Bad1Bad6Bad7Bad8Diagnoza P11000D3 P20101D3 P31000D3 P40000D1 P50010D2 P60100D3 P70001D3 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 } (Tomograf)
ZPT 34 UC Irvine Machine Learning Repository Breast Cancer Database Audiology Database Dermatology Database Wymagania na przetwarzanie coraz większych baz danych rosną, natomiast metody i narzędzia eksploracji danych stają się coraz mniej skuteczne Rosnące wymagania
ZPT 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 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) 35 Diagnostyka raka piersi
ZPT Breast Cancer Database (fragment) IDa1a2a3a4a5a6a7a8a9a 36
ZPT 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 }
ZPT Audiology Database Number of instances: 200 training cases Number of attributes: 71 Classification (24 classes) Sources: (a) Original Owner: Professor Jergen at Baylor College of Medicine (b) Donor: Bruce Porter Dermatology Database Number of Instances: 366 Number of attributes: 34 Classification (6 classes) Source Information: Nilsel Ilter, M.D., Ph.D., Gazi University, School of Medicine Ankara, Turkey Phone: +90 (312) Inne bazy danych z zakresu medycyny 38
ZPT 39 UC Irvine Machine Learning Repository Breast Cancer Database Audiology Database Dermatology Database Co jest przyczyną takiej sytuacji?
ZPT Przyczyna… Mało skuteczne algorytmy stosowane w komputerowych systemach eksploracji danych. Czy można je usprawnić??? Przykładem potwierdzającym tę tezę jest redukcja atrybutów, stosowana w RSES, ROSE, WEKA… 40
ZPT Inna metoda obliczania reduktów… 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. Klasyczną metodę można znacznie usprawnić wykorzystując stosowaną w syntezie logicznej procedurę uzupełniania funkcji boolowskiej. 41 Nigdy nie była stosowana do obliczania reduktów
ZPT Przykład – metoda klasyczna (x 3 + x 4 ) x 1 x 2 x 4 x 3 x 4 x 1 x 2 x 1 x 4 (x 1 + x 2 + x 4 )(x 1 + x 2 ) (x 1 + x 4 ) = = x 1 x 3 + x 2 x 4 +x 1 x 4 To są wszystkie minimalne pokrycia kolumnowe macierzy M M: Pokrycie kolumnowe (przypomnienie) 42
ZPT x3x4x1x2x3x4x1x M: 43 Przykład – metoda uzupełniania x 1 x 3 + x 2 x 4 +x 1 x 4 To samo co poprzednio!
ZPT Metoda obliczania reduktów… 44 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 Przykład 45 (K 1 + K 3 )(K 1 + K 5 )(K 2 + K 3 )(K 2 + K 5 ) (K 3 + K 4 ) = Wyrażenie DNF: K 3 K 5 + K 1 K 2 K 3 + K 1 K 2 K 4 DNF reprezentuje zbiory {K 3,K 5 }, {K 1,K 2,K 3 }, {K 1,K 2,K 4 } Zamieniamy na DNF Wyrażenie CNF (K 3 + K 1 ) (K 3 + K 2 ) (K 3 + K 4 ) (K 5 + K 1 ) (K 5 + K 2 ) = = (K 3 + K 1 K 2 K 4 ) (K 5 + K 1 K 2 ) = K 3 K 5 + K 1 K 2 K 3 + K 1 K 2 K 4 K 5 + K 1 K 2 K 4
ZPT Zastosowanie algorytmu uzupełniania Dla koniunkcyjnej postaci normalnej obliczonej w przykładzie: F = (K 1 + K 3 )(K 1 + K 5 )(K 2 + K 3 )(K 2 + K 5 ) (K 3 + K 4 ) reprezentacja funkcji F w postaci zbioru kostek jest następująca: F = {(1*1**), (1***1), (*11**), (*1**1), (**11*)}. Uzupełnienie funkcji F, obliczone procedurą Complement jest reprezentowane trzema Kostkami: {(00*0*), (000**),(**0*0)}. K4K5K1K2K3K4K5K1K2K Można to sprawdzić posługując się tablicą Karnaugha, reprezentującą uzupełnienie funkcji F: 46 {K 1,K 2,K 4 }, {K 1,K 2,K 3 }, {K 3,K 5 }
ZPT 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. Algorytm obliczania reduktów… 47 Oczywiście w praktyce nikt nie liczy uzupełnienia posługując się tablica Karnaugha Uzupełnienie oblicza się dla zero-jedynkowej macierzy M.
ZPT Rozkład Tautologia D CAB
ZPT Scalanie DCAB = T [ ] + [ ] = = [ ] [ ] + = [ ] = [ ] [ ] + = [ ] = [ ] + [ ] =
ZPT Metoda Complement… 50 Pierwotnie była stosowana w systemie Espresso, ale wyłącznie do obliczania zbioru D (lub R) Espresso (Rozdział 6.5 )
ZPT 51 Funkcja KAZ.type fr.i 21.o 1.p end Przed redukcją Jedno z wielu rozwiązań p o redukcji argumentów Ile jest takich rozwiązań Redukcja argumentów/atrybutów Po redukcji
ZPT 52 Funkcja KAZ.type fr.i 21.o 1.p 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!
ZPT databaseattr.inst.RSES/ROSETTA compl. method reducts house172321s187ms4 breast-cancer -wisconsin s823ms27 KAZ223170min234ms5574 trains3310 out of memory (5h 38min) 6ms689 agaricus-lepiota -mushroom min4m 47s507 urology36500 out of memory (12h) 42s 741ms23437 audiology71200 out of memory (1h 17min) 14s 508ms37367 dermatology35366 out of memory (3h 27min) 3m 32s lung-cancer5732 out of memory (5h 20min) 111h 57m Eksperymenty Bezwzględna przewaga metody uzupełniania!
ZPT 54 Porównanie Espresso i RSES RSES.i 7.o 1.type fr.p e ESPRESSO 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 (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)
ZPT 55 … co uzyskamy stosując RSES do realizacji sprzętu RSES ESPRESSO
ZPT 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 56
ZPT Są źródłem ciekawych prac dyplomowych 57 Konrad Królikowski Implementacja algorytmu obliczania reduktów metodą uzupełniania funkcji boolowskich, 2012 Michał Andrzej Mańkowski Uogólnianie reguł decyzyjnych metodą uzupełniania funkcji boolowskich, WEiTI 2014 Cezary Jankowski Dyskretyzacja danych numerycznych metodami przekształceń boolowskich, WEiTI 2014