Automatyczne wyodrębnianie reguł

Podobne dokumenty
Testowanie modeli predykcyjnych

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 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Porównanie systemów automatycznej generacji reguł działających w oparciu o algorytm sekwencyjnego pokrywania oraz drzewa decyzji


ALGORYTM RANDOM FOREST

Metody klasyfikacji danych - część 1 p.1/24

Metody indukcji reguł

Jakość uczenia i generalizacja

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Co to są drzewa decyzji

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

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

RILL - przyrostowy klasyfikator regułowy uczący się ze zmiennych środowisk

METODY INŻYNIERII WIEDZY

Algorytm grupowania danych typu kwantyzacji wektorów

Systemy uczące się wykład 1

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

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Elementy modelowania matematycznego

Aproksymacja funkcji a regresja symboliczna

Algorytmy klasyfikacji

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Algorytm grupowania danych typu kwantyzacji wektorów

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

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Inteligencja obliczeniowa

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

Wprowadzenie do klasyfikacji

2.8. Algorytmy, schematy, programy

Analiza algorytmów zadania podstawowe

WYKŁAD 6. Reguły decyzyjne

Wstęp do programowania

Jeśli przeszkoda jest blisko to przyhamuj

Data Mining Wykład 4. Plan wykładu

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

9.9 Algorytmy przeglądu

Optymalizacja systemów

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

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

Temat: Model TS + ANFIS. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

1 Wprowadzenie do algorytmiki

Drzewa decyzyjne. 1. Wprowadzenie.

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Strategia "dziel i zwyciężaj"

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

Laboratorium 6. Indukcja drzew decyzyjnych.

Temat: Model SUGENO. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Systemy uczące się wykład 2

Odkrywanie wiedzy w danych

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Zmienne zależne i niezależne

Klasyfikacja. Sformułowanie problemu Metody klasyfikacji Kryteria oceny metod klasyfikacji. Eksploracja danych. Klasyfikacja wykład 1

Algorytm. Krótka historia algorytmów

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Agnieszka Nowak Brzezińska Wykład III

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

Złożoność i zagadnienia implementacyjne. Wybierz najlepszy atrybut i ustaw jako test w korzeniu. Stwórz gałąź dla każdej wartości atrybutu.

Indukowane Reguły Decyzyjne I. Wykład 3

6. Zagadnienie parkowania ciężarówki.

Systemy ekspertowe : program PCShell

Metody selekcji cech

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Priorytetyzacja przypadków testowych za pomocą macierzy

Szkolenie Analiza dyskryminacyjna

Metody systemowe i decyzyjne w informatyce

Podstawy OpenCL część 2

Drzewa decyzyjne i lasy losowe

Programowanie celowe #1

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Drzewa klasyfikacyjne algorytm podstawowy

Metody wnioskowania. Wnioskowanie w przód (ang. forward chaining) Wnioskowanie w tył (ang. Backward chaining) Od przesłanki do konkluzji Np..

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Zapis algorytmów: schematy blokowe i pseudokod 1

TEORETYCZNE PODSTAWY INFORMATYKI

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Uczenie się maszyn. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Matlab podstawy + testowanie dokładności modeli inteligencji obliczeniowej

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Maciej Piotr Jankowski

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Agnieszka Nowak Brzezińska

Algorytmy i struktury danych. wykład 2

Transkrypt:

Automatyczne wyodrębnianie reguł Jedną z form reprezentacji wiedzy jest jej zapis w postaci zestawu reguł. Ta forma ma szereg korzyści: daje się łatwo interpretować, można zrozumieć sposób działania zbudowanego systemu ekspertowego, jak również prześledzić sposób podejmowania decyzji przez system. Te elementy są szczególnie istotne z punktu widzenia szeregu zastosowań. Przykładowo w przemyśle inżynier odpowiadający za realizację procesu technologicznego nie zawierzy automatowi, którego działanie nie rozumie, dlatego też w takich zastosowaniach konieczna jest taka forma reprezentacji wiedzy, która umożliwia zrozumienie podjętej decyzji. Identyczne zachowania obserwuje się również w innych obszarach na styku człowieka z maszyną, jak ekonomii, medycynie, gdzie obok decyzji równie ważne jest prześledzenie sposobu wnioskowania przeprowadzonego przez komputer. W wielu obszarach nauki wiedza dziedzinowa jest jasna i przejrzysta, wówczas można ją bezpośrednio zaimplementować do systemu ekspertowego w postaci zbioru reguł lub kombinacji reguł i modeli. Jednak w pewnych zagadnieniach taka wiedza jest niedostępna. Przykładowo takie nauki jak psychologia, socjologia, medycyna i ekonomia w głównym stopniu opierają się na analizie zebranych danych doświadczalnych, dla których nie istnieje model fizyczny zachodzących zjawisk. Jednak nawet w dobrze ugruntowanych obszarach nauki, jak inżynieria materiałowa i metalurgia gdzie modele fizyczne są dobrze znane jest wiele przypadków, gdzie właśnie te modele fizyczne nie dostarczają niezbędnych informacji lub dostarczają je jedynie w postaci przybliżonej. Dlatego dysponując danymi pomiarowymi można postarać się zbudować system, który wydobytą wiedzę zapisuje w postaci reguł. Można tutaj wymienić dwa standardowe podejścia do wyodrębniania reguł: Algorytm sekwencyjnego pokrywania Algorytm drzew decyzji Poniżej te dwie rodziny algorytmów zostaną opisane. Na wstępie jednak trzeba wprowadzić pewne założenia. Indukcja reguł odbywa się na podstawie dostarczonego zbioru danych, który składa się z pary { } tak, że [ ] jest zbiorem n wektorów opisanych w przestrzeni, a [ ], jest zmienną zależną taką, że każdemu wektorowi przypisana jest jedna wartość, taka że [ ], czyli należy do jednej z k kategorii. Na przestrzeń mogą składać się zarówno zmienne symboliczne, jak i ciągłe. Takie zagadnienie nosi nazwę problemu klasyfikacyjnego. Każde zagadnienie indukcji wiedzy, w tym również indukcji reguł wiąże się z problemem zapewnienia odpowiedniej generalizacji zbudowanego systemu. Generalizację należy tutaj rozumieć, jako zapewnienie odpowiedniej ogólności uzyskanych reguł. Problem ten wynika z faktu, iż zwykle dane na podstawie, których chcemy dokonać klasyfikacji są zaszumione, i/lub przestrzeń ma zbyt niski wymiar, co oznacza, że zarejestrowaliśmy niedostateczną liczbę zmiennych. Wówczas algorytm indukcji nie jest w stanie zbudować bezbłędnego zestawu reguł lub też zbudowany system regułowy staje się zbyt rozbudowany, czyli posiada nadmierną liczbę reguł. Duża liczba reguł ogranicza możliwości interpretacji uzyskanych wyników oraz prowadzi do małego wsparcia reguł. Niska wartość współczynnika wsparcia reguły oznacza, że została ona wygenerowana dla małego podzbioru

przypadków, a to może poddawać w wątpliwość poprawność reguły. Dlatego też generując reguły powinno się szukać kompromisu pomiędzy dokładnością a złożonością systemu. Innym zjawiskiem związanym z generalizacją systemu jest efekt przeuczenia. Jest on bezpośrednio związany z istnieniem szumu w danych. Zjawisko przeuczenia polega na wyodrębnienie zbyt dokładnego zbioru reguł, które zaczynają odwzorowywać szum zawarty w danych. Zjawisko to jest bardzo niebezpieczne, dlatego też generując zestaw reguł należy kontrolować generalizację systemu. Najprostszą metodą oceny generalizacji jest tak zwany test krzyżowy polegający na kilkukrotnym podziale zbioru na dwie rozłączne części treningowa i testową, a następnie nauczeniu systemu na części treningowej oraz przetestowaniu na części testowej. Algorytm sekwencyjnego pokrywania Algorytm sekwencyjnego [2] pokrywania polega na generowaniu reguł tak, iż w pierwszym kroku generowana jest pierwsza z reguł, która pokrywa maksymalnie dużo przypadków z danej kategorii c i, a w kolejnym kroku poszukiwana dodawana jest nowa reguła, która pokrywa niepokryte dotychczas przypadki. Proces den odbywa się aż do momentu, gdy wszystkie przypadki są pokryte przez reguły, lub też do momentu, gdy akceptowalna liczba przypadków (z góry założona) jest niepoprawnie klasyfikowana. Schemat algorytmu sekwencyjnego pokrywania przedstawia Rys. 1 function sekwencyjnepokrywanie(d) D zbiór danych uczących D = [X y] R = ; P = D while P k = znajdźkompleks(d,p); w = kategoria(k,d,p); R = R {k->w}; P = P P k /P k zbiór wektorów pokrytych przez kompleks k end return R Rys. 1 Schemat algorytmu sekwencyjnego pokrywania Gdzie R- to zbiór reguł, funkcja znajdźkompleks() odpowiada za znajdywanie części warunkowej reguły (kompleksu), natomiast funkcja kategoria() odpowiada za przypisanie kategorii (etykiety) dla danego kompleksu, czyli konkluzję reguły. Cechą charakterystyczną algorytmu sekwencyjnego pokrywania jest to, iż każda kolejna reguła jest coraz bardziej szczegółowa, tzn pokrywa coraz mniej przypadków. Zdarza się, iż ostatnie z reguł pokrywają zaledwie kilka, lub w szczególnych przypadkach jeden wektor, co odpowiada niskiemu współczynnikowi wsparcia tak powstałej reguły. Istnieje szereg różnych algorytmów implementujących funkcję znajdźkompleks() szczegóły można znaleźć w [2]. Składają się one z dwóch koncepcji algorytmu określającego sposób poszukiwania kompleksu oraz odpowiedniej metody jego oceny (odpowiedniej heurystyki). Do realizacji tego drugiego zagadnienia zwykle używa się różnych współczynników statystycznych takich jak informacja wzajemna, czy też indeks Gini. Drzewa decyzji Drzewa decyzji [1,2] stanowią alternatywę dla algorytmów z rodziny sekwencyjnego pokrywania. Ich działanie polega na stopniowym podziale przestrzeni wejściowej na coraz mniejsza podprzestrzenie.

Korzysta się przy tym z koncepcji dziel i rządź. Takie podejście zapewnia niską złożoność obliczeniową algorytmu, co stanowi o dużej popularności drzew decyzji. Ogólnie koncepcję budowy drzewa można przedstawić jak na schemacie Rys. 2 function [t] = drzewo(d) [n p, n n ] = size(d) If (n p. > th) & (n n > th) [D L,D P, ] = Podziel(D); t = t { } Else L =określliść(d) t = t { L } return t end; t L = drzewo(d L ); t = t { t L } t P = drzewo(d P ); t = t { t P } return t; Rys. 2 Schemat budowy drzewa decyzji Proces budowy drzewa decyzji jest procesem rekurencyjnym. Rozpoczyna się od spełnienia czy dostarczone dane D pozwalają na stworzenie kolejnego węzła. Sprawdzenie to odbywa się przez analizę liczby wektorów należących do poszczególnych klas. Jeśli ich liczba jest mniejsza niż określony próg th (dla uproszczenia zakładamy problem binarny, w którym występują: klasa pozytywna i negatywna liczebności poszczególnych klas oznaczono odpowiednio n p, n n ) wówczas nowy węzeł definiowany jest jako liść i przypisywana jest mu odpowiednia kategoria.. Jeśli natomiast kryteria minimalnej liczebności są spełnione zbiór danych dzielony jest na rozłączne podzbiory za pomocą funkcji Podziel. Funkcja ta, w najprostszym przypadku, dokonuje przeszukania przestrzeni cech, analizując każdą zmienną z osobna, i próbując dokonać podziału (para zmienna + próg) na rozłączne części. W schemacie z Rys. 2 założono dwie rozłączne części, co powoduje że tworzone jest tak zwane drzewo binarne. W następnym kroku rozpoczyna się rekurencja po wszystkich podziałach zbioru danych Zadania Zad. 1. Ze strony podanej przez prowadzącego pobierz zbiór danych test1.csv a następnie wykorzystując oprogramowanie RapidMiner [5] oraz dodatek Weka zbuduj schemat jak na rysunku (Instrukcja dla programu RapidMiner dostępna jest w [6]): Rys. 3 Proces testowania zachowania algorytmu drzew decyzji oraz algorytmu sekwencyjnego pokrywania

Operatorem Read CSV wczytaj pobrany zbiór danych. Operator W-J48 stanowi implementację drzewa decyzji C4.5. Uruchom proces i zaobserwuj zbudowane drzewo. Wrysuj w poniższy rysunek przedstawiający zbiór danych granice podziału drzewa decyzji. Rys. 4 Rozkład punktów zbioru test1.csv Zamień uzyskane drzewo decyzji na odpowiadającą mu listę reguł. Dla każdej reguły wyznacz współczynnik wsparcia i ufności reguły. Zad. 2. Powtórz zadanie Zad 1, zamieniając operator W-J48 na algorytm indukcji reguł W-JRip. Operator ten stanowi implementację algorytmu Ripper indukcji reguł. Podobnie jak w zadaniu 1, dokonaj wizualizacji uzyskanych wyników poprzez wrysowanie uzyskanych reguł w wykres

Rys. 4. Zastanów się i odpowiedz na pytanie czy listę reguł zawsze można przedstawić w postaci drzewa. Jeśli tak, to dla uzyskanych wyników zaproponuj przekształcenie listy reguł w odpowiadające jej drzewo decyzji Dla każdej reguły wyznacz współczynnik wsparcia i ufności reguły. Zad. 3. Pobierz zbiory zadań test2.csv oraz test3.csv, a następnie dokonaj analizy dokładności zbudowanego drzewa i wpływu parametru confidence na dokładność oraz rozmiar drzewa (liczbe liści, liczbe węzłów i głębokość drzewa). Dla każdego ze zbiorów wykreśl wykres pokazujący zależność dokładność = f(liczba_węzłów). Skomentuj uzyskany wynik. Uwaga: Realizację zadania można uprościć poprzez wykorzystanie operatora Loop lub Loop parameters. Parametr Confidence przetestuj w zakresie [0.001-0.5] Zad. 4. Powtórz zadanie 3 dla algorytmu sekwencyjnego pokrywania i zarejestruj wpływ parametru N (minimal weights of instances). Parametr N przetestuj w zakresie (0.01-20) Zad. 5. Wyniki uzyskane z zadań 3 powtórz używając do oceny dokładności test krzyżowy. W tym celu zbuduj projekt jak na Rys. 5 Rys. 5 Proces w programie RapidMiner z wykorzystaniem testu krzyżowego

Podobnie jak w zadaniu 3 dokonaj rejestracji dokładności modelu w funkcji parametru Confidence. Zwróć uwagę, iż obecnie program ocenia dokładność na danych których nie używał do procesu uczenia. Nanieść uzyskany wykres na rysunek z zad. 3. Skomentuj uzyskane wyniki Zad. 6. Powtórz obliczenia z zad 4, jednak do estymacji dokładności skorzystaj z operatora Validation. Podobnie jak w zad 5. nanieś uzyskany wynik na wykres z zadania 4. Skomentuj uzyskane wyniki Zad. 7. Porównaj zestawy reguł będących wynikiem działania drzewa i algorytmu sekwencyjnego pokrywania. Skomentuj uzyskane wyniki (porównując uwzględnij liczbę przesłanek w regułach, liczbę reguł oraz dokładność)