3.2 Wykorzystanie drzew do generowania pytań

Podobne dokumenty
Co to są drzewa decyzji

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

4.3 Grupowanie według podobieństwa

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy klasyfikacji

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

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Drzewa decyzyjne. 1. Wprowadzenie.

Tadeusz Pankowski

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

Sortowanie bąbelkowe

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

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

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

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 ;

Sposoby przedstawiania algorytmów

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

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

Instrukcje dla zawodników

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

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

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

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

Drzewa decyzyjne i lasy losowe

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

Podstawy Informatyki. Metody dostępu do danych

Indukowane Reguły Decyzyjne I. Wykład 8

Algorytmy klasyfikacji

Indukowane Reguły Decyzyjne I. Wykład 3

Systemy ekspertowe : program PCShell

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Systemy uczące się wykład 1

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych

Struktury Danych i Złożoność Obliczeniowa

Drzewa podstawowe poj

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

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

10. Wstęp do Teorii Gier

0-0000, , , itd

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

Wysokość drzewa Głębokość węzła

Przykładowe B+ drzewo

Programowanie dynamiczne i algorytmy zachłanne

7a. Teoria drzew - kodowanie i dekodowanie

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

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Definicje wyższego poziomu

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Klasyfikacja. Indeks Gini Zysk informacyjny. Eksploracja danych. Klasyfikacja wykład 2

Aproksymacja funkcji a regresja symboliczna

Sztuczna Inteligencja Projekt

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

Wstęp do programowania

PODSTAWY STATYSTYCZNEGO MODELOWANIA DANYCH. Wykład 6 Drzewa klasyfikacyjne - wprowadzenie. Reguły podziału i reguły przycinania drzew.

Abstrakcyjne struktury danych - stos, lista, drzewo

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Programowanie i techniki algorytmiczne

Drzewa czerwono-czarne.

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

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

Paradygmaty dowodzenia

Wprowadzenie do uczenia maszynowego

Podstawy sztucznej inteligencji

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Wykład 3. Metoda dziel i zwyciężaj

Algorytmy zachłanne. dr inż. Urszula Gałązka

Język ludzki kod maszynowy

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI 2016 ROK

Metoda list prostych Wykład II. Agnieszka Nowak - Brzezińska

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Języki i metody programowania

Funkcje i instrukcje języka JavaScript

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

Metody systemowe i decyzyjne w informatyce

Agnieszka Nowak Brzezińska Wykład III

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Hierarchiczna analiza skupień

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

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

Algorytmy i struktury danych

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

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

Listy, kolejki, stosy

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Temat lekcji: Dzielniki, wielokrotności, podzielność liczb naturalnych.

Transkrypt:

Algorithm 3.2 Schemat prostego przycinania drzewa function przytnij_drzewo( T: drzewo do przycięcia, P: zbiór_przykładów) returns drzewo decyzyjne begin for węzły n drzewa T: T* = w drzewie T zastąp n liściem l z etykietą większościowej kategorii if ( błąd_szacowany(t*,p) <= błąd_szacowany(t,p)) return T then T = T* end Źródło: Paweł Cichosz, Systemy uczace sie [3] Szacowanie na podstawie przykładów trenujących do obliczania współczynnika błędu wykorzystywany jest zbiór przykładów. Generuje to gorsze rezultatu, jednak przy dosyć małych zbiorach przykładów takie rozwiązanie może być konieczne. 3.2 Wykorzystanie drzew do generowania pytań 3 2 1 Rozpoznawanie obiektów poprzez zadawanie pytań Rozpoznawanie obiektów poprzez zadawanie pytań przypomina nieco grę w 20 pytań. Dawniej była to popularna zabawa towarzyska. Gracz, w tym przypadku system informatyczny ma zadanie rozpoznać obiekt. Może zadawać dowolne pytania dotyczące cech obiektu umieszczonego na fotografii. Aplikacja powinna potrafić jak najszybciej podać prawidłową odpowiedź, co za tym idzie zadać jak najmniejszą liczbę pytań. Tylko jak taki cel osiągnąć? Wybór optymalnej sekwencji nie jest rzeczą prostą. W poprzednich rozdziałach analizie zostało poddane standardowe podejście ludzi do rozpoznawania obiektów, istnieją jednak alterantywne rozwiązania tego problemu. W latach sześćdziesiątych XX wieku polska telewizja nadwała jeden z pierwszych teleturniejów: grę w 20 pytań. W programie uczestniczyły dwie trzyosobowe drużyny o zmiennym składzie. Jedną drużynę stanowili matematycy, w skład drugiej wchodzili dziennikarzy. Drużyny miały za zadanie odgadnąć hasło przedmiot lub pojęcie znane pre- 42

