KATEDRA SYSTEMÓW MULTIMEDIALNYCH
Sztuczna Inteligencja w Medycynie
Ćwiczenie nr 11
Zbiory przybliżone
Opracowanie: mgr inż. Katarzyna Kaszuba
Wstęp
Zbiory przybliżone są jedną z metody pozyskiwania wiedzy z danych. Służą do automatycznej klasyfikacji danych zorganizowanych w postaci tabel. Podobnie jak w większości metod decyzyjnych zbiory przybliżone wykorzystują wiedze zgromadzoną w danych zebranych podczas pomiarów lub uzyskanych od ekspertów do tworzenia modelu klasyfikującego. Klasyfikacja dokonywana jest poprzez tworzenie reguł typu IF… THEN…
Zbiory przybliżone
Klasyfikacja obiektu do danego podzbioru zachodzi poprzez analizę jego atrybutów. W klasycznym podejściu zakłada się, że obiekty na pewno nalezą lub nie nalezą do
poszukiwanego podzbioru. Teoria zbiorów przybliżonych zakłada, że obiekty mogą leżeć na granicy podzbiorów – nie można ich jednoznacznie zaklasyfikować. Dzięki takiemu
podejściu zbiory przybliżone potrafią sobie radzić z danymi , które są sprzeczne a także z brakującymi wartościami. W notacji symbolicznej można przyjąć, że:
) , (U A A - System informacyjny A B - Podzbiór atrybutów U X podzbiór uniwersum
Możliwa jest aproksymacja zbioru X wyłącznie przez wykorzystanie atrybutów ze zbioru B, poprzez określenie B-dolnej i B-górnej aproksymacji zbioru X:
X x x X B X x x X B B B ] [ | ] [ |Obszarem brzegowym zbioru nazywana jest różnica pomiędzy aproksymacją górna a dolną.
X B X B X BNB( )
Obszarem zewnętrznym zbioru nazywa się te obiekty, które z całą pewnością nie należą do zbioru X.
Dokładnością przybliżenia zbioru nazywany jest stosunek mocy aproksymacji dolnej do mocy zbioru aproksymacji górnej. Gdy moc zbioru jest równa jeden oznacza to, że można mówić o zbiorze tradycyjnym, gdy moc zbioru jest mniejsza od jedności , wówczas zbiór jest zbiorem przybliżonym. X B X B X B( ) 1 ) ( 0B X
Zbiory przybliżone można podzielić na cztery kategorie:
W przybliżeniu B - definiowalne gdy: B(X)B(X)U
Zewnętrznie B -niedefiniowalny, gdy: B(X)B(X)U
Całkowicie B-niedefiniowalny , gdy B(X)B(X)U
Redukty
Reduktem nazywany jest taki podzbiór atrybutów, który posiada najmniejsza ich liczbę i generuje taki sam podział jak cały zbiór atrybutów. Istnienie reduktów wynika z faktu, ze różne podzbiory cech mogą generować identyczny podział całego zbioru. Wyznaczanie reduktu polega zatem na wyrzuceniu ze zbioru cech tych atrybutów, które nie wnoszą żadnej informacji o decyzji.
Opis działania programu RSES
Program Rough Set Exploration System (RSES) jest aplikacją umożliwiającą szybką i wygodną klasyfikację obiektów w metodą zbiorów przybliżonych.
Nowy projekt
Wczytaj projekt
Zapisz projekt
Nowa tabela
Nowy zbiór reduktów
Nowy zbiór reguł
Kombinacje liniowe
Dekompozycja
Sieć neuronowa
Drzewo decyzyjne
Wyniki
Po uruchomieniu aplikacji należy utworzyć nowy projekt, korzystając z zakładki File->New
Project. Aby umieścić nową tabelę decyzyjną należy w pasku bocznym kliknąć ikonkę tabeli
a następnie kliknąć prawym przyciskiem myszy na nowo powstałym obiekcie i załadować dane.
Zbiór danych można podzielić na mniejsze tabele klikając prawym przyciskiem myszy na obiekcie i wybrać opcję Split in two.
Redukty i reguły decyzyjne tworzone są poprzez kombinację RMB-> Reducts/
Rules/->Calculate reducts or rules.Pojawi się okno dialogowe umożliwiające wybór metod
obliczania reguł czy reduktów.
Każdorazowo program każdy wybrać lokalizację do której zapisane mają zostać reguły , dlatego przed utworzeniem nowego zbioru reguł lub reduktów należy wcześniej utworzyć nowe obiekty (kliknąć odpowiednie ikonki w pasku bocznym) . Analogicznie możliwe jest stworzenie sieci neuronowej, drzewa decyzyjnego oraz kombinacji liniowych parametrów.
Reguły mogą być też generowane na podstawie reduktów, wówczas należy na zbiorze utworzonych reduktów kliknąć prawy przycisk myszy i wybrać opcję Generate rules. Uzyskane reguły można skracać, generalizować oraz filtrować. Opcje te dostępne SA po kliknięciu na zbiorze reguł prawym przyciskiem myszy. Klasyfikacja możliwa jest w dwóch procedurach – w procedurze walidacji krzyżowej (Cross- validation) oraz w procedurze zbiór testowy – zbiór treningowy. Aby sklasyfikować w procedurze walidacji krzyżowej należy zaznaczyć tabelę, która ma zostać sklasyfikowana, kliknąć prawym przycisk myszy i wybrać opcję Classify->Cross-validation. Pojawi się okno dialogowe, umożliwiające wybór metody klasyfikacji. Jeżeli jedna tabela ma być klasyfikowana kilka razy należy pamiętać o
stworzeniu wcześniej obiektów do przechowywania wyników oraz wyborze odpowiedniego obiektu do którego wyniki mają zostać zapisane.
Klasyfikacja metodą zbioru testowego polega na wybraniu tabeli, która ma zostać
sklasyfikowana , kliknięciu prawego przycisku myszy oraz wyborze opcji Classify->Test
Podgląd zawartości tabel, zbiorów reguł, reduktów oraz wyników klasyfikacji można uzyskać poprzez podwójne kliknięcie myszką na obiekcie.
Zadania do wykonania
a. Utwórz nowy projekt i stwórz nową tabelę, do której załaduj tabelę z pliku
heart_disease.tab.
b. Dla całej tabeli wyznacz reguły decyzyjne przy pomocy algorytmu genetycznego. Liczbę reduktów ustaw na 10.
c. Dla całej tabeli wyznacz redukty metodą genetyczną , a następnie na bazie reduktów wygeneruj nowy zbiór reguł.
d. Porównaj zbiory reguł uzyskane w podpunktach a i b ( Ilość reguł, ileś przypadków, które pokrywa reguła długości reguł). Z czego wynikają różnice?
e. Powtórz punkty b-d dla liczby reduktów 8,6,4,2.
f. Dokonaj klasyfikacji zbioru w procedurze walidacji krzyżowej. Użyj algorytmu genetycznego tworzenia reguł. Ilość reduktów ustaw kolejno na 10,8,6,4,2.
g. W sprawozdaniu zamieć wszystkie 5 macierzy pomyłek. Porównaj wyniki uzyskane dla różnych ilości reduktów. Skomentuj obserwację.
h. Dokonaj podziału zbioru na zbiór testowy i treningowy poprzez jego podział w stosunku 3:7.
i. Dla zbioru treningowego wygeneruj reguły. Użyj algorytmu genetycznego. Liczbę reduktów ustaw na 10.
j. Dla zbioru treningowego wygeneruj redukty, a następnie na bazie reduktów
wygeneruj nowy zbiór reguł. Użyj algorytmu genetycznego. Liczbę reduktów ustaw na 10.
k. Dokonaj klasyfikacji zbioru testowego dla dwóch uzyskanych zbiorów reguł. l. Skomentuj wyniki i w sprawozdaniu umieść obie macierze pomyłek.
m. Powtórz punkty i-k dla liczby reduktów 8,6,4,2.
n. Porównaj wyniki klasyfikacji dla różnych ilości reduktów.
o. Stwórz nową tabelę i załaduj do niej plik satellite_trn.tab
p. Stwórz nową tabelę i załaduj do niej plik satellite_tst.tab
q. Dla pliku treningowego stwórz zbiór reguł przy pomocy algorytmu genetycznego. Liczbę reduktów ustaw na 10.
r. Dla pliku testowego stwórz zbiór reduktów, a następnie ja jego podstawie wygeneruj zbiór reguł.
s. Dokonaj generalizacji reguł uzyskanych w podpunktach q i r. Zmieniaj parametr generalizacji w zakresie 0.9-0.5 z krokiem co 0.1.
t. Dla pliku treningowego stwórz sieć neuronową z domyślnymi ustawieniami. u. Dla pliku treningowego stwórz drzewo decyzyjne z domyślnymi ustawieniami. v. Dokonaj klasyfikacji zbioru testowego wszystkimi uzyskanymi metodami. w. Porównaj i skomentuj wyniki.
x. Jak generalizacja wpływa na klasyfikację nowych przypadków i dlaczego? y. Uporządkuj wizualnie plik projektu.
z. Do sprawozdania dołącz plik z projektem.
Sprawozdanie
W sprawozdaniu umieścić wyniki i komentarze do punktów a-z. Nie komentować punktów związanych jedynie z obsługa programu.