Preprint. The final publication is available at http://www.sigma-not.pl/rocznik-2014-59-przeglad-telekomunikacyjny.html Dyskretyzacja danych numerycznych metodami przekształceń boolowskich Cezary Jankowski, Grzegorz Borowik, Karol Kowalski PUBLISHED IN: Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne 10/2014 BIBTEX: @ARTICLE{Przeglad_2014_10_GBorowik_pol, AUTHOR = {Cezary Jankowski and Grzegorz Borowik and Karol Kowalski}, TITLE = {Dyskretyzacja danych numerycznych metodami przekszta\l{}ce\'n boolowskich}, JOURNAL = {Przeglad Telekomunikacyjny i Wiadomo\'sci Telekomunikacyjne}, YEAR = {2014}, VOLUME = {LXXXVII}, NUMBER = {10}, PAGES = {1334--1342}, MONTH = {Pa\'zdziernik} } @ARTICLE{Przeglad_2014_10_GBorowik_eng, AUTHOR = {Cezary Jankowski and Grzegorz Borowik and Karol Kowalski}, TITLE = {Discretization of numerical data using {B}oolean transformations {(in Polish)}}, JOURNAL = {Przeglad Telekomunikacyjny i Wiadomo\'sci Telekomunikacyjne}, YEAR = {2014}, VOLUME = {LXXXVII}, NUMBER = {10}, PAGES = {1334--1342}, } MONTH = {October} UPLOADED UNDER SELF-ARCHIVING POLICIES NO COPYRIGHT INFRINGEMENT INTENDED
Preprint. The final publication is available at http://www.sigma-not.pl/rocznik-2014-59-przeglad-telekomunikacyjny.html Cezary Jankowski*, Grzegorz Borowik*, Karol Kowalski* Dyskretyzacja danych numerycznych metodami przekształceń boolowskich Dyskretyzacja danych numerycznych stanowi część przetwarzania wstępnego (rys. 1 [19, 31]), niezbędnego w typowych procesach odkrywania wiedzy i eksploracji danych, których znaczenie we współczesnej telekomunikacji trudno przecenić. Przekształcenie ciągłych wartości atrybutów na ich dyskretne odpowiedniki umożliwia dalszą analizę za pomocą algorytmów eksploracji danych, takich jak redukcja atrybutów lub indukcja reguł, które z natury rzeczy wymagają danych symbolicznych. Nawet w przypadku braku takiego wymagania dyskretyzacja umożliwia przyspieszenie procesu eksploracji danych oraz zwiększenie dokładności (accuracy) przewidywań (klasyfikacji) [12]. Rys. 1. Schemat odkrywania wiedzy z danych Typowym przykładem zastosowań odkrywania wiedzy z baz danych z dyskretnymi wartościami atrybutów jest wykrywanie anomalii w sieciach telekomunikacyjnych. Są to systemy pracujące według typowego schematu maszynowego uczenia, gdyż kombinacja reguł oraz algorytmów klasyfikacji służy do wykrywania anomalii na podstawie analizy danych treningowych. System w fazie nauki tworzy bazę wiedzy, zawierającą wzorce analizowanych anomalii. Następnie, z wykorzystaniem algorytmu podejmowania decyzji i klasyfikacji, można utworzyć zbiór reguł decyzyjnych klasyfikujących bieżące dane. Baza danych Spambase Data Set [2] (źródło: Mark Hopkins, Erik Reeber, George Forman, Jaap Suermondt, Hewlett-Packard Labs, Palo Alto, California, USA), jest zbiorem danych, dla którego celem jest uzyskanie reguł klasyfikujących wiadomości według następujących sytuacji: y_spam (wiadomość jest spamem), n_spam * Instytut Telekomunikacji, Wydział Elektroniki i Technik Informacyjnych Politechniki Warszawskiej, e-mail: C.Jankowski@stud.elka.pw.edu.pl, gborowik@tele.pw.edu.pl (wiadomość jest chciana przez odbiorcę). Baza ta zawiera 4601 rekordów reprezentowanych przez 57 atrybutów numerycznych. Atrybuty te opisują częstość wybranych słów (na przykład: free, money) i znaków. 3 atrybuty charakteryzują występowanie wielkich liter w wiadomości: ich sumę, a także najdłuższy ich ciąg i średnią długość ciągu w wiadomości. Podobny problem występuje przy klasyfikacji danych bazy Breast Cancer. Atrybuty tej bazy dotyczą między innymi takich cech, jak: ocena spoistości masy nowotworowej, ocena jednolitości rozmiaru komórek, ocena jednolitości ich kształtu, z których większość ma wartości numeryczne. Zatem do prawidłowej eksploracji wielu baz danych niezbędna jest ich dyskretyzacja. Celem artykułu jest omówienie problemu dyskretyzacji danych numerycznych metodami przekształceń boolowskich. Celowość takiego podejścia zyskała na znaczeniu po wykazaniu w [4, 5], że algorytmy przekształceń boolowskich, stosowane w syntezie logicznej układów cyfrowych, są znacznie skuteczniejsze od algorytmów stosowanych w eksploracji danych. W szczególności wykazano, że znajdują one zastosowanie przede wszystkim w redukcji atrybutów [5, 6], indukcji reguł decyzyjnych [4, 24] oraz w dyskretyzacji danych numerycznych [3]. Ich zaletą jest to, iż umożliwiają uzyskiwanie wyników systematycznych w stosunkowo krótkim czasie [23]. Po omówieniu pojęć podstawowych przedstawiono proces dyskretyzacji heurystycznymi metodami przekształceń boolowskich, z wyszczególnieniem generacji cięć kandydujących, tworzenia macierzy rozróżnialności oraz wyborem minimalnego zbioru cięć. Zostały również przedstawione wyniki eksperymentów, weryfikujące przydatność zaproponowanej metody. Informacje ogólne Systemem informacyjnym nazywa się uporządkowaną czwórkę SI = U,A,V,f, gdzie U jest niepustym, skończonym zbiorem obiektów (instancji), zwanym uniwersum, A jest niepustym, skończonym zbiorem atrybutów, V = a A V a, V a jest dziedziną atry-
butu a A, U A V jest funkcją informacji, taką że f (a,x) V a dla każdego a A i x U. Zamiast funkcji informacji f można rozpatrywać jednoparametrową rodzinę funkcji f x : A V, taką że f x (a) = f (a,x) dla każdego a A i ustalonego x U, zwaną dalej informacją o elemencie x U w SI. Tablicą decyzyjną nazywa się uporządkowaną piątkę: DT = U,C,D,v,f, gdzie U, C, D są skończonymi zbiorami, v jest odwzorowaniem przyporządkowującym każdemu elementowi a C D skończony zbiór V a, a f jest funkcją z U (C D) V w sumę V zbiorów V a taką, że f (a,x) V dla wszystkich x oraz a. Elementy C są nazywane atrybutami warunkowymi, elementy D są nazywane atrybutami decyzyjnymi, V a jest dziedziną atrybutu a. Funkcja f nazywa się funkcją decyzyjną. Nietrudno zauważyć, że określenie tablicy decyzyjnej jest formalną modyfikacją pojęcia systemu informacyjnego przez podział zbioru atrybutów A na rozłączne zbiory C i D i inną interpretację funkcji f. Tablice decyzyjne są często stosowanym modelem danych i co najważniejsze są bezpośrednio przystosowane do głównych algorytmów eksploracji takich danych, jak uogólnianie reguł decyzyjnych lub redukcja atrybutów. Należy jednak podkreślić, że wykonywanie tych algorytmów jest możliwe wyłącznie dla dyskretnych tablic danych. Niestety, algorytmy generacji reguł z natury rzeczy są przystosowane do symbolicznych danych dyskretnych. Na przykład dane reprezentujące wiek mogą być skategoryzowane według trzech kategorii: młody, średni, stary. Istnieją jednak sytuacje znacznie trudniejsze, dla których postępowanie intuicyjne nie może być zastosowane. W rezultacie dyskretyzacja danych mimo wielu dotychczasowych propozycji jest zadaniem wymagającym dalszych poszukiwań skutecznych metod. Para obiektów x,y U jest rozróżnialna przez B, jeśli istnieje atrybut a B, B C taki, że f (a, x) ¹ f (a, y). Znaczy to, że para obiektów jest rozróżnialna przez zbiór atrybutów warunkowych, dla których obiekty te przyjmują różne wartości. Sprzeczność (niespójność, niekonsystencja) występuje wtedy, gdy para instancji x,y U nie jest rozróżnialna przez zbiór B, a ma różne decyzje (f (dec, x) f (dec, y)). Systemem niesprzecznym (spójnym) nazywa się taki system, którego wszystkie pary obiektów o różnych decyzjach są rozróżnialne przez zbiór atrybutów warunkowych C. Redukt stanowi taki zbiór B C, który spełnia następujące warunki: dla każdej pary obiektów x,y U mającej różne decyzje, czyli takiej, że f (dec,x) f (dec,y) i jednocześnie rozróżnialnej przez A (czyli niesprzecznej) jest rozróżnialna także przez B, żaden właściwy podzbiór B nie spełnia powyższego warunku (dla uściślenia uwagi: jeśli zbiór B={a,b,c}, to żaden z podzbiorów {a,b}, {a,c}, {b,c} nie zachowuje rozróżnialności). Cięcie stanowi para (atrybut, wartość cięcia) oznaczona jako (a,cutval), gdzie a C. Para obiektów x,y U jest rozróżnialna przez cięcie, jeśli f (a,x)<cutval<f (a,y) lub f (a,y)<cutval<f (a,x). Rozpatrzmy niesprzeczną tablicę decyzyjną S oraz zbiór cięć P. P jest niesprzeczny z S, jeśli dla każdej pary obiektów x,y U o różnych decyzjach (czyli f (dec,x) f (dec,y)) istnieje cięcie (a,cut) P rozróżniające tę parę [30]. Funkcją boolowską zmiennych binarnych x 1,, x n nazywa się odwzorowanie: f: X Y, gdzie zbiory X, Y są podzbiorami n-krotnego, (m-krotnego) iloczynu kartezjańskiego zbioru B = {0, 1}. Z punktu widzenia potrzeb niniejszej pracy istotne będą pojedyncze funkcje boolowskie, dla których Y = {0, 1}. (informacje o arytmetyce Boole a znajdują się między innymi w [25,35]). Implikant danej funkcji f jest to iloczyn literałów (zmiennych prostych i zanegowanych) taki, że odpowiadający mu zbiór wektorów binarnych nie zawiera wektora, dla którego wartość funkcji jest 0. Prosty implikant to taki, który zmniejszony o dowolny literał przestaje być implikantem. Pokryciem kolumnowym macierzy M nazywamy taki zbiór jej kolumn L, że dla każdego wiersza macierzy i istnieje taka kolumna l L, że l [i] = 1. Jeżeli usunięcie którejkolwiek z kolumn powoduje brak pokrycia, jest to minimalne pokrycie kolumnowe [8, 22]. Dyskretyzacja pojęcia podstawowe Klasyfikacja metod dyskretyzacji Istnieje wiele metod dyskretyzacji opisanych w literaturze (przegląd między innymi w [11, 19, 20]). Autorzy stosowali odmienne podejścia, wywodzące się ze statystyki, nauczania maszynowego, teorii informacji czy logiki. Aby móc dokładniej rozeznać się w tej problematyce, należy wziąć pod uwagę stosowane kryteria porównawcze [20]. Dyskretyzacja lokalna lub globalna w przypadku globalnej dyskretyzacji jednocześnie jest rozpatrywana cała przestrzeń problemu. Lokalna dyskretyzacja w danej chwili rozwiązuje tylko pewien wybrany podproblem. Podziału dokonuje się na podstawie ograniczonej ilości informacji. Dyskretyzacja z nadzorem lub bez nadzoru podczas dyskretyzacji z nadzorem (supervised) bierze się pod uwagę decyzję (klasę) każdego z obiektów. Głównym założeniem nadzorowania jest odseparowanie od siebie instancji, mających różne decyzje. Jeżeli metoda nie korzysta z informacji, jaką niosą ze sobą klasy, określa się ją mianem nienadzorowanej. Przewagą metod bez nadzoru jest możliwość ich stosowania do dyskretyzacji baz, które nie mają atrybutu decyzyjnego. Dyskretyzacja statyczna lub dynamiczna w statycznej metodzie współzależności atrybutów nie bierze się pod uwagę. Podczas jednego cyklu dyskretyzacji otrzymuje się wartość maksymalnej liczby przedziałów dla danego atrybutu, niezależnie od pozostałych. Metody dynamiczne rozpatrują jednocześnie cięcia dla wielu cech, co umożliwia wykorzystanie zależności wysokiego poziomu. Kryteria oceny jakości Ze względu na mnogość istniejących metod dyskretyzacji istnieje potrzeba wprowadzenia kryteriów oceny jakości. Zostały one określone w pracy [20]. Liczba przedziałów im mniej przedziałów, tym prostsza tablica wynikowa. Można zauważyć, że problem minimalizacji liczby przedziałów jest jednoznaczny z minimalizacją liczby cięć. Liczba niespójności (niekonsystencji) najlepiej byłoby, gdyby dyskretyzacja nie wprowadzała dodatkowych niespójności ponad te zawarte w wejściowej bazie. W innym przypadku istotne informacje mogą być tracone. Dokładność przewidywań określa, jak dyskretyzacja pomaga poprawić przewidywania. Należy podkreślić, że to kryterium jest zależne od metody klasyfikacji oraz procedury przeprowadzania eksperymentu. Trzeba też podkreślić fakt, iż tylko pierwsze dwa kryteria są bezpośrednio mierzalne. Dokładność przewidywań stanowi funkcję zarówno dyskretyzacji, jak i algorytmu klasyfikacji. Wymienione kryteria nie wskazują jednoznacznie, który z badanych sposobów jest najlepszy. W zależności bowiem od wybranej bazy oraz oczekiwanych rezultatów waga każdego z kryteriów może się wahać. Co więcej, nie istnieje taka metoda dyskretyzacji, która wykazywałaby przewagę w odniesieniu do wszystkich kryteriów jednocześnie.
Dyskretyzacja metodą przekształceń boolowskich Można wyróżnić trzy podstawowe etapy dyskretyzacji. Są nimi: określenie cięć kandydujących (proponowanych), stworzenie tablicy rozróżnialności oraz rozwiązanie problemu pokrycia kolumnowego tej tablicy. Tabela 1. Przykładowa Pierwszym krokiem jest określenie zbiorów wartości atrybutów. tablica decyzyjna C1 C2 Dec Zgodnie z przyjętą konwencją oznaczeń, można zapisać: U1 0,8 4,6 0 V C1 ={0,4; 0,8; 1,4; 1,8; 2,0}, U2 2,0 3,2 0 V C2 ={1,8; 2,0; 2,6; 3,2; 3,8; 4,6}, U3 0,4 1,8 1 V dec ={0;1}. U4 0,8 2,0 1 Następnie należy wyznaczyć cięcia kandydujące, czyli zbiór tych U5 1,4 3,8 1 cięć, wewnątrz którego będzie szukany minimalny ich podzbiór, speł- U6 1,8 2,6 0 niający założone warunki. Wartość cięcia będzie stanowić średnia arytmetyczna kolejnych wartości atrybutu. Ponownie stosując przyjętą konwencję można zapisać je jako: Cuts={(C1; 0,6), (C1; 1,2), (C1; 1,6), (C1; 1,9), (C2; 1,9), (C2; 2,3), (C2; 2,9), (C2; 3,5), (C2; 4,2)}. W przypadku dwóch atrybutów warunkowych można łatwo przedstawić instancje oraz cięcia na dwuwymiarowym wykresie. Interpretacja geometryczna umożliwia między innymi szybsze dostrzeżenie niespójności, co jest istotne w ocenie jakości dyskretyzacji. Sprzeczność występuje, gdy w pewnej podprzestrzeni, ograniczonej cięciami, znajdują się obiekty o różnych decyzjach. Aby uzyskać spójną dyskretyzację, należy zatem oddzielić cięciem wszystkie pary instancji o różnych decyzjach. Warto zwrócić uwagę, iż można przeprowadzić redukcję cięć kandydujących bez zmniejszenia ogólności rozwiązania. Rozważmy obiekty U2, U5 oraz U6. Należy oddzielić od siebie pary (U2, U5) oraz (U5, U6), ponieważ f (dec, U2) = 0, f (dec, U5) = 1 oraz f (dec, U6) = 0. Wprowadźmy oznaczenie diff (x,y)={cut1, cut2}, określające, że parę atrybutów x,y U rozróżniają (jak to opisano wcześniej) cięcia cut1, cut2. Można zatem zapisać: diff (U2, U5)={(C1; 1,6), (C1; 1,9), (C2; 3,5)} oraz diff (U5, U6)={(C1; 1,6), (C2; 2,9), (C2; 3,5)}. Można usunąć ze zbioru cięć kandydujących te, które w interpretacji geometrycznej znajdują się pomiędzy instancjami o takiej samej decyzji. W rozpatrywanym przykładzie będą to cięcia (C1; 1,9) oraz (C2; 2,9). Wybranie któregoś z nich podczas dyskretyzacji stwarza i tak potrzebę cięcia, które można było wybrać zamiast niego. Dla uściślenia uwagi gdyby zostało wybrane cięcie (C2; 2,9), to parę (U2, U5) trzeba by było i tak rozróżnić innym cięciem. Gdyby jednak zostało wybrane cięcie ze zbioru {(C1; 1,6), (C2; 3,5)}, rozróżniłoby to obie pary jednocześnie. Z formalnego punktu widzenia należy sprawdzić, na jaką decyzję wskazuje dana wartość atrybutu warunkowego. Oznaczmy taki związek trójką (C, v C, dec). Na przykład w tabeli 1 wartość atrybutu C1 równą 2,0 ma tylko instancja U2, o wartości atrybutu decyzyjnego równej 0, czyli według przyjętej konwencji można oznaczyć tę zależność jako (C1; 2,0; 0). Natomiast wartość 0,8 atrybutu C1 mają dwie instancje U1 oraz U4, których decyzje są różne. Wtedy można zapisać to jako (C1; 0,8; {0, 1}). Można zatem usunąć wszystkie cięcia kandydujące, powstałe przez wyliczenie średniej arytmetycznej kolejnych wartości atrybutów, które wskazują na jedną, taką samą decyzję. Po przeprowadzeniu redukcji zbiór cięć kandydujących z tabeli 1 przedstawia się następująco: Cuts={(C1; 0,6), (C1; 1,2), (C1; 1,6), (C2; 2,3), (C2; 3,5), (C2; 4,2)}. Graficzną interpretację wartości atrybutów instancji oraz cięć kandydujących przedstawiono na rys. 2. Określenie cięć kandydujących Prześledzenie toku postępowania ułatwia przykładowa tablica decyzyjna (tabela 1). Rys. 2. Instancje, zredukowane cięcia kandydujące oraz wybrany minimalny zbiór cięć dla tablicy decyzyjnej z tabeli 1 Należy zwrócić uwagę na to, iż pozostałe cięcia umożliwiają tak samo dobrą dyskretyzację, jak wcześniej. Ograniczenie ich liczby może mieć za to wpływ na zmniejszenie zużywanych zasobów pamięci w zaimplementowanej metodzie. Jak to dalej pokazano, wprowadzenie udoskonalenia oryginalnej metody o redukcję cięć kandydujących przynosi zauważalnie pozytywne skutki. Stworzenie macierzy rozróżnialności Następnym krokiem jest wykorzystanie wyznaczonych cięć kandydujących do stworzenia tablicy rozróżnialności (macierzy rozróżnialności). Idea jest następująca każdy wiersz oznacza parę instancji o różnych decyzjach, a każda kolumna stanowi jedno z cięć. Jeżeli da się rozróżnić i-tą parę obiektów j-tym cięciem, to na pozycji [i,j] macierzy znajduje się wartość 1. Jeśli dane cięcie nie rozróżnia tej pary, to wstawiona zostaje wartość 0 macierz jest wypełniona wartościami binarnymi. Rozpatrzmy (tabela 2) macierz rozróżnialności tablicy decyzyjnej z tabeli 1. Dla ułatwienia dodano informacje o parze cięć w każdym z wierszy oraz o cięciu kandydującym, któremu odpowiada dana kolumna. Wprowadźmy oznaczenia dla cięć kandydujących: cut1=(c1; 0,6), cut2=(c1; 1,2), cut3=(c1; 1,6), cut4=(c2; 2,3), cut5=(c2; 3,5) oraz cut6=(c2; 4,2). Tabela 2. Macierz rozróżnialności tablicy decyzyjnej z tabeli 1 cut1 cut2 cut3 cut4 cut5 cut6 (U1, U3) 1 0 0 1 1 1 (U1, U4) 0 0 0 1 1 1 (U1, U5) 0 1 0 0 0 1 (U2, U3) 1 1 1 1 0 0 (U2, U4) 0 1 1 1 0 0 (U2, U5) 0 0 1 0 1 0 (U3, U6) 1 1 1 1 0 0 (U4, U6) 0 1 1 1 0 0 (U5, U6) 0 0 1 0 1 0
Aby zachować spójność bazy podczas dyskretyzacji, należy rozróżnić każdą parę instancji o różnych wartościach. Odpowiada to problemowi znalezienia pokrycia kolumnowego tablicy rozróżnialności. Warto przypomnieć zatem, że dla każdego wiersza macierzy musi zostać przynajmniej jedno takie cięcie, które w danym wierszu ma wartość 1. Innym przedstawieniem tego zagadnienia może być zapisanie cięć rozróżniających parę obiektów o różnych decyzjach w postaci sumy wyrażeń boolowskich, a następnie stworzenie iloczynu ze wszystkich tych par. Minimalny zbiór cięć stanowią wszystkie implikanty proste tej formuły. Można także powiedzieć, iż przekształcając otrzymaną formułę z postaci iloczynu sum na sumę iloczynów, otrzymuje się minimalne zbiory cięć (określone przez poszczególne iloczyny). Należy także zauważyć, że istnieją bazy, zawierające atrybuty symboliczne, będące napisami lub pojedynczymi znakami (literami). Najprostsze podejście pod względem implementacyjnym może polegać na tworzeniu tablicy rozróżnialności jedynie z cięć, wynikających z atrybutów numerycznych. Nie jest to jednak najlepsze rozwiązanie, gdyż może powodować tworzenie nadmiernej liczby cięć. Najczęściej zdecydowanie lepszym rozwiązaniem jest dodanie do macierzy rozróżnialności dodatkowych kolumn, odpowiadających rozróżnialności atrybutu symbolicznego. Kolumna ta zawiera 1, gdy dana para atrybutów ma różną wartość atrybutu symbolicznego, a 0 jeśli wartości są identyczne. Takie podejście umożliwia uniknięcie dodatkowych cięć, które nie wnoszą informacji do dyskretnej bazy. Obliczanie minimalnego zbioru cięć Skonstruowanie tablicy rozróżnialności stanowi istotny krok w kierunku uzyskania minimalnego zbioru cięć. Jednak odnalezienie implikantów prostych lub znalezienie minimalnego pokrycia kolumnowego jest problemem nietrywialnym. Jak przedstawiono w literaturze [25], jest to problem NP trudny. Oznacza to, iż zastosowanie metod systematycznych, takich jak metoda dopełnienia funkcji boolowskiej przedstawionej w [3, 5], jest bardzo ograniczone do przykładów, mających stosunkowo niewielką macierz rozróżnialności. Istnieją przypadki, w których spełniony jest ten warunek. Wówczas poszukiwanie rozwiązania systematycznego jest w pełni uzasadnione. Główny problem stanowią bazy medyczne. W [23] pokazano, jak za pomocą systematycznego algorytmu dyskretyzacji [3] można wielokrotnie szybciej uzyskać punkty odcięcia parametru TOP2, niż za pomocą standardowej procedury statystycznej. Potwierdza to skuteczność metod, wywodzących się z syntezy logicznej. Jednak w wielu praktycznych zastosowaniach bazy okazują się zbyt duże do systematycznego poszukiwania rozwiązania. Powyższa argumentacja skłania do poszukiwania skutecznych algorytmów heurystycznych. Trzeba podkreślić, iż problem pokrycia kolumnowego nie jest obecny tylko w macierzy porównań w dyskretyzacji. Z pokrewnych dziedzin należy wspomnieć między innymi o analogicznym problemie przy generowaniu uogólnionych reguł decyzyjnych. W przypadku dyskretyzacji potrzebny jest pojedynczy minimalny zbiór cięć (w pewnych zastosowaniach istotne jest wyznaczenie nie jednego, lecz wszystkich minimalnych zbiorów). Oznacza to, iż należy osiągnąć jedno minimum lokalne. Istotne jest także, żeby określony zbiór cięć był możliwie jak najmniejszy najlepiej byłoby, gdyby liczba elementów była taka, jak w minimum globalnym. Nie istnieje obiektywnie najlepszy algorytm. Uzyskiwane wyniki ściśle zależą od konkretnej bazy. Stanowi to motywację do dostarczenia użytkownikowi w programie różnych metod. Poniżej przedstawiono opis proponowanych algorytmów heurystycznych, rozwiązujących problem pokrycia kolumnowego tablicy porównań. Jako miarę ich jakości należy przyjąć liczbę kolumn przez nie wybranych. W dalszej części artykułu przedstawiono wyniki eksperymentalne, uzyskane za pomocą zaproponowanych metod. Algorytm Max Col polega na wybieraniu w każdej iteracji kolumny macierzy, zawierającej największą liczbę 1. Opiera się on na przesłance heurystycznej, iż cięcie rozróżniające największą liczbę par obiektów jest cięciem najlepszym. Kroki algorytmu Max Col 1. Policzenie wystąpień wartości 1 w każdej kolumnie. 2. Zapisanie kolumny z największą liczbą 1 jeżeli jest kilka kolumn o tej samej liczbie 1, arbitralnie zostaje wybrana ta z mniejszym indeksem. 3. Usunięcie wszystkich wierszy, dla których w wybranej kolumnie znajduje się wartość 1. 4. Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 1. 5. Zwrot zapisanych kolumn. Mianem iteracji określa się kroki od początku algorytmu do usunięcia wierszy macierzy. Inaczej mówiąc algorytm rozpoczyna działanie na nowej tablicy. Algorytm Max Col wskazuje zbiór {cut2, cut6}, czyli {(C1; 1,6), (C2; 4,2)} jako minimalny zbiór cięć, zapewniających spójną dyskretyzację. Można zauważyć, że jest to także zbiór o najmniejszej liczbie elementów, spełniających założenia. Algorytm Min Row stworzono na podstawie założenia, iż w pierwszej kolejności należy rozróżniać te pary obiektów o różnych instancjach, które są rozróżniane najmniejszą liczbą cięć. To podejście przekłada się na liczenie wystąpień 1 w wierszach macierzy i wybieranie tych, u których liczba tych wystąpień jest najniższa. Kroki algorytmu Min Row 1. Policzenie wystąpień wartości 1 w każdym wierszu. 2. Wybranie wierszy z najmniejszą liczbą wystąpień 1. 3. Policzenie wystąpień wartości 1 w kolumnach, dla których dowolny wybrany w kroku 2. wiersz ma wartość 1. 4. Zapisanie kolumny z największą liczbą 1 wśród tych z kroku 3. jeżeli jest kilka kolumn o tej samej liczbie 1, arbitralnie zostaje wybrana ta z mniejszym indeksem. 5. Usunięcie wszystkich wierszy, dla których w wybranej kolumnie znajduje się wartość 1. 6. Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 1. 7. Zwrot zapisanych kolumn. Algorytm Max Row jest podobny do Min Row, z tą różnicą, iż początkowo są wybierane pary, które rozróżnić najłatwiej. Kroki algorytmu Max Row 1. Policzenie wystąpień wartości 1 w każdym wierszu. 2. Wybranie wierszy z największą liczbą wystąpień 1. 3. Policzenie wystąpień wartości 1 w kolumnach, dla których dowolny wybrany w kroku 2. wiersz ma wartość 1. 4. Zapisanie kolumny z największą liczbą 1 wśród tych z kroku 3. jeżeli jest kilka kolumn o tej samej liczbie 1, arbitralnie zostaje wybrana ta z mniejszym indeksem. 5. Usunięcie wszystkich wierszy, dla których w wybranej kolumnie znajduje się wartość 1. 6. Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 1. 7. Zwrot zapisanych kolumn. Algorytm rozszerzony jest bardziej skomplikowany od metod przedstawionych wcześniej. Wymaga także podania przez użytkownika parametru w określającego wagę liczby jedynek w wierszu. W założeniach algorytm rozszerzony ma łączyć w sobie zalety metod Max Col oraz Min Row. Kroki algorytmu rozszerzonego 1. Policzenie wystąpień 1 w każdym wierszu. Stosunek liczby wystąpień 1 do liczby wszystkich elementów w wierszu oznaczony zostaje jako l. 2. W każdym wierszu są wybierane kolumny, które mają wartość 1. Wartość metryki tych kolumn jest zwiększana o wartość 1+l*w.
3. Zapisanie kolumny z najwyższą metryką jeżeli jest kilka kolumn o tej samej metryce, arbitralnie zostaje wybrana ta z mniejszym indeksem. 4. Usunięcie wszystkich wierszy, dla których w kolumnie wybranej w kroku 4. znajduje się wartość 1. 5. Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 1. 6. Zwrot zapisanych kolumn. Wartość parametru w mieści się w przedziale ( 1,0; 1,0). Aby promowane były kolumny, zapewniające rozróżnienie par obiektów najtrudniej separowalnych (to znaczy takich, które mogą być rozróżnione najmniejszą liczbą cięć), wartość parametru w powinna być ujemna. Można także pokazać, że algorytm rozszerzony z w = 0 jest równoważny algorytmowi Max Col. Na potrzeby zobrazowania działania algorytmu przyjęto wartość parametru w = 0,9. Można zauważyć, że wszystkie algorytmy wybrały ten sam zbiór minimalnych cięć {cut2, cut6}, czyli {(C1; 1,6), (C2; 4,2)}. W przypadku większych baz wyniki uzyskane za pomocą różnych metod mogą być (i zazwyczaj są) różne. W niektórych przypadkach ważniejsze od zachowania spójności wynikowej bazy jest zmniejszenie liczby cięć. Taka sytuacja bywa na przykład wynikiem szumu danych (czyli niepoprawnego określenia wartości atrybutów czy obecności pewnych wyjątkowych obiektów). Możliwe jest wtedy określenie, jaka część wszystkich par instancji o różnych decyzjach nie zostanie rozróżniona, co spowoduje wprowadzenie sprzeczności. Wybrane problemy projektowe Jedną z istotnych kwestii wymagających rozważenia jest sposób traktowania nieoznaczonej wartości atrybutu podczas tworzenia tablicy rozróżnialności. Przyjęto rozwiązanie, polegające na tym, iż w przypadku nieoznaczoności, występującej w którymkolwiek z obiektów w rozróżnianej parze, uznaje się, iż daną parę mogą rozróżnić wszystkie cięcia danego atrybutu. W przypadku nieoznaczonej decyzji odpowiedni obiekt nie jest brany pod uwagę podczas konstrukcji macierzy rozróżnialności. Należy także rozważyć sposób postępowania w przypadku sprzeczności danych wejściowych. Oznacza to, że dwie instancje mają takie same wartości atrybutów warunkowych oraz inną wartość decyzji. Wiersz tablicy rozróżnialności dla takiej pary obiektów składałby się z samych zer. Z definicji pokrycia kolumnowego wynika, iż dla takiej macierzy pokrycie kolumnowe nie istnieje. Nie należy zatem takiego wiersza dodawać. Możliwym rozwiązaniem byłoby stworzenie dodatkowej klasy decyzyjnej, składającej się z dwóch lub więcej decyzji dla sprzecznych obiektów. Jednak stanowi to dużą ingerencję w dane i nie powinno być wprowadzone na poziomie przetwarzania wstępnego. Dlatego zdecydowano, iż obiekty sprzeczne nie zostaną wzięte pod uwagę podczas tworzenia macierzy rozróżnialności. Spowoduje to, iż w tablicy wynikowej znajdą się sprzeczności. Należy podkreślić, iż dyskretyzacja nie wprowadza żadnych dodatkowych niespójności jedynie pozostawia te znajdujące się w bazie wejściowej. Eksperymenty W artykule porównano jakość dyskretyzacji, wykonanej za pomocą stworzonego programu, z dyskretyzacją, uzyskaną za pomocą innych uznanych programów. Do porównania wybrano metodę zawartą w systemie RSES2. Należy zauważyć, iż algorytm ten przeszedł pozytywnie weryfikację swojej przydatności, co przedstawiono między innymi w [25, 27]. Wybrane bazy Aby umożliwić powtórzenie eksperymentów, należy korzystać z ogólnodostępnych zbiorów danych. Jednocześnie istotne jest, żeby wybrane tablice decyzyjne umożliwiały miarodajne porównanie. Z tego powodu należy zdecydować się na bazy zawierające głównie dane numeryczne z decyzją symboliczną lub w postaci liczb naturalnych. Te kryteria spełniają tablice zgromadzone w repozytorium Uniwersytetu Kalifornijskiego [2]. Wybrane do testów bazy przedstawiono w tabeli 3. Tabela 3. Przegląd baz danych wybranych do testów Pełna nazwa bazy Statlog (Australian Credit Approval) Data Set Statlog (German Credit Data) Data Set numeric Glass Identification Data Set Skrócona nazwa bazy Liczba instancji Liczba atrybutów warunkowych Liczba klas decyzyjnych Australian 690 14 2 German 1000 24 2 Glass 214 10 7 Iris Data Set Iris 150 4 3 Wine Data Set Wine 178 13 3 Wine Quality Data Set Red Wine Quality 1599 11 10 Yeast Data Set Yeast 1484 8 10 Wybrano te tablice, których wszystkie atrybuty warunkowe są numeryczne. Stąd wersja bazy German z 24 cechami. Założono, że do dyskretyzacji zostaną wybrane wszystkie atrybuty. Prowadzi to także do możliwości łączenia w przedziały cech, opisanych liczbami naturalnymi. Wyniki dyskretyzacji przedstawiono w tabeli 4. Parametr w algorytmu rozszerzonego podano w nawiasie. Został on wybrany z punktu widzenia minimalizacji liczby cięć. Należy zauważyć, iż znajduje potwierdzenie założenie indywidualnego podejścia do każdej bazy. Nie istnieje algorytm, który wykazałby w tym zestawieniu jednoznaczną przewagę pod względem minimalnej liczby cięć. Trzeba jednak podkreślić, iż algorytm rozszerzony najczęściej wskazywał rozwiązanie o minimalnej liczbie przedziałów. Procedura testowa Bazy danych z tabeli 3 poddano dyskretyzacji stworzonym programem oraz modułem do dyskretyzacji systemu RSES2. Porównywano także wyniki z oryginalną, nieprzetworzoną bazą. Wszystkie te zbiory, po zmianie formatu plików na arff, wprowadzano do systemu Weka [7, 17], gdzie następnie mierzono dokładność klasyfikacji. Za pomocą aplikacji Weka Experiment Environment przeprowadzano walidację krzyżową pięciokrotną (5-fold Cross Validation, CV-5). K-krotny sprawdzian krzyżowy polega na podziale oryginalnego zbioru na k-części, z których w danej iteracji jedna z nich jest przeznaczona do testów, a pozostałe tworzą zbiór treningowy. Proces jest powtarzany k-krotnie, za każdym razem z inną częścią testową. Należy podkreślić, że na tym etapie eksperymentów dyskretyzacja jest przeprowadzana na całej bazie, a walidacja krzyżowa zostaje przeprowadzona już na zbiorze dyskretnym. W celu zwiększenia wiarygodności testów proces walidacji krzyżowej powtórzono dziesięciokrotnie. Przedstawione wyniki stanowią średnią arytmetyczną ze wszystkich pomiarów. Brano pod uwagę liczbę poprawnie sklasyfikowanych instancji (w odniesieniu do liczby wszystkich instancji w zbiorze, wyrażoną w procentach), liczbę niepoprawnie wyrażonych instancji (analogicznie
Tabela 4. Liczba cięć wykonanych podczas dyskretyzacji wybranych baz Sposób dyskretyzacji Program RSES2 Algorytm Max Col Algorytm Min Row Algorytm Max Row algorytm rozszerzony w odniesieniu do liczby wszystkich instancji w zbiorze, wyrażoną w procentach) oraz współczynnik kappa, opisany dokładniej w [9, 32]. Współczynnik kappa opisuje zgodność między klasyfikacją a prawdziwymi decyzjami z uwzględnieniem zgodności przypadkowej: P(A) P(E) k =, 1 P(E) Liczba cięć podczas dyskretyzacji bazy Australian German Glass Iris Wine gdzie: P(A) zgodność przewidywania z prawdą, P(E) estymacja prawdopodobieństwa zgodności przypadkowej. Można zauważyć, że jeżeli P(A) = 1, to również k = 1 (oczywiście przy założeniu, że P(E)<1, co oznacza, iż rozpatrywana baza ma więcej niż jedną klasę decyzyjną w innym przypadku problem klasyfikacji jest trywialny). Natomiast jeżeli prawdopodobieństwo zgodności przewidywań z prawdą jest równe prawdopodobieństwu zgodności przypadkowej, czyli P(A) = P(E), to k = 0. Do przeprowadzenia eksperymentów wykorzystano algorytmy klasyfikacji, zaimplementowane w systemie Weka. Były to: 1. Decision Table. 2. J48. 3. Naďve Bayes. 4. DTNB. 5. BFTree (Best First Decision Tree). Wine Quality Yeast 18 20 14 7 6 32 40 18 20 15 7 6 30 41 17 21 17 7 6 30 39 18 21 15 7 6 33 42 18 (w= 0,6) 19 (w= 0,8) 14 (w= 0,6) 6 (w= 0,8) 6 (w= 0,8) 30 (w= 0,8) Tabela 5. Uśredniona liczba poprawnie sklasyfikowanych instancji, odniesiona do całkowitej ich liczby Sposób dyskretyzacji Decision Table J48 Naive Bayes DTNB BFTree Średnia <Brak dyskretyzacji> 73,51 75,45 72,36 75,99 75,30 74,52 Program RSES 72,10 76,19 74,84 73,62 76,00 74,55 Algorytm rozszerzony 74,07 76,38 74,77 75,47 76,02 75,34 Algorytm Max Col 74,36 76,92 75,23 75,71 76,34 75,71 Algorytm Min Row 74,30 76,64 75,08 74,98 75,38 75,28 Tabela 6. Uśredniona wartość współczynnika kappa Sposób dyskretyzacji Decision Table J48 Naive Bayes DTNB BFTree Średnia <Brak dyskretyzacji> 0,553 0,597 0,554 0,598 0,586 0,578 Program RSES 0,528 0,601 0,591 0,554 0,603 0,575 Algorytm rozszerzony 0,564 0,603 0,586 0,586 0,591 0,586 Algorytm Max Col 0,570 0,615 0,593 0,596 0,602 0,595 Algorytm Min Row 0,565 0,610 0,592 0,580 0,587 0,587 39 (w= 0,8) Wyniki eksperymentów Przedstawiono w tym rozdziale zagregowane wyniki testów przeprowadzonych według opisanej wcześniej procedury. Zrezygnowano z algorytmu Max Row, który w zestawieniu z tabeli 4 osiągnął najgorsze wyniki. Parametr w algorytmu rozszerzonego był dobrany tak, aby zapewnić najmniejszą liczbę cięć. Z przedstawionych wyników eksperymentów można wyciągnąć następujące wnioski. Po pierwsze, jakość dyskretyzacji, wyrażona liczbą poprawnie sklasyfikowanych instancji lub współczynnik kappa silnie zależy od danej bazy oraz zastosowanej metody klasyfikacji. Po drugie, różnice pomiędzy wynikami, uzyskanymi za pomocą różnych algorytmów dyskretyzacji, nie odbiegają od siebie znacząco szczególnie w przypadku ich uśrednienia ze wszystkich baz. Należy zwrócić uwagę, że liczba poprawnie sklasyfikowanych obiektów oraz współczynnik kappa znacznie różnią się między poszczególnymi tablicami decyzyjnymi. Jeżeli weźmie się pod uwagę wyniki uśrednione ze wszystkich baz, z wykorzystaniem wszystkich metod klasyfikacji, okaże się, że zaproponowane w artykule udoskonalenia metody dyskretyzacji przekształceń boolowskich oraz algorytmy rozwiązywania problemu pokrycia kolumnowego osiągają lepsze wyniki niż w przypadku metody zastosowanej w systemie RSES2. Przedstawiono to w tabeli 5 i 6. Ciekawą obserwacją jest to, iż średnio najlepszym algorytmem dyskretyzacji okazał się stosunkowo najprostszy Max Col. Co więcej, hipoteza, iż minimalizacja liczby cięć prowadzi do zwiększenia dokładności klasyfikacji, nie znalazła potwierdzenia. Nie oznacza to oczywiście, iż duża liczba cięć jest czymś pozytywnym stanowi po prostu odrębne kryterium jakości dyskretyzacji. Wszystkie te obserwacje stanowią potwierdzenie słuszności założenia, iż należy dostarczyć możliwie szerokie możliwości dostosowania parametrów do konkretnego przypadku zastosowania. Symulacja scenariusza zastosowania Jak już wspomniano, odkrywanie wiedzy w bazach danych znajduje szerokie zastosowanie w telekomunikacji [33], w tym do wspomagania obserwacji ruchu w sieci oraz przy tworzeniu filtrów klasyfikujących wiadomości elektroniczne jako poprawne lub jako spam [16, 34]. Dyskretyzacja, stanowiąca część przetwarzania wstępnego, ma również wpływ na jakość zdobywanej wiedzy. Poniżej przedstawiono eksperyment, mający zweryfikować przydatność zaproponowanej w pracy metody do stworzenia modułu filtru antyspamowego. Aby możliwe było powtórzenie doświadczenia, wybrano bazę Spambase Data Set z repozytorium [2]. Zawiera ona 4601 instancji, z których 1813 (39,4%) stanowi spam. Tablica nie jest całkowicie spójna istnieją trzy pary sprzecznych obiektów. Każda wiadomość jest opisana 57 atrybutami numerycznymi oraz klasą decyzyjną ( 1 oznacza spam, a 0 poprawną wiadomość). Wśród cech znajduje się 48 opisujących częstość występowania pewnego słowa w wiadomości, 6 częstość występowania pewnego znaku. Kolejne 2 określają odpowiednio średni i najdłuższy ciąg składający się tylko z wielkich liter. Ostatni atrybut stanowi sumaryczną liczbę wielkich liter w wiadomości. Trzeba podkreślić, że
Tabela 7. Wynik klasyfikacji bazy Spambase Algorytm klasyfikacji Sposób dyskretyzacji Poprawnie sklasyfikowane instancje [%] Niepoprawnie sklasyfikowane instancje [%] Kappa Liczba poprawnych wiadomości oznaczonych jako spam Procent poprawnych wiadomości oznaczonych jako spam Decision Table J48 BFTree <Brak dyskretyzacji> 90,77 9,23 0,802 22 3,91 Program RSES2 90,77 9,23 0,803 26 4,62 Algorytm rozszerzony: l = 0,40 90,88 9,12 0,807 38 6,75 Algorytm rozszerzony: l = 0,11 90,66 9,34 0,800 27 4,80 Algorytm Max Col: l = 0,40 90,55 9,45 0,800 36 6,39 Algorytm Max Col: l = 0,21 90,01 9,99 0,785 26 4,62 Algorytm Min Row: l = 0,40 89,47 10,53 0,773 27 4,80 Algorytm Min Row: l = 0,16 89,58 10,42 0,778 34 6,04 <Brak dyskretyzacji> 91,10 8,90 0,813 41 7,28 Program RSES2 91,64 8,36 0,823 35 6,22 Algorytm rozszerzony: l = 0,40 90,88 9,12 0,808 40 7,10 Algorytm rozszerzony: l = 0,11 92,40 7,60 0,840 35 6,22 Algorytm Max Col: l = 0,40 90,45 9,55 0,799 42 7,46 Algorytm Max Col: l= 0,21 91,75 8,25 0,827 42 7,46 Algorytm Min Row: l = 0,40 91,97 8,03 0,831 38 6,75 Algorytm Min Row: l = 0,16 92,18 7,82 0,836 37 6,57 <Brak dyskretyzacji> 91,10 8,90 0,811 33 5,86 Program RSES2 90,66 9,34 0,803 40 7,10 Algorytm rozszerzony: l = 0,40 91,42 8,58 0,819 37 6,57 Algorytm rozszerzony: l = 0,11 93,05 6,95 0,853 26 4,62 Algorytm Max Col: l = 0,40 89,25 10,75 0,772 42 7,46 Algorytm Max Col: l = 0,21 90,45 9,55 0,799 45 7,99 Algorytm Min Row: l = 0,40 90,12 9,88 0,792 46 8,17 Algorytm Min Row: l = 0,16 91,21 8,79 0,816 47 8,35 te cechy nie są wystarczające, aby stworzyć pełnowartościowy filtr antyspamowy. Klasyfikacja wiadomości jest bardzo złożonym procesem i takie odkrywanie wiedzy z tych danych może stanowić jedynie pewien moduł. Jednak dla celów pokazowych wybrana baza stanowi wystarczające przybliżenie komercyjnie zbieranych danych. W celu zasymulowania rzeczywistej sytuacji, oryginalną bazę podzielono na dwie części do nauki (80% losowo wybranych instancji pełnego zbioru, czyli 3680 obiektów, z których 2225 to przydatne wiadomości, a 1455 spam) oraz do testowania (pozostałe 921 instancji 20%, z których spamem nie były 563 wiadomości, a było nim 358). Następnie przeprowadzono dyskretyzację tablicy treningowej. Uzyskane w ten sposób reguły dyskretyzacji (czyli przedziały wartości wraz z ich dyskretnym odpowiednikiem) zastosowano na zbiorze testowym. Ponieważ zbiór treningowy okazał się duży, zdecydowano się zastosować lokalną dyskretyzację w przypadku stworzonego programu. Dla każdego z wybranych algorytmów przetestowano dwa zbiory cięć jeden z parametrem l, określającym rozmiar części, zastosowanej podczas pierwszej iteracji lokalnej dyskretyzacji, ustalonym na 40% (l=0,4) oraz z tak dobranym l, aby zminimalizować liczbę cięć. W systemie RSES2 wybrano dyskretyzację globalną. Pod rozwagę wzięto także liczbę atrybutów po redukcji. Można zauważyć, iż w przypadku baz, mających dużą liczbę cech, część z nich już na poziomie dyskretyzacji okazuje się nadmiarowa, jeśli chodzi o problem klasyfikacji. Objawia się to brakiem cięcia, mimo iż dany atrybut został wybrany do dyskretyzacji. Oznacza to, iż przedział wartości ( ; + ) jest zakodowany jednym symbolem. Następnie przeprowadzono test analogiczny do opisanych poprzednio. Korzystając ze zdobytych informacji (tabele 5 6), iż najwyższą dokładność osiągnięto przy zastosowaniu metod klasyfikacji J48 oraz BFTree, zdecydowano się do obecnego eksperymentu wybrać właśnie te metody oraz Decision Table jako przedstawiciela reguł decyzyjnych. W przypadku filtru antyspamowego należy dostrzec nowy problem, wcześniej niebrany pod uwagę. Z punktu widzenia użytkownika błędne zaklasyfikowanie poprawnej wiadomości jako spamu (co może się wiązać na przykład z usunięciem tej wiadomości) jest gorsze od przepuszczenia kilku niechcianych wiadomości. Dlatego w tym przypadku kryterium jakości należy rozszerzyć o procentową wartość stosunku liczby błędnie oznaczonych poprawnych wiadomości do liczby wszystkich przydatnych wiadomości. Więcej informacji o zmniejszeniu liczby wyników fałszywie dodatnich można znaleźć w [1]. W celu zmniejszenia liczby wyników fałszywie dodatnich (false positives w przypadku bazy 1 oznaczony jest spam, co znaczy, że termin odnosi się do poprawnych wiadomości, oznaczonych jako spam), trzeba skorzystać z innego rodzaju klasyfikatora. Powinien on mieć możliwość ustalenia kosztu wyniku fałszywie dodatniego i fałszywie ujemnego. Przez regulację stosunku kosztu tych dwóch rodzajów błędów będzie możliwe uzyskanie zadowalającego poziomu zarówno współczynnika kappa, jak i odsetka wyników fałszywie dodatnich. Wybrany został klasyfikator MetaCost zaproponowany przez Domingosa [10] i zaimplementowany w systemie Weka. Umożliwia on uwrażliwienie na koszt dowolnego algorytmu klasyfikacji. Odbywa się to przez podanie macierzy kosztu. Wybrano klasyfikator BFTree oraz dyskretyzację za pomocą algorytmu rozszerzonego (l = 0,40). Następnie eksperymentalnie dobrano macierz kosztu równą [0.0 1.0; 0.1 0.0]. Wyniki testów z klasyfikacją wrażliwą na koszt przedstawiono w tabeli 8. Największą dokładność przewidywań, wyrażoną współczynnikiem kappa, oraz najmniejszy procent poprawnych wiadomości, oznaczonych jako spam, osiągnięto dla dyskretyzacji algorytmem
Tabela 8. Wynik klasyfikacji bazy Spambase z uwzględnieniem macierzy kosztu Algorytm generowania reguł decyzyjnych Sposób dyskretyzacji Poprawnie sklasyfikowane instancje [%] Niepoprawnie sklasyfikowane instancje [%] Kappa Liczba poprawnych wiadomości oznaczonych jako spam Liczba spamu oznaczonego jako poprawna wiadomość Procent poprawnych wiadomości oznaczonych jako spam Meta Cost BFTree Macierz kosztu: [0.0 1.0; 0.1 0.0] <brak dyskretyzacji> 88,06 11,94 0,739 18 92 3,20 Program RSES2 87,84 12,16 0,734 19 93 3,37 Algorytm rozszerzony: l = 0,40 89,14 10,86 0,763 13 87 2,31 Algorytm rozszerzony l = 0,11 89,47 10,53 0,770 12 85 2,13 Algorytm Max Col: l = 0,40 87,41 12,60 0,725 23 93 4,09 Algorytm Max Col: l = 0,21 88,27 11,73 0,743 16 92 2,84 Algorytm Min Row: l = 0,40 86,97 13,03 0,714 18 102 3,20 Algorytm Min Row: l = 0,16 88,82 11,18 0,755 12 91 2,13 rozszerzonym o parametrze l = 0,11. Należy także podkreślić, iż w przypadku lokalnej dyskretyzacji, wykonanej stworzonym programem, zmniejszenie liczby cięć przez odpowiedni dobór parametru l przełożyło się na poprawę wyników. Pośrednio przyczyniło się także do zmniejszenia liczby atrybutów. Jest to istotny fakt, jeśli weźmie się pod uwagę, iż w wielu przypadkach uzyskanie pełnych danych albo nie jest możliwe, albo jest kosztowne (na przykład wyniki badań lekarskich w bazach medycznych). W wyniku przeprowadzenia eksperymentu, polegającego na symulacji scenariusza zastosowania, dowiedziono przydatność do dyskretyzacji stworzonego programu. Umożliwił on poprawę jakości klasyfikacji w stosunku do danych numerycznych ciągłych oraz w stosunku do dyskretyzacji za pomocą uznanego systemu RSES2. Pozytywnie zostało zweryfikowane założenie dostarczenia metody zapewniającej zachowanie spójności oraz mającej różne algorytmy rozwiązywania problemu pokrycia kolumnowego. * * * W artykule przedstawiono dyskretyzację metodą przekształceń boolowskich. Pokazano poszczególne kroki algorytmu. Opisano etapy określania cięć kandydujących, tworzenia macierzy rozróżnialności oraz generacji minimalnego zbioru cięć dzięki rozwiązaniu problemu pokrycia kolumnowego. Zostały także przedstawione wyniki eksperymentów, wskazujących na znaczenie zaproponowanego algorytmu dyskretyzacji. Wybrana metoda, wykorzystująca przekształcenia boolowskie, umożliwiła spełnienie założeń, dotyczących zachowania spójności danych. Do klasycznego algorytmu [18, 27] wprowadzono nowe rozwiązania, takie jak redukcja cięć kandydujących, stworzenie wielu algorytmów rozwiązywania problemu pokrycia kolumnowego czy branie pod uwagę atrybutów symbolicznych podczas tworzenia tablicy rozróżnialności. Zapewniło to zmniejszenie liczby cięć, co stanowiło drugie kryterium jakości. Należy także wspomnieć, iż jeden z głównych elementów metody, czyli rozwiązywanie problemu pokrycia kolumnowego macierzy rozróżnialności, może zostać również wykorzystany w aplikacjach służących do uogólniania reguł decyzyjnych lub redukcji atrybutów. Wykorzystanie algorytmów heurystycznych umożliwiło przetwarzanie baz większych niż w przypadku algorytmów systematycznych. Niestety, przez to traci się pewność, iż znalezione rozwiązanie jest optymalne dla danego problemu. Rezultaty eksperymentów potwierdziły przydatność stworzonego programu. Dzięki wprowadzeniu nowych rozwiązań, osiągnął on dokładność przewidywań lepszą od metody zastosowanej w [18, 25, 27]. Testy potwierdziły zasadność indywidualnego podejścia do każdej bazy, co osiągnięto dzieki szerokim możliwościom konfiguracji parametrów dyskretyzacji z wyborem algorytmu rozwiązywania problemu pokrycia kolumnowego włącznie. Odkrywanie wiedzy z baz danych, w którym dyskretyzacja jest jego częścią, stało się bardzo istotnym obszarem badań. Umożliwia przewidywanie własności nowych obiektów na podstawie obserwacji zależności, występujących w zbiorze treningowym. Odkrywanie wiedzy znajduje zastosowanie w wielu dziedzinach, między innymi w telekomunikacji, medycynie czy finansach. Jakość dyskretyzacji przekłada się na jakość odkrywanej wiedzy. Umożliwia ona dalszą analizę baz z wykorzystaniem algorytmów klasyfikacji, które wymagają danych symbolicznych. Dyskretyzacja zapewnia zwiększenie dokładności przewidywań. W przypadku dużych baz nie bez znaczenia jest też fakt, iż dane w postaci symbolicznej mogą zajmować mniej pamięci, a ich przetwarzanie zajmuje zwykle mniej czasu niż danych numerycznych ciągłych. W artykule przedstawiono symulację scenariusza wykorzystania stworzonej aplikacji przy budowie modułu filtru antyspamowego wraz z eksperymentem przeprowadzonym na ogólnodostępnej bazie danych. Zaprezentowano podejście do problemu oraz wyniki testów. Ponownie stworzony program osiągnął obiecujące rezultaty. Powyższa argumentacja skłania do postawienia tezy, iż metody oparte na przekształceniach boolowskich mogą mieć wielkie znaczenie w odkrywaniu wiedzy z danych. Literatura [1] Abouabdalla O.: False Positive Reduction in Intrusion Detection System: A Survey, Proc. of IC-BNMT2009, 2009 [2] Bache K., Lichman M.: UCI Machine Learning Repository [http:// archive.ics.uci.edu/ml], Irvine, CA: University of California, School of Information and Computer Science, stan z listopada 2013 [3] Borowik G.: Boolean function complementation based algorithm for data discretization, in: Moreno-Díaz R., Pichler F.R., Quesada-Arencibia A. (eds.) Computer Aided Systems Theory EUROCAST 2013, vol. 8112, Springer Heidelberg (2013) [4] Borowik G.: Data mining approach for decision and classification systems using logic synthesis algorithms, in: Klempous R., Nikodem J., Jacak W., Chaczko Z. (eds.) Advanced Methods and Applications in Computational Intelligence, Topics in Intelligent Engineering and Informatics, vol. 6, Springer International Publishing (2014), doi: 10.1007/978-3-319-01436-4_1 [5] Borowik G., Łuba T.: Fast algorithm of attribute reduction based on the complementation of Boolean function, in: Klempous R., Nikodem J., Jacak W., Chaczko Z. (eds.) Advanced Methods and Applications in Computational Intelligence, Topics in Intelligent Engineering and Informatics, vol. 6, Springer International Publishing (2014) [6] Borowik G., Łuba T., Zydek D.: Features Reduction Using Logic Minimization Techniques, Intl Journal of Electronics and Telecommunications, 2012, vol. 58, no. 1 [7] Bouckaert R.R, Frank E., Hall M., Kirkby R., Reutemann P., Seewald A., Scuse D.: WEKA Manual for Version 3-6-10, 2013
[8] Brayton R.K., Hachtel G.D., McMullen C.T., Sangiovanni-Vincentelli A.: Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers (1984) [9] Carletta J.: Assessing agreement on classification tasks: the kappa statistic, Journal Computational Linguistics, vol. 22, 1996 [10] Domingos P.: MetaCost: A General Method for Making Classifiers Cost-Sensitive, Proceedings of the Fifth International Conference on Knowledge Discovery and Data Mining, ACM Press, 1999 [11] Dougherty J., Kohavi R., Sahami M.: Supervised and Unsupervised Discretization of Continuous Features, Machine Learning: Proceedings of the Twelfth International Conference, 1995 [12] Ekbal A.: Improvement of Prediction Accuracy Using Discretization and Voting Classifier, The 18th International Conference on Pattern Recognition, IEEE, 2006 [13] Fayyad U., Piatetsky-Shapiro G., Smyth P.: From Data Mining to Knowledge Discovery in Databases, AI Magazine, vol. 17, no. 3, 1996 [14] Fayyad U.M. Irani K.B.: Multi-Interval Discretization of Continuous- Valued Attributes for Classification Learning, Proceedings of the International Joint Conference on Uncertainty in AI, 1993 [15] Frank E., Witten I.H.: Making Better Use of Global Discretization, Proceeding of 16th International Conference on Machine Learning, 1999 [16] Grzenda M.: Towards the Reduction of Data Used for the Classification of Network Flows, Lecture Notes in Computer Science, Volume 7209, Springer, 2012 [17] Holmes G., Donkin A., Witten I.A.: WEKA: a machine learning workbench, Proceedings of the 1994 Second Australian and New Zealand Conference on Intelligent Information Systems, 1994 [18] Komorowski J., Polkowski L, Skowron A.: Rough Sets: A Tutorial, 1998 [19] Kotsiantis S., Kanellopoulos D.: Discretization Techniques: A recent survey, GESTS International Transactions on Computer Science and Engineering, vol.32 (1), 2006 [20] Liu H, Hussain F., Tan Ch.L., Dash M.: Discretization: An Enabling Technique, Data Mining and Knowledge Discovery, 2002, 6 [21] Liu H., Setiono R.: Feature selection via discretization, IEEE Transactios on Knowledge and Data Engineering, 1997, 9 [22] Łuba T.: Synteza układów logicznych, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2005 [23] Łuba T. (et al.): Rola i znaczenie syntezy logicznej w eksploracji danych dla potrzeb telekomunikacji i medycyny. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 5, 2014 [24] Mańkowski M., Łuba T., Borowik G., Jankowski C.: Indukcja reguł decyzyjnych z dwustopniowym procesem selekcji reguł. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, nr 7, 2014 [25] Nguyen H.S, Nguyen S.H.: Discretization methods in data mining, Rough Sets in Knowledge Discovery, Physica-Verlag, Heidelberg, 1998 [26] Nguyen H.S.: Approximate Boolean Reasoning: Foundations and Applications in Data Mining, Lecture Notes in Computer Science Volume 4100, 2006 [27] Nguyen H.S.: Discretization of Real Value Attributes: A boolean reasoning approach., rozprawa doktorska, Uniwersytet Warszawski, 1997 [28] Othman M.F., Yau T.M.S.: Comparison of Different Classification Techniques Using WEKA for Breast Cancer, 3rd Kuala Lumpur International Conference on Biomedical Engineering 2006 IFMBE Proceedings Volume 15, 2007 [29] Pawlak Z., Skowron A.: Rough sets and Boolean reasoning, Information Sciences, 2007, 177(1) [30] Peng L., Qing W., Yujia G.: Study on Comparison of Discretization Methods, International Conference on Artificial Intelligence and Computational Intelligence, 2009 [31] Pyle D.: Data Preparation for Data Mining, Morgan Kaufmann Publishers, Los Altos, California, 1999 [32] Viera A.J., Garrett J.M.: Understanding interobserver agreement: the kappa statistic, Family Medicine, vol. 37, no. 5, 2005 [33] Weiss G.: Data Mining in the Telecommunications Industry, Encyclopedia of Data Warehousing and Mining, Second Edition, Chapter 76, 2009 [34] Zadnik M., Michlovsky Z.: Is Spam Visible in Flow-Level Statistics?, CESNET National Research and Education Network, Technical Report 6/2008 [35] Zakrzewicz M.: Data Mining i odkrywanie wiedzy w bazach danych, Materialy konf. PLOUG 97, 1997