Dyskretyzacja danych numerycznych metodami przekształceń boolowskich
|
|
- Marek Janowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Preprint. The final publication is available at Dyskretyzacja danych numerycznych metodami przekształceń boolowskich Cezary Jankowski, Grzegorz Borowik, Karol Kowalski PUBLISHED IN: Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne 10/2014 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 = { }, MONTH = {Pa\'zdziernik} 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 = { }, } MONTH = {October} UPLOADED UNDER SELF-ARCHIVING POLICIES NO COPYRIGHT INFRINGEMENT INTENDED
2 Preprint. The final publication is available at 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, 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-
3 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.
4 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) (U1, U4) (U1, U5) (U2, U3) (U2, U4) (U2, U5) (U3, U6) (U4, U6) (U5, U6)
5 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ść Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 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ń Policzenie wystąpień wartości 1 w kolumnach, dla których dowolny wybrany w kroku 2. wiersz ma wartość 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ść Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 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ń Policzenie wystąpień wartości 1 w kolumnach, dla których dowolny wybrany w kroku 2. wiersz ma wartość 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ść Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 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.
6 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ść Jeżeli macierz nie jest pusta (zawiera elementy), następuje powrót do kroku 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 German Glass Iris Data Set Iris Wine Data Set Wine Wine Quality Data Set Red Wine Quality Yeast Data Set Yeast 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
7 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. J Naďve Bayes. 4. DTNB. 5. BFTree (Best First Decision Tree). Wine Quality Yeast (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, (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
8 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, ,91 Program RSES2 90,77 9,23 0, ,62 Algorytm rozszerzony: l = 0,40 90,88 9,12 0, ,75 Algorytm rozszerzony: l = 0,11 90,66 9,34 0, ,80 Algorytm Max Col: l = 0,40 90,55 9,45 0, ,39 Algorytm Max Col: l = 0,21 90,01 9,99 0, ,62 Algorytm Min Row: l = 0,40 89,47 10,53 0, ,80 Algorytm Min Row: l = 0,16 89,58 10,42 0, ,04 <Brak dyskretyzacji> 91,10 8,90 0, ,28 Program RSES2 91,64 8,36 0, ,22 Algorytm rozszerzony: l = 0,40 90,88 9,12 0, ,10 Algorytm rozszerzony: l = 0,11 92,40 7,60 0, ,22 Algorytm Max Col: l = 0,40 90,45 9,55 0, ,46 Algorytm Max Col: l= 0,21 91,75 8,25 0, ,46 Algorytm Min Row: l = 0,40 91,97 8,03 0, ,75 Algorytm Min Row: l = 0,16 92,18 7,82 0, ,57 <Brak dyskretyzacji> 91,10 8,90 0, ,86 Program RSES2 90,66 9,34 0, ,10 Algorytm rozszerzony: l = 0,40 91,42 8,58 0, ,57 Algorytm rozszerzony: l = 0,11 93,05 6,95 0, ,62 Algorytm Max Col: l = 0,40 89,25 10,75 0, ,46 Algorytm Max Col: l = 0,21 90,45 9,55 0, ,99 Algorytm Min Row: l = 0,40 90,12 9,88 0, ,17 Algorytm Min Row: l = 0,16 91,21 8,79 0, ,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ą [ ; ]. 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
9 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: [ ; ] <brak dyskretyzacji> 88,06 11,94 0, ,20 Program RSES2 87,84 12,16 0, ,37 Algorytm rozszerzony: l = 0,40 89,14 10,86 0, ,31 Algorytm rozszerzony l = 0,11 89,47 10,53 0, ,13 Algorytm Max Col: l = 0,40 87,41 12,60 0, ,09 Algorytm Max Col: l = 0,21 88,27 11,73 0, ,84 Algorytm Min Row: l = 0,40 86,97 13,03 0, ,20 Algorytm Min Row: l = 0,16 88,82 11,18 0, ,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 [ 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: / _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 , 2013
10 [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
Elementy modelowania matematycznego
Elementy modelowania matematycznego Modelowanie algorytmów klasyfikujących. Podejście probabilistyczne. Naiwny klasyfikator bayesowski. Modelowanie danych metodą najbliższych sąsiadów. Jakub Wróblewski
LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów
LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów Łukasz Piątek, Jerzy W. Grzymała-Busse Katedra Systemów Ekspertowych i Sztucznej Inteligencji, Wydział Informatyki
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Indukcja reguł decyzyjnych z dwustopniowym procesem selekcji reguł
Preprint The final publication is available at http://wwwsigma-notpl/rocznik-24-59-przeglad-telekomunikacyjnyhtml Indukcja reguł decyzyjnych z dwustopniowym procesem selekcji reguł Michał Mańkowski, Tadeusz
Priorytetyzacja przypadków testowych za pomocą macierzy
Priorytetyzacja przypadków testowych za pomocą macierzy W niniejszym artykule przedstawiony został problem przyporządkowania priorytetów do przypadków testowych przed rozpoczęciem testów oprogramowania.
Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16
Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego
Analiza korespondencji
Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy
w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Programowanie celowe #1
Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem
Analiza danych. http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU
Analiza danych Wstęp Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ TEMATYKA PRZEDMIOTU Różne aspekty analizy danych Reprezentacja graficzna danych Metody statystyczne: estymacja parametrów
1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie
Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest
Hierarchiczna analiza skupień
Hierarchiczna analiza skupień Cel analizy Analiza skupień ma na celu wykrycie w zbiorze obserwacji klastrów, czyli rozłącznych podzbiorów obserwacji, wewnątrz których obserwacje są sobie w jakimś określonym
Agnieszka Nowak Brzezińska Wykład III
Agnieszka Nowak Brzezińska Wykład III Naiwny klasyfikator bayesowski jest prostym probabilistycznym klasyfikatorem. Zakłada się wzajemną niezależność zmiennych niezależnych (tu naiwność) Bardziej opisowe
METODY INŻYNIERII WIEDZY
METODY INŻYNIERII WIEDZY WALIDACJA KRZYŻOWA dla ZAAWANSOWANEGO KLASYFIKATORA KNN ĆWICZENIA Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Wstęp do Techniki Cyfrowej... Teoria automatów
Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia
Spacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18
Eksploracja Danych wykład 4 Sebastian Zając WMP.SNŚ UKSW 10 maja 2017 Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja 2017 1 / 18 Klasyfikacja danych Klasyfikacja Najczęściej stosowana (najstarsza)
Układy równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
Multiklasyfikatory z funkcją kompetencji
3 stycznia 2011 Problem klasyfikacji Polega na przewidzeniu dyskretnej klasy na podstawie cech obiektu. Obiekt jest reprezentowany przez wektor cech Zbiór etykiet jest skończony x X Ω = {ω 1, ω 2,...,
Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji
Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji Michał Witczak Data Mining 20 maja 2012 r. 1. Wstęp Dostarczone zostały nam 4 pliki, z których dwa stanowiły zbiory uczące
Testy nieparametryczne
Testy nieparametryczne Testy nieparametryczne możemy stosować, gdy nie są spełnione założenia wymagane dla testów parametrycznych. Stosujemy je również, gdy dane można uporządkować według określonych kryteriów
ALGORYTM RANDOM FOREST
SKRYPT PRZYGOTOWANY NA ZAJĘCIA INDUKOWANYCH REGUŁ DECYZYJNYCH PROWADZONYCH PRZEZ PANA PAWŁA WOJTKIEWICZA ALGORYTM RANDOM FOREST Katarzyna Graboś 56397 Aleksandra Mańko 56699 2015-01-26, Warszawa ALGORYTM
Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska
Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska e-mail: bartosz.krawczyk@pwr.wroc.pl Czym jest klasyfikacja
Koszt literału (literal cost) jest określony liczbą wystąpień literału w wyrażeniu boolowskim realizowanym przez układ.
Elementy cyfrowe i układy logiczne Wykład Legenda Kryterium kosztu realizacji Minimalizacja i optymalizacja Optymalizacja układów dwupoziomowych Tablica (mapa) Karnaugh a Metoda Quine a-mccluskey a Złożoność
Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Minimalizacja form boolowskich UC1, 2009
Minimalizacja form boolowskich UC, 29 mplikanty funkcji boolowskiej UC, 29 2 mplikanty funkcji boolowskiej UC, 29 3 Metody minimalizacji UC, 29 4 Siatki Karnaugh UC, 29 5 Siatki Karnaugh UC, 29 Stosowanie
Agnieszka Nowak Brzezińska Wykład III
Agnieszka Nowak Brzezińska Wykład III Naiwny klasyfikator bayesowski jest prostym probabilistycznym klasyfikatorem. Zakłada się wzajemną niezależność zmiennych niezależnych (tu naiwność) Bardziej opisowe
Matematyka dyskretna. Andrzej Łachwa, UJ, /10
Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji
Schemat programowania dynamicznego (ang. dynamic programming)
Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten
Metody klasyfikacji danych - część 1 p.1/24
Metody klasyfikacji danych - część 1 Inteligentne Usługi Informacyjne Jerzy Dembski Metody klasyfikacji danych - część 1 p.1/24 Plan wykładu - Zadanie klasyfikacji danych - Przeglad problemów klasyfikacji
Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS
Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS Dyskretyzacja - definicja Dyskretyzacja - zamiana atrybutów
INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH
INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH 1. Czym jest eksploracja danych Eksploracja danych definiowana jest jako zbiór technik odkrywania nietrywialnych zależności i schematów w dużych
Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.
mgr inż. Magdalena Deckert Poznań, 30.11.2010r. Metody przyrostowego uczenia się ze strumieni danych. Plan prezentacji Wstęp Concept drift i typy zmian Algorytmy przyrostowego uczenia się ze strumieni
Optymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Testowanie modeli predykcyjnych
Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności
Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji
Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji Jacek Szcześniak Jerzy Błaszczyński Roman Słowiński Poznań, 5.XI.2013r. Konspekt Wstęp Wprowadzenie Metody typu wrapper Nowe metody
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.1 Opis programów Do rozwiązania zadań programowania
PLAN WYNIKOWY PROSTO DO MATURY KLASA 1 ZAKRES PODSTAWOWY
PLAN WYNIKOWY PROSTO DO MATURY KLASA 1 ZAKRES PODSTAWOWY Copyright by Nowa Era Sp. z o.o. Warszawa 019 Liczba godzin TEMAT ZAJĘĆ EDUKACYJNYCH Język matematyki 1 Wzory skróconego mnożenia 3 Liczby pierwsze,
1 Działania na zbiorach
M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej
A Zadanie
where a, b, and c are binary (boolean) attributes. A Zadanie 1 2 3 4 5 6 7 8 9 10 Punkty a (maks) (2) (2) (2) (2) (4) F(6) (8) T (8) (12) (12) (40) Nazwisko i Imiȩ: c Uwaga: ta część zostanie wypełniona
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych
Modele i narzędzia optymalizacji w systemach informatycznych zarządzania
Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5
OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI
Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w
KADD Metoda najmniejszych kwadratów funkcje nieliniowe
Metoda najmn. kwadr. - funkcje nieliniowe Metoda najmniejszych kwadratów Funkcje nieliniowe Procedura z redukcją kroku iteracji Przykłady zastosowań Dopasowanie funkcji wykładniczej Dopasowanie funkcji
Testowanie hipotez statystycznych
9 października 2008 ...czyli definicje na rozgrzewkę n-elementowa próba losowa - wektor n zmiennych losowych (X 1,..., X n ); intuicyjnie: wynik n eksperymentów realizacja próby (X 1,..., X n ) w ω Ω :
Wstęp do Techniki Cyfrowej... Algebra Boole a
Wstęp do Techniki Cyfrowej... Algebra Boole a Po co AB? Świetne narzędzie do analitycznego opisu układów logicznych. 1854r. George Boole opisuje swój system dedukcyjny. Ukoronowanie zapoczątkowanych w
Maciej Piotr Jankowski
Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-11 1 Modelowanie funkcji logicznych
Metody probabilistyczne klasyfikatory bayesowskie
Konwersatorium Matematyczne Metody Ekonomii narzędzia matematyczne w eksploracji danych First Prev Next Last Go Back Full Screen Close Quit Metody probabilistyczne klasyfikatory bayesowskie Wykład 8 Marcin
0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski
Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej Adam Żychowski Definicja problemu Każdy z obiektów może należeć do więcej niż jednej kategorii. Alternatywna definicja Zastosowania
Metody statystyczne kontroli jakości i niezawodności Lekcja II: Karty kontrolne.
Metody statystyczne kontroli jakości i niezawodności Lekcja II: Karty kontrolne. Wydział Matematyki Politechniki Wrocławskiej Karty kontroli jakości: przypomnienie Załóżmy, że chcemy mierzyć pewną charakterystykę.
Wyszukiwanie binarne
Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie
10. Redukcja wymiaru - metoda PCA
Algorytmy rozpoznawania obrazów 10. Redukcja wymiaru - metoda PCA dr inż. Urszula Libal Politechnika Wrocławska 2015 1 1. PCA Analiza składowych głównych: w skrócie nazywana PCA (od ang. Principle Component
Minimalizacja funkcji boolowskich c.d.
Minimalizacja funkcji boolowskich c.d. Metoda tablic Karnaugha Metoda Quine a McCluskey a Absolutnie nieprzydatna do obliczeń komputerowych Pierwsze skuteczne narzędzie do minimalizacji wieloargumentowych
Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski
Przekształcenia widmowe Transformata Fouriera Adam Wojciechowski Przekształcenia widmowe Odmiana przekształceń kontekstowych, w których kontekstem jest w zasadzie cały obraz. Za pomocą transformaty Fouriera
Inteligentna analiza danych
Numer indeksu 150946 Michał Moroz Imię i nazwisko Numer indeksu 150875 Grzegorz Graczyk Imię i nazwisko kierunek: Informatyka rok akademicki: 2010/2011 Inteligentna analiza danych Ćwiczenie I Wskaźniki
Niepewności pomiarów
Niepewności pomiarów Międzynarodowa Organizacja Normalizacyjna (ISO) w roku 1995 opublikowała normy dotyczące terminologii i sposobu określania niepewności pomiarów [1]. W roku 1999 normy zostały opublikowane
Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI
1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje
Agnieszka Nowak Brzezińska
Agnieszka Nowak Brzezińska jeden z algorytmów regresji nieparametrycznej używanych w statystyce do prognozowania wartości pewnej zmiennej losowej. Może również byd używany do klasyfikacji. - Założenia
Weryfikacja hipotez statystycznych
Weryfikacja hipotez statystycznych Hipoteza Test statystyczny Poziom istotności Testy jednostronne i dwustronne Testowanie równości wariancji test F-Fishera Testowanie równości wartości średnich test t-studenta
Wykład 4: Wnioskowanie statystyczne. Podstawowe informacje oraz implementacja przykładowego testu w programie STATISTICA
Wykład 4: Wnioskowanie statystyczne Podstawowe informacje oraz implementacja przykładowego testu w programie STATISTICA Idea wnioskowania statystycznego Celem analizy statystycznej nie jest zwykle tylko
B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;
Algorytm LEM1 Oznaczenia i definicje: U - uniwersum, tj. zbiór obiektów; A - zbiór atrybutów warunkowych; d - atrybut decyzyjny; IND(B) = {(x, y) U U : a B a(x) = a(y)} - relacja nierozróżnialności, tj.
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry
Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1
Weryfikacja hipotez statystycznych KG (CC) Statystyka 26 V 2009 1 / 1 Sformułowanie problemu Weryfikacja hipotez statystycznych jest drugą (po estymacji) metodą uogólniania wyników uzyskanych w próbie
Zbiory przybliżone, cz. 1 (wersja do druku) dr. Piotr Szczuko
Zbiory przybliżone, cz. 1 (wersja do druku) dr. Piotr Szczuko Katedra Systemów Multimedialnych 2009 Plan wykładu Historia zbiorów przybliżonych System informacyjny i decyzyjny Reguły decyzyjne Tożsamość
Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV
Klasyfikatory: k-nn oraz naiwny Bayesa Agnieszka Nowak Brzezińska Wykład IV Naiwny klasyfikator Bayesa Naiwny klasyfikator bayesowski jest prostym probabilistycznym klasyfikatorem. Zakłada się wzajemną
Zastosowanie sztucznej inteligencji w testowaniu oprogramowania
Zastosowanie sztucznej inteligencji w testowaniu oprogramowania Problem NP Problem NP (niedeterministycznie wielomianowy, ang. nondeterministic polynomial) to problem decyzyjny, dla którego rozwiązanie
Klasyfikator liniowy Wstęp Klasyfikator liniowy jest najprostszym możliwym klasyfikatorem. Zakłada on liniową separację liniowy podział dwóch klas między sobą. Przedstawia to poniższy rysunek: 5 4 3 2
A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.
M. Beśka, Wstęp do teorii miary, rozdz. 3 25 3 Miara 3.1 Definicja miary i jej podstawowe własności Niech X będzie niepustym zbiorem, a A 2 X niepustą rodziną podzbiorów. Wtedy dowolne odwzorowanie : A
Kombinacja jądrowych estymatorów gęstości w klasyfikacji wstępne wyniki
Kombinacja jądrowych estymatorów gęstości w klasyfikacji wstępne wyniki Mateusz Kobos, 10.12.2008 Seminarium Metody Inteligencji Obliczeniowej 1/46 Spis treści Działanie algorytmu Uczenie Odtwarzanie/klasyfikacja
Laboratorium 4. Naiwny klasyfikator Bayesa.
Laboratorium 4 Naiwny klasyfikator Bayesa. 1. Uruchom narzędzie Oracle Data Miner i połącz się z serwerem bazy danych. 2. Z menu głównego wybierz Activity Build. Na ekranie powitalnym kliknij przycisk
Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji
Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych Wydział Informatyki Politechniki
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
Zbiory, relacje i funkcje
Zbiory, relacje i funkcje Zbiory będziemy zazwyczaj oznaczać dużymi literami A, B, C, X, Y, Z, natomiast elementy zbiorów zazwyczaj małymi. Podstawą zależność między elementem zbioru a zbiorem, czyli relację
WEKA klasyfikacja z użyciem sztucznych sieci neuronowych
WEKA klasyfikacja z użyciem sztucznych sieci neuronowych 1 WEKA elementy potrzebne do zadania WEKA (Data mining software in Java http://www.cs.waikato.ac.nz/ml/weka/) jest narzędziem zawierającym zbiór
SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska
SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania
Minimalizacja formuł Boolowskich
Minimalizacja formuł Boolowskich Stosowanie reguł algebry Boole a w celu minimalizacji funkcji logicznych jest niedogodne brak metody, aby stwierdzić czy dana formuła może być jeszcze minimalizowana czasami
Sztuczna Inteligencja Projekt
Sztuczna Inteligencja Projekt Temat: Algorytm F-LEM1 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm F LEM 1. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu F LEM1
Analiza składowych głównych. Wprowadzenie
Wprowadzenie jest techniką redukcji wymiaru. Składowe główne zostały po raz pierwszy zaproponowane przez Pearsona(1901), a następnie rozwinięte przez Hotellinga (1933). jest zaliczana do systemów uczących
Definicja i własności wartości bezwzględnej.
Równania i nierówności z wartością bezwzględną. Rozwiązywanie układów dwóch (trzech) równań z dwiema (trzema) niewiadomymi. Układy równań liniowych z parametrem, analiza rozwiązań. Definicja i własności
komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW
Czego moga się nauczyć komputery? Andrzej Skowron, Hung Son Nguyen son@mimuw.edu.pl; skowron@mimuw.edu.pl Instytut Matematyki, Wydział MIM, UW colt.tex Czego mogą się nauczyć komputery? Andrzej Skowron,
Zastosowanie rozmytych map kognitywnych do badania scenariuszy rozwoju jednostek naukowo-dydaktycznych
Konferencja Systemy Czasu Rzeczywistego 2012 Kraków, 10-12 września 2012 Zastosowanie rozmytych map kognitywnych do badania scenariuszy rozwoju jednostek naukowo-dydaktycznych Piotr Szwed AGH University
Systemy uczące się wykład 2
Systemy uczące się wykład 2 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 19 X 2018 Podstawowe definicje Fakt; Przesłanka; Konkluzja; Reguła; Wnioskowanie. Typy wnioskowania
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania
Minimalizacja form boolowskich
Sławomir Kulesza Technika cyfrowa Minimalizacja form boolowskich Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Minimalizacja form boolowskich Minimalizacja proces przekształcania form
Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.
Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z funktorami realizującymi podstawowe funkcje logiczne poprzez zaprojektowanie, wykonanie i przetestowanie kombinacyjnego układu logicznego realizującego
Wykład 4: Statystyki opisowe (część 1)
Wykład 4: Statystyki opisowe (część 1) Wprowadzenie W przypadku danych mających charakter liczbowy do ich charakterystyki można wykorzystać tak zwane STATYSTYKI OPISOWE. Za pomocą statystyk opisowych można
WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik
WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik DOPUSZCZAJĄCY DOSTATECZNY DOBRY BARDZO DOBRY LICZBY I DZIAŁANIA zna pojęcie liczby naturalnej, całkowitej, wymiernej. rozumie rozszerzenie
Programowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-10-15 Projekt
Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów
Eksploracja danych Piotr Lipiński Informacje ogólne Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów UWAGA: prezentacja to nie
Wprowadzenie do uczenia maszynowego
Wprowadzenie do uczenia maszynowego Agnieszka Ławrynowicz 12 stycznia 2017 Co to jest uczenie maszynowe? dziedzina nauki, która zajmuje się sprawianiem aby komputery mogły uczyć się bez ich zaprogramowania
Diagnozowanie sieci komputerowej na podstawie opinii diagnostycznych o poszczególnych komputerach sieci
Diagnozowanie sieci komputerowej na podstawie opinii diagnostycznych o poszczególnych komputerach sieci Diagnozowanie systemu, w tym przypadku, pojmowane jest jako metoda określania stanu niezawodnościowego
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium JAVA Zadanie nr 2 Rozpoznawanie liter autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z problemem klasyfikacji