zenterowi i widzom. Każda z drużyn mogła zadać prezenterowi co najwyżej 20 pytań, na które można odpowiedzieć tak lub nie. Po jakmiś czasie gra straciła sens i została usunięta z anteny. Przyczyną była strategia stosowana przez matematyków, oparta o algorytm przeszukiwania połówkowego. Drużyna zadawała kolejne pytania w postaci: czy hasło występuje w Wielkiej Encyklopedii Powszechnej przed słowem X? Przy pierwszym pytaniu wybierano hasło znajdujące się w połowie listy haseł, w drugim natomiast w przypadku odpowiedzi twierdząch, hasło znajdujące się w jednej czwartej listy. Dalej postępowano analogicznie dzieląc pulę słów na połowę. Wyszukiwanie binarne jest algorytmem opierającym się na metodzie dziel i zwyciężaj. W czasie logarytmicznym stwierdza, czy szukany element znajduje się w uporządkowanej tabeli. Np. jeśli lista haseł w encyklopedii zawiera milion elementów, stosując algorytm oparty o wyszukiwanie binarne gracz musi sprawdzić maksymalnie 20 pozycji. Schemat ten nie wymaga rozumienia żadnego pojęcia, o które się pyta, jest to rozwiązanie czysto algorytmiczne. Jednak w przypadku analizowanego systemu do rozpoznawania obiektów nie ma zastosowania praktycznego. Jednak łącząc dwa elementy, czyli wiedzę o obiektach oraz dobry algorytm wyboru pytań, powinnismy otrzymać system dobrze radzący sobiez postawionym przed nim problemem. 3 2 2 Drzewo jako reprezentacja sekwencji pytań 3.2.2.1 Klasyczne drzewa decyzyjne W tabeli 2.2 znajdują się przykładowe pytania. Gra dotyczyła psa o rasie: Samoyed. Pies został w tym scenariuszu rozpoznany po zadaniu czterech pytań. Pytania dotyczyły kilku cech anatomicznych psa. Taką sekwencję pytań można zapisać w formacie drzewa. Każde pytanie jest węzłem, wartości atrybutów są w tym przypadku gałęziami. W liściach takiego drzewa powinny znaleźć się rasy psów. Pytanie Odp. It has straight or curly hair shape? straight How many color has it hair? one Is it large, medium or small? medium Is is Samoyed? yes Tablica 3.1: Przykładowe pytania o rasę Samoyed Źródło: Opracowanie własne 43

3.2.2.2 Binarne drzewa decyzyjne Pytanie Odp. Większość gier słowynych zakłada zadawanie pytań z odpowiedziami typu prawda Is muzzle length short? false i fałsz. W tabeli 3.2 znajdują się przykładowe Is ears size medium? true pytania. Gra dotyczyła psa o rasie: Is hair to short to check shape? true Dalmation. Dalmatyńczyk został w tym Has hair three colors? true scenariuszu rozpoznany po zadaniu pięciu Is ears type fallen? true pytań. Pytania również dotyczyły kilku Is it Dalmation? true cech anatomicznych psa. Taką sekwencję Tablica 3.2: Przykładowe pytania o rasę Dalmation Źródło: Opracowanie własne intuicyjnie można zapisać w postaci binarnego drzewa decyzyjnego. Binarne drzewo decyzyjne jest szczególnym przypadkiem drzewa decyzyjnego. Z danego wierzchołka mogą wychodzić co najwyżej dwie gałęzie. Każde pytanie dotyczy poszczególnych wartości atrybutów obiektu. W tym przypadku drzewo będzie miało uproszczoną postać zaprezentowaną na rysunku 3.1. 3.2.2.3 Konstrukcja klasycznego drzewa decyzyjnego na przykładzie Cecha Wartość hair shape 0.3939 hair colors 0.3882 ears size 0.3313 height 0.3218 hair length 0.2961 Tablica 3.3: Wartościowanie testów na podstawie przytostu informacji Źródło: opracowanie własne pięciu najlepszych atrybutów. Przykład budowania drzewa zostanie omówiony na danych: psy_29.csv. Konstrukcję drzewa rozpoczynamy od wyboru algorytmu budowy. Musimy między innym wybrać sposób oceny testów, oparty np. o przyrost informacji lub o współczynnik przyrostu informacji. W następnym kroku wybieramy atrybut o największej wartości funkcji oceny. Ta cecha będzie stanowiła korzeń nowo budowanego drzewa. Tabele 3.3 i 3.4 zawierają obliczone wartości, dla 44

Rysunek 3.1: Drzewo decyzyjne reprezentujące pytania o rasę Dalmation Źródło: Opracowanie własne 45

