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 ;



Podobne dokumenty
Sztuczna Inteligencja Projekt

Sztuczna Inteligencja Projekt

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

System informacyjny a system decyzyjny Relacja nierozróżnialności Klasy abstrakcji Teoria zbiorów przybliżonych Usuwanie niespójności z tablicy

Sztuczna inteligencja

WSPOMAGANIE DECYZJI - MIŁOSZ KADZIŃSKI LAB IV ZBIORY PRZYBLIŻONE I ODKRYWANIE REGUŁ DECYZYJNYCH

Systemy ekspertowe. Eksploracja danych z wykorzystaniem tablic decyzyjnych i zbiorów przybliżonych. Część trzecia

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 2. Wojciech Waloszek. Teresa Zawadzka.

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Odkrywanie wiedzy z danych przy użyciu zbiorów przybliżonych. Wykład 3

Sortowanie topologiczne skierowanych grafów acyklicznych

Wstęp do Techniki Cyfrowej... Teoria automatów

Systemy ekspertowe : Tablice decyzyjne

Reguły decyzyjne, algorytm AQ i CN2. Reguły asocjacyjne, algorytm Apriori.

Minimalizacja automatów niezupełnych.

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Zbiory przybliżone, cz. 1 (wersja do druku) dr. Piotr Szczuko

1 Wprowadzenie do algorytmiki

WYKŁAD 6. Reguły decyzyjne

Strategie ewolucyjne (ang. evolu4on strategies)

Algorytmy i struktury danych

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Teoretyczne podstawy zbiorów przybliżonych

Metody indukcji reguł

Programowanie w Turbo Pascal

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Język C część 2. Podejmowanie decyzji w programie. if else. switch

Metody eksploracji danych. Reguły asocjacyjne

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

Odkrywanie wiedzy w danych

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Pętle instrukcje powtórzeo

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

mgr inż. Magdalena Deckert Poznań, r. Metody przyrostowego uczenia się ze strumieni danych.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Systemy ekspertowe. Wnioskowanie w systemach regułowych. Część piąta. Autor Roman Simiński.

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Wnioskowanie Boolowskie i teoria zbiorów przybli»onych

Algorytmy i Struktury Danych, 2. ćwiczenia

Matematyka dyskretna

6. Zagadnienie parkowania ciężarówki.

II. FUNKCJE WIELU ZMIENNYCH

Technologie baz danych

Rozważmy funkcję f : X Y. Dla dowolnego zbioru A X określamy. Dla dowolnego zbioru B Y określamy jego przeciwobraz:

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Ćwiczenie: JavaScript Cookies (3x45 minut)

Systemy Wspomagania Decyzji

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Programowanie w VB Proste algorytmy sortowania

ECDL Podstawy programowania Sylabus - wersja 1.0

Zapis algorytmów: schematy blokowe i pseudokod 1

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

Dlaczego nie wystarczają liczby wymierne

1. Reguły minimalne (optymalne) Podstawowe twierdzenia i definicje. Definicja 1 Funkcję postaci f. nazwiemy n-argumentową funkcją boolowską.

Programowanie w języku C++ Grażyna Koba

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

1 Określenie pierścienia

Elementy modelowania matematycznego

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

SZTUCZNA INTELIGENCJA

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Programowanie nieliniowe

Podstawy Programowania C++

Reguły asocjacyjne. Żródło: LaroseD.T., Discovering Knowledge in Data. An Introduction to Data Minig, John Wiley& Sons, Hoboken, New Jersey, 2005.

Matematyczne Podstawy Informatyki

Liczby losowe i pętla while w języku Python

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Wstęp do programowania

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Algorytmy i struktury danych

Wstęp do programowania

Systemy uczące się wykład 2

System informacyjny a system decyzyjny Relacja nierozróżnialności Klasy abstrakcji Teoria zbiorów przybliżonych Usuwanie niespójności z tablicy

Materiały do laboratorium MS ACCESS BASIC

Wykład 2. Poprawność algorytmów

7. Zagadnienie parkowania ciężarówki.

Wybrane zadania przygotowujące do egzaminu z ISO- cz. 2. dr Piotr Wąsiewicz

Wykład z modelowania matematycznego. Zagadnienie transportowe.

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Wstęp do programowania

R o g e r A c c e s s C o n t r o l S y s t e m 5

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i Struktury Danych, 2. ćwiczenia

Teoria automatów i języków formalnych. Określenie relacji

Cel normalizacji. Tadeusz Pankowski

Wstęp do Programowania potok funkcyjny

Pętle. Dodał Administrator niedziela, 14 marzec :27

Normalizacja. Pojęcie klucza. Cel normalizacji

Hierarchiczna analiza skupień

Transkrypt:

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. zbiór wszystkich par obiektów, które mają takie same wartości na wszystkich atrybutach ze zbioru B A; B - rodzina wszystkich klas nierozróżnialności wyznaczonych przez relację IND(B), tzn. B = U/IND(B); {d} - rodzina wszystkich klas nierozróżnialności wyznaczonych przez relację IND({d}), tzn. {d} = U/IND({d}). Inaczej, rodzina wszystkich klas decyzyjnych; Zbiór {d} zależy od zbioru B wtedy i tylko wtedy, gdy B {d} (tutaj oznacza, że każdy zbiór pierwszej rodziny jest podzbiorem pewnego zbioru drugiej rodziny, czyli X B Y {d} X Y ); 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 ; Algorithm 1: LEM1 Data: zbiór A wszystkich atrybutów warunkowych, rodzina {d} ; Result: pojedyncze globalne pokrycie B; begin B := ; C := A; if A {d} then foreach a A do D := C \ {a}; if D {d} then C := D; B := C; end Opis algorytmu. Algorytm LEM1 działa jedynie dla danych niesprzecznych, tzn. każde dwa 1

obiekty z U, należące do różnych klas muszą być rozróżnialne na atrybutach z A. Wtedy spełniony jest warunek A {d}. Algorytm w każdym kroku sprawdza, czy możliwe jest usunięcie jednego atrybutu z rozpatrywanego zbioru atrybutów (tj. D := C \ {a}). Jeżeli tak (tj. D {d} ), to atrybut jest usuwany ze zbioru atrybutów. W efekcie otrzymywany jest najmniejszy podzbiór atrybutów warunkowych zachowujący rozróżnialność obiektów z różnych klas. Przykład 1. Dana jest tablica decyzyjna (U, A {d}) obiekt temperatura bol glowy oslabienie nudnosci grypa 1 b. wysoka tak tak nie tak 2 wysoka tak nie tak tak 3 normalna nie nie nie nie 4 normalna tak tak tak tak 5 wysoka nie tak nie tak 6 wysoka nie nie nie nie 7 normalna nie tak nie nie gdzie U = {1,..., 7}, A = {temperatura, bol glowy, oslabienie, nudnosci}, d = grypa. Ilustracja działania algorytmu: B := ; C := A; A = {{1}, {2}, {3}, {4}, {5}, {6}, {7}}, d = {{1, 2, 4, 5}, {3, 6, 7}}, zatem A {d} ; D := C \ {temperatura} = {bol glowy, oslabienie, nudnosci}, stąd D = {{1}, {2}, {3, 6}, {4}, {5, 7}}, więc D {d} ; D := C \ {bol glowy} = {temperatura, oslabienie, nudnosci}, stąd D = {{1}, {2}, {3}, {4}, {5}, {6}, {7}}, więc D {d}, zatem C := D; D := C \ {oslabienie} = {temperatura, nudnosci}, stąd D = {{1}, {2}, {3, 7}, {4}, {5, 6}}, więc D {d} ; D := C \ {nudnosci} = {temperatura, oslabienie}, stąd D = {{1}, {2, 6}, {3}, {4, 7}, {5}}, więc D {d}, zatem globalne pokrycie wynosi B := {temperatura, oslabienie, nudnosci}; Na podstawie globalnego pokrycia konstruowane są reguły przy zastosowaniu techniki dropping conditions. Na początku konstruowana jest reguła w oparciu o obiekt 1, tj. (temperatura, b. wysoka) (oslabienie, tak) (nudnosci, nie) (grypa, tak). Reguła pokrywa tylko pierwszy obiekt (tj. 1 jako jedyny spełnia część warun- 2

kową reguły). Aby zwiększyć pokrycie reguły o kolejne obiekty z tej samej klasy decyzyjnej, rozpatrywane jest opuszczenie kolejnych warunków reguły. Warunek (temperatura, b. wysoka) nie może być opuszczony, gdyż otrzymana w ten sposób reguła (oslabienie, tak) (nudnosci, nie) (grypa, tak), oprócz obiektu 1, pokrywa obiekt z innej klasy decyzyjnej, tj. obiekt 7. Możliwy do usunięcia jest warunek (oslabienie, tak), a także (nudnosci, nie), chociaż nie zmienia to pokrycia reguły. Ostatecznie otrzymujemy regułę (temperatura, b. wysoka) (grypa, tak) pokrywającą obiekt 1. Dla pozostałych obiektów reguły generowane są w analogiczny sposób. Zbiór reguł wygenerowanych przez algorytm LEM1 składa się z następujących reguł (po dwukropku podane pokrycie reguły): (temperatura, b. wysoka) (grypa, tak) : 1, (nudnosci, tak) (grypa, tak) : 2, 4, (temperatura, wysoka) (oslabienie, tak) (grypa, tak) : 5, (oslabienie, nie) (nudnosci, nie) (grypa, nie) : 3, 6, (temperatura, normalna) (nudnosci, nie) (grypa, nie) : 3, 7. Algorytm LEM2 Oznaczenia i definicje: X niepusta dolna lub górna aproksymacja klasy decyzyjnej; t = (a, v) warunek, gdzie a atrybut warunkowy, v wartość przyjmowana przez a; [t] blok, tj. zbiór obiektów spełniających warunek t = (a, v); T - zbiór warunków t; [T ] = t T [t] - zbiór obiektów spełniających każdy z warunków t T ; Zbiór X zależy od zbioru T wtedy i tylko wtedy, gdy = [T ] X; T jest minimalnym kompleksem zbioru X wtedy i tylko wtedy, gdy X zależy od T i nie istnieje T T takie, że X zależy od T ; T - rodzina zbiorów T ; T jest lokalnym pokryciem zbioru X wtedy i tylko wtedy, gdy: 1. Każdy zbiór T T jest minimalnym kompleksem zbioru X; 2. T T [T ] = X; 3

3. T jest minimalny, tj. składa się z najmniejszej możliwej liczby zbiorów T. Algorithm 2: LEM2 Data: zbiór X; Result: pojedyncze lokalne pokrycie T zbioru X; begin G := X; T := ; while G do T := ; T G := {t : [t] G }; while T = or [T ] X do wybierz t T G takie, że [t] G jest maksymalne; jeżeli jest więcej niż jedno t spełniające warunek, to wybierz spośród nich pierwsze znalezione t takie, że [t] jest minimalne; T := T {t}; G := [t] G; T G = {t : [t] G } \ T ; end foreach t T do if [T \ {t}] X then T := T \ {t}; T := T {T }; G := X \ T T [T ]; foreach T T do if T T \{T }[T ] = X then T := T \ {T }; Opis algorytmu. Algorytm LEM2 na wejściu otrzymuje aproksymację rozpatrywanej klasy decyzyjnej. Jeżeli jest to dolna aproksymacja, to są generowane reguły pewne, jeżeli górna, to możliwe (Zamiast aproksymacji można rozpatrywać obszar brzegowy, wtedy generowane są reguły przybliżone). Algorytm przy generowaniu każdej reguły bierze pod uwagę tylko te warunki, które są spełnione przynajmniej przez jeden obiekt z rozpatrywanego zbioru (tj. T G := {t : [t] G }). W każdym kroku generowania reguły (zbiór T reprezentuje regułę) wybierany jest taki warunek, który jest spełniany przez największą liczbę obiektów (tj. [t] G jest maksymalne). Jeżeli jest więcej takich warunków spełniających podane kryterium, to spośród nich wybierany jest ten, który jest spełniony przez najmniejszą liczbę wszystkich obiektów z U (tj. [t] jest minimalne). W tym przypadku jest to równoważne temu, że taki warunek jest spełniony przez najmniejszą liczbę obiektów spoza zbioru G. Reguła jest tworzona (tj. T := T {t}), dopóki nie jest dodany ani jeden warunek do reguły (tj. T = ) lub te warunki które już są dodane do reguły są spełniane nie tylko przez obiekty z rozpatrywanej aproksymacji (tj. [T ] X). 4

Po wygenerowaniu każdej reguły, następuje jej przycinanie poprzez usunięcie zbędnych warunków (tj. if [T \{t}] X then T := T \{t}). Przy generowaniu kolejnej reguły, rozpatrywane są tylko te obiekty z danej aproksymacji, które nie spełniają wygenerowanych do tej pory reguł (tj. G := X \ T T [T ]), czyli nie spełniają reguł znajdujących się w zbiorze T. Po wygenerowaniu wszystkich reguł, tzn. w sytuacji gdy nie ma już obiektów z rozpatrywanej aproksymacji niespełniających którejkolwiek z reguł (tj. G nie jest spełnione), następuje przycinanie zbioru reguł poprzez usuwanie zbędnych reguł (tj. if T T \{T }[T ] = X then T := T \ {T }). Przykład 2. Dana jest tablica decyzyjna z Przykładu 1. Załóżmy, że rozpatrywana jest dolna aproksymacja klasy decyzyjnej {1, 2, 4, 5}, zatem X = {1, 2, 4, 5} (w tym przypadku obie aproksymacje pokrywają się). G := X; T := ; pętla while G (krok 1): T := ; T G := {(temperatura, b. wysoka), (temperatura, wysoka), (temperatura, normalna), (bol glowy, tak), (bol glowy, nie), (oslabienie, tak), (oslabienie, nie), (nudnosci, tak), (nudnosci, nie)}; pętla while T = or [T ] X (krok 1): Dla warunków (bol glowy, tak) i (oslabienie, tak) wyrażenie [t] G przyjmuje maksymalną wartość, tj. 3. Wybierany jest warunek (bol glowy, tak), gdyż (bol glowy, tak) = 3 < (oslabienie, tak) = 5. T := {(bol glowy, tak)}; G := {1, 2, 4}; T G = {(temperatura, b. wysoka), (temperatura, wysoka), (temperatura, normalna, (bol glowy, nie), (oslabienie, tak), (oslabienie, nie), (nudnosci, tak), (nudnosci, nie)}. Otrzymujemy T : and [T ] X, więc wychodzimy z pętli wewnętrznej. T := {{(bol glowy, tak)}}; G := {1, 2, 4, 5} \ {1, 2, 4} = {5}. pętla while G (krok 2): T := ; T G := {(temperatura, wysoka), (bol glowy, nie), (oslabienie, tak), (nudnosci, nie)}; pętla while T = or [T ] X (krok 1): Wybierany jest warunek (temperatura, wysoka), otrzymujemy T := {(temperatura, wysoka)}; G := {5}; T G = {(bol glowy, nie), (oslabienie, tak), (nudnosci, nie)}. Ponieważ [T ] = {2, 5, 6} X, więc pętla while T = or [T ] X (krok 2): Wybierany jest warunek (bol glowy, nie), otrzymujemy T := {(temperatura, wysoka), (bol glowy, nie)}; G := {5}; T G = {(oslabienie, tak), (nudnosci, nie)} Ponieważ [T ] = {5, 6} X, więc 5

pętla while T = or [T ] X (krok 3): Wybierany jest warunek (oslabienie, tak), otrzymujemy T := {(temperatura, wysoka), (bol glowy, nie), (oslabienie, tak)}; G := {5}; T G = {(nudnosci, nie)} Ponieważ [T ] = {5} X, więc wychodzimy z pętli wewnętrznej. Przycinając regułę reprezentowaną przez zbiór T (pętla foreach t T ) otrzymujemy T = {(temperatura, wysoka), (oslabienie, tak)}; T := {{(bol glowy, tak)}, {(temperatura, wysoka), (oslabienie, tak)}}; G := {5} \ {5} =, więc wychodzimy z pętli zewnętrznej. Na podstawie otrzymanego lokalnego pokrycia konstruowane są reguły: (bol glowy, tak) (grypa, tak), (temperatura, wysoka) (oslabienie, tak) (grypa, tak). Zbiór reguł wygenerowanych przez algorytm LEM2 składa się z następujących reguł (po dwukropku podane pokrycie reguły): (bol glowy, tak) (grypa, tak) : 1, 2, 4, (temperatura, wysoka) (oslabienie, tak) (grypa, tak) : 5, (temperatura, normalna) (bol glowy, nie) (grypa, nie) : 3, 7, (bol glowy, nie) (oslabienie, nie) (grypa, nie) : 3, 6. 6