KATEDRA SYSTEMÓW MULTIMEDIALNYCH
Laboratorium Inteligentnych Systemów Decyzyjnych
Ćwiczenie nr 11: Klasyfikacja przy pomocy teorii zbiorów przybliżonych
Opracowanie: dr inż. Piotr Szczuko 1. Cel ćwiczenia
Celem ćwiczenia jest zapoznanie studentów z podstawowymi zagadnieniami metod odkrywania reguł i klasyfikacji z wykorzystaniem kilku metod z teorii zbiorów przybliżonych.
2. Podstawy teorii zbiorów przybliżonych
Teoria zbiorów przybliżonych zajmuje się klasyfikacją danych zorganizowanych w postaci tabel. Dane uzyskane mogą być z pomiarów, testów lub od ekspertów. Głównym celem analizy danych wejściowych jest wyznaczenie aproksymacji (przybliżenia) badanej idei (koncepcji, np. pacjenta zdrowego, chorego, itd.) w celu dokładnej analizy problemu, związków i zależności między atrybutami i decyzjami oraz uzyskania narzędzia klasyfikującego nowe przypadki.
W przeciwieństwie do innych metod wnioskowania, w teorii zbiorów przybliżonych dopuszcza się: nieprecyzyjne dane, sprzeczność danych, niekompletność danych.
Reguły i redukty
Przykładowy system decyzyjny generuje zbiór reguł logicznych dla każdego przypadku uczącego. Przykładowo dla danych przedstawianych na wykładzie:
JEŻELI Age=”16-30” I LEMS=”50” TO Walk=”Yes”
Reguły takie wykorzystane mogą być do klasyfikacji przypadków nowych, dla których nie jest znana wartość decyzji i celem jest jej prognoza. Algorytm wnioskujący musi wówczas przeanalizować poprzedniki reguł (JEŻELI … I …), znaleźć regułę o wartościach atrybutów odpowiadających nowemu przypadkowi i odczytać następnik reguły (TO …) i zwrócić go jako wynik. Ze względu na występujące sprzeczności w systemie decyzyjnym, nie zawsze
możliwe jest podanie jednoznacznej odpowiedzi. Teoria zbiorów przybliżonych podaje rozwiązanie tego problemu niejednoznaczności i sprzeczności.
Nie każdy atrybut będzie tak samo ważny dla podejmowania decyzji. Niektóre są niezwiązane z wynikiem i dlatego nie muszą, a nawet nie powinny występować w regułach. Zestaw (wektor) najbardziej przydatnych atrybutów nazywany jest reduktem. Wyznaczenie reduktu polega na pozostawieniu w podzbiorze tylko tych atrybutów, które zachowują relację równoważności, czyli nie zmieniają aproksymacji zbioru i na usunięciu pozostałych.
Dyskretyzacja parametrów
Obiekty w systemie decyzyjnym mogą w ogólności być opisane atrybutami liczbowymi o dowolnej dokładności z ciągłej dziedziny. Nie ma pewności, że nieznane przypadki w przyszłości będą miały podobne wartości. Dyskretyzacja parametrów – zamiana wartości ciągłych na całkowite (lub na etykiety słowne, nazwy przedziałów), umożliwia przetwarzanie danych o nowych wartościach, do tej pory nie występujących w systemie decyzyjnym.
Więcej szczegółów w skrypcie do przedmiotu oraz materiałach wykładowych: http://sound.eti.pg.gda.pl/student/materialy.html#isd
3. Zadania do wykonania
Dołączony do instrukcji kod napisany jest w języku R. Laboratorium wykonuje się w środowisku RStudio.
Przydatne skróty klawiszowe:
Ctrl+Enter – wykonanie aktualnej linii Ctrl+Shift+S – wykonanie całego skryptu
Wykonać należy eksperyment doboru parametrów działania metod dyskretyzacji i wyznaczania reduktu:
Pętla for modyfikuje automatycznie wartość nOfIntervals (wiersz 39) w zakresie 1…10 wpływając na dokładność klasyfikacji.
D.discretization.RST (wiersze 35-38): wariant algorytmu type.method ustawiać ręcznie na jednej z dostępnych poprzez odkomentowanie tylko jednego wiersza kodu (UWAGA: metoda local.discernibility nie zależy od nOfIntervals, samodzielnie dobiera cięcia dyskretyzacji, dlatego nie ma potrzeby uruchamiać pętli for wielokrotnie. W tym wypadku dokonać należy odpowiednich zmian w kodzie).
FS.reduct.computation (wiersze 47-50): wariant algorytmu method ustawiać ręcznie na jednej z dostępnych poprzez odkomentowanie tylko jednego wiersza kodu.
Należy zaobserwować zmiany w dokładności klasyfikacji, w zależności od metody wyznaczania reguł, liczby cięć, sposobu dyskretyzacji i wyznaczania reduktu.
Jeśli wyświetlany jest błąd (np. dla nOfIntervals=1) należy zastanowić się nad jego znaczeniem i opisać w sprawozdaniu każdy taki przypadek. Zmodyfikować także kod dla tego konkretnego przypadku przez zmianę zakresu pętli for.
Należy w sprawozdaniu wypisać kombinacje (kilka najlepszych), które dawały najwyższe wyniki.
Należy w sprawozdaniu zaprezentować na wspólnym wykresie skuteczności kliku wybranych algorytmów (oś pionowa), w zależności od liczby cięć (oś pozioma), wyraźnie oznaczając rodzaj algorytmu, np. innym typem znacznika i linii.
Odpowiedzieć na pytania:
- Czy któreś z podejść (cięcia, sposób wyliczenia dyskretyzacji, reduktu, reguł) zawsze dawało najwyższe wyniki?
- Zmienić zakres pętli for 20:30, zaobserwować wyniki i opisać z czym wiąże się zwiększanie liczby cięć (nie chodzi wyłącznie o czas obliczeń)? Uzasadnić odpowiedź - pytanie pomocnicze: dlaczego stosowanie wielu cięć dyskretyzacji powoduje dla wielu metod obniżenie dokładności klasyfikacji?