Rysunek 3.2: Etap I konstrukcji drzewa decyzji Źródło: opracowanie własne Cecha Wartość Na ich podstawie, niezależnie od kryterium wyboru testów, pierwszym elementem w drzewie powinien być węzeł testu- hair shape 1.9135 hair colors 1.8858 jący wartości atrybutu hair shape. Następnie dla każdej możliwej wartości, do- ears size 1.6093 height 1.5632 dawana jest nowa gałąź etykietowana nazwą hair length 1.4386 wartości. Do utworzonych w ten spo- Tablica 3.4: Wartościowanie testów na podstawie współczynnika przytostu informacji Źródło: Opracowanie własne sób poddrzew trafiają odpowiednie rasy psów, które spełniają warunki testów: zawierają atrybut hair shape o danej wartości. Pierwszy etap budowy przedstawia rysunek 3.2. Podsumowując, pierwsze pytanie powinno dotyczyć kształtu sierści i w zależności od odpowiedzi, system powinien trafić po odpowiedniej gałęzi do nowego węzła. Procedurę opisaną w poprzednim akapicie powtarzamy rekurencyjnie dla każdego otrzymanego w ten sposób poddrzewa. Jako kryterium stopu należy przyjąc otrzymanie pojedyńczej rasy w węźle lub też brak atrybutów do dalszego zadawania pytań. W rezultacie otrzymujemy drzewa modelujące odpowiednie pytania zaprezentowane na rysunkach 3.3 oraz 3.4. 46

Rysunek 3.3: Drzewo decyzyjne, wartościowanie: przyrost informacji 47

Rysunek 3.4: Drzewo decyzyjne, wartościowanie: przyrost informacji 48

3.2.2.4 Konstrukcja binarnego drzewa decyzyjnego na przykładzie Przykład budowania drzewa zostanie omówiony na danych: psy_29.csv. Konstrukcja drzewa binarnego nieznacznie różni się od budowy klasycznego drzewa. Przed rozpoczęciem konstrukcji należy przeprowadzić dodatkowy etap, polegający na analizie i przekształceniu danych. Większość atrybutów nie ma wartości binarnych. Przykładowo cecha height przyjmuje następujące wartości: small, medium, large. W takiej sytuacji należy zastąpić dotychczasowe atrybuty, cechami binarnymi. Najprościej przyjąć, że każda unikalna wartość atrybutu będzie traktowana jak zupełnie nowy atrybut o dwóch wartościach: 0 i 1. Nazwa takiej nowo utworzonej cechy powinna być połączeniem nazw wartości i cechy. Po stworzeniu nowej bazy atrybutów należy przeanalizować dane. Jeżeli analizowany obiekt posiada cechę o danej wartośći, nowy atrybut przyjmuje wartość 1, w przeciwnym wypadku 0. Na tak przetworzonych danych można zastosować standardowy algorytm budowania drzewa zaprezentowany w tym rozdziale. W rezultacie otrzymujemy drzewo zaprezentowane na rysunku 3.5. 3 2 3 Wady stosowania drzew decyzyjnych Stosowanie drzew decyzyjnych nie jest pozbawione wad. Do najważniejszych ograniczeń możemy zaliczyć: testuje się wartości jednego atrybutu, co powoduje nadmierny rozrost drzewa w przypadku, kiedy atrybutu zależą od siebie[3] kosztowna reprezentacja alternatyw warunków w przeciwieństwie do koniunkcji reprezentowanej poprzez pojedyńczą ścieżkę[3] problematyczne inkrementacyjne aktualizowanie drzewa [3] W przypadku generowania pytań bardzo istotny jest problem z reprezentacją alternatyw warunków. Dane pozyskiwane w sposób automatyczny mogą zawierać błędy. W opisach przygotowywanych przez ludzi, także mogą pojawić się pomyłki. Dodatkowo użytkownicy systemy 49

Rysunek 3.5: Binarne drzewo decyzyjne, wartościowanie: przyrost informacji 50

mogą podawać błędne odpowiedzi na pytania. Takie sytuacje powinny być przewidziane w modelu. Jedna pomyłka może wprowadzić system do niewłaściwego poddrzewa. Istnieje kilka możliwych sposobów na radzenie sobie z takimi sytuacjami. Najprostsza metoda zakłada, że obiekt jest odfiltrowywany tylko w przypadku niezaliczenia kilku testów, a nie jak dotychczas z powodu wyniku jednego testu. Jednak powoduje to znaczny rozrost drzewa. Inną możliwością jest zaproponowanie użytkownikowi najbardzie podobnych obiektów w przypadku błędnej próby zgadnięcia rasy. Podobieństwa mogą być obliczane na wiele różnych sposobów. Alternatywnym rozwiązaniem może być stosowanie różnego rodzaju form akwizycji danych, w celu zapewnienia ich lepszej jakości. 3.3 Propabilistyczny model akwizycji Dane bartka częstości aktualne wzory na liczenie funkcja oceny?? 51