Inteligencja Obliczeniowa Drzewa Decyzji.

Slides:



Advertisements
Podobne prezentacje
Data Mining w e-commerce
Advertisements

Algorytmy sortowania i porządkowania
Mechanizm wnioskowania rozmytego
Grażyna Mirkowska PJWSTK 15 listopad 2000
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
Wprowadzenie do optymalizacji wielokryterialnej.
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Generowanie drzew decyzyjnych dla dużych zbiorów danych
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Inteligencja Obliczeniowa Indukcja reguł - modele.
Inteligencja Obliczeniowa Sieci RBF.
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
Katedra Informatyki Stosowanej UMK
Uczenie konkurencyjne.
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Metody probabilistyczne.
Wykład 28 Włodzisław Duch Uniwersytet Mikołaja Kopernika
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Sieci o zmiennej strukturze.
Inteligencja Obliczeniowa Perceptrony
Inteligencja Obliczeniowa Feature Space Mapping.
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
CLUSTERING Metody grupowania danych Plan wykładu Wprowadzenie Dziedziny zastosowania Co to jest problem klastrowania? Problem wyszukiwania optymalnych.
pseudokody algorytmów
ZŁOŻONOŚĆ OBLICZENIOWA
ALGORYTMY GEOMETRYCZNE.
Szachy komputerowe. Ogólna idea silnika szachowego.
(ph,pv) oznaczają stopień aproksymacji wielomianowej w kierunkach x i y nrdof = ilość stopni swobody na elemencie = (ph+1)* (pv+1) CAŁKOWANIE NA POJEDYNCZYM.
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Inteligencja Obliczeniowa Klasteryzacja i uczenie bez nadzoru.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Wykład 2: Upraszczanie, optymalizacja i implikacja
Klasyfikacja Obcinanie drzewa Naiwny klasyfikator Bayes’a kNN
Klasyfikacja Sformułowanie problemu Metody klasyfikacji
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak Michał Kucal
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak Michał Kucal
Algorytm mini-max.
Algorytmy i struktury danych
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Geometria obliczeniowa Wykład 4
nieformalnie: Prawie o tym jak mierzyć zawartość cukru w cukrze...
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Marcin Jaruszewicz Jacek Mańdziuk
DMBO Branch and bound.
III EKSPLORACJA DANYCH
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
Seminarium licencjackie Beata Kapuścińska
Algorytmy i Struktury Danych
ALGORYTMY I STRUKTURY DANYCH WYKŁAD 03 cd. Wyszukiwanie Grażyna Mirkowska PJWSTK, 2003/2004.
WYKŁAD 06 Programowanie dynamiczne Grażyna Mirkowska.
Autor prezentacji: Mateusz Dudek
SZTUCZNA INTELIGENCJA
ALGORYTMY I STRUKTURY DANYCH
Metody Inteligencji Obliczeniowej Adrian Horzyk Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Systemy neuronowo – rozmyte
Perceptrony o dużym marginesie błędu
Metody sztucznej inteligencji
Perceptrony o dużym marginesie błędu
ALGORYTMY I STRUKTURY DANYCH
Sztuczna Inteligencja Gry i programy oparte na szukaniu
Inteligencja Obliczeniowa Perceptrony
ALGORYTMY I STRUKTURY DANYCH
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
Zapis prezentacji:

Inteligencja Obliczeniowa Drzewa Decyzji. Wykład 23 Włodzisław Duch Uniwersytet Mikołaja Kopernika

Co było Odkrywanie wiedzy metodami neuronowymi Stosowanie reguł Budowa systemu ekspertowego z odkrytych reguł

Co będzie Drzewa decyzji Testy i konstrukcje drzew Przycinanie drzew. CART, C 4.5, SSV Inne drzewa

DT - przykład rak zdrowy zdrowy rak Klasy: {rakowe, zdrowe} Cechy: ciało komórki: {cienie, paski} jądra: {1, 2}; ogonki: {1, 2} rak zdrowy zdrowy rak

Trudniejszy przykład

Ogólne własności Testy: podział pojedynczej cechy, lub kombinacji Drzewo decyzji: Ogólne => Szczegółowe węzeł - test atrybutu rozgałęzienie - wartość atrybutu lub podzbiór liście - przypisane do klas Testy: podział pojedynczej cechy, lub kombinacji Attrybut={wartośći} lub Attrybut < wartośći Kryteria: maksymalizacja ilości informacji, maksymalizacja liczby poprawnie podzielonych obiektów, „czystość” węzła Przycinanie: usuń gałęzie, które zawierają zbyt mało przypadków prostsze drzewo może lepiej generalizować oceń optymalną złożoność na zbiorze walidacyjnym. Kryterium stopu: osiągnięta dokładność podziałów, zbyt wiele gałęzi.

Generyczny algorytm TDIDT TDIDT - Top Down Iterative Decision Tree function DT(E: zbiór przykładów) returns drzewo; T' := buduj_drzewo(E); T := obetnij_drzewo(T'); return T; function buduj_drzewo(E: zbiór przyk.) returns drzewo; T := generuj_tests(E); t := najlepszy_test(T, E); P := podział E indukowany przez t; if kryterium_stopu(E, P) then return liść(info(E)) else for all Ej in P: tj := buduj_drzewo(Ej); return węzeł(t, {(j,tj)};

Wybór atrybutu Który atrybut powinien być najpierw? p+ i p- - proporcje w lewej i prawej gałęzi. Zbiór wektorów S Ile informacji zawiera dany podział ? Średnia l. bitów do zakodowania dowolnego wektora z S wynosi: Informacja dla czystych węzłów = 0; jest max dla najbardziej pomieszanych.

Przykład Obliczenia ilości informacji E:

Tworzenie drzewa Tworzenie drzewa: szukanie w przestrzeni hipotez. ID3 - podział w oparciu o zysk informacyjny. Lepsze mniejsze drzewo. Dość odporne na szum. Lokalne minima.

Granice decyzji Podział hierarchiczny na hiperprostokąty.

Drzewa proste i skośne

Granice skośne

Niestabilność DT

Brzytwa Ockhama Czemu preferować prostsze drzewa? Mało prostych hipotez, więc mała szansa, że przypadkiem pasują do danych. Proste drzewa nie powinny zbytnio dopasować się do danych. Przetrenowanie modelu dla zbyt złożonych drzew, zła generalizacja. Ale: Dla małych zbiorów o wielu atrybutach można tworzyć wiele prostych opisów danych.

Przetrenowanie Model H jest zbytnio dopasowany do danych (overfits) gdy: Istnieje model H’ taki, że: Błąd-treningowy(H) < Błąd-treningowy(H’) Błąd-testowy(H) > Błąd-testowy(H’) Zbyt szczegółowe wnioski przy dla danej populacji przypadków treningowych. Dokładność jako funkcja liczby węzłów drzewa. Wyniki mogą być gorsze niż dla klasyfikatora większościowego!

Przykład Przypadkowo dobrane 2 klasy. Niech klasa większościowa C1 ma p > 0.5 Klasyfikator większościowy robi (1-p) błędów. Przetrenowane drzewo ma: Np węzłów z klasy C1 N-Np z klasy C2. Drzewo przypisuje wektor X do klasy C1 z p i C2 z 1-p. Macierz rozrzutu: Prawd. błędu: Np. dla p=0.75 będzie 37.5% błędów dla przetrenowanego drzewa zamiast 25% dla większościowego.

Unikanie przetrenowanie Jak uniknąć przetrenowania i radzić sobie z szumem? Zakończ rozwijanie węzła jeśli jest zbyt mało danych by wiarygodnie dokonać podziału. Zakończ jeśli czystość węzłów (dominacja jednej klasy) jest większa od zadanego progu - forward pruning DT => drzewo prawd. klas. Utwórz drzewo a potem je przytnij (backward pruning) Przycinaj korzystając z wyników dla kroswalidacji lub dla zbioru walidacyjnego. Korzystaj z MDL (Minimum Description Length): Min Rozmiar(Drzewa) + Rozmiar(Drzewa(Błędów)) Oceniaj podziały zaglądając poziom (lub więcej) w głąb.

DT dla raka piersi

DT => reguły Zamień DT na reguły i uprość: łatwo ocenić, które reguły można usunąć i optymalizować pozostałe.

1R Algorytm: Dla każdego atrybutu A 1R: najprostsze drzewo (Holte 1993), niezłe rezultaty. Jeden poziom, atrybuty nominalne. Algorytm: Dla każdego atrybutu A dla każdej wartości atrybutu Ai: policz częstości występowania klas znajdź klasę C występującą najczęściej utwórz regułę: IF Ai THEN C Oblicz dokładność tej reguły. Wybierz reguły o największej dokładności. Wartość brakująca ? traktowana jest jak każda inna. Przykład - grać czy nie grać?

1R cd Podziel obszary na interwały i traktuje je jak nominalne. Jak traktować ciągłe wartości numeryczne? Podziel obszary na interwały i traktuje je jak nominalne. Dla każdego atrybutu A porządkuj przypadki zgodnie z wartościami tego atrybutu ustal granice przedziałów dla wartości, przy których zmienia się klasa mająca większość. Minimalizuje to liczbę błędów w algorytmie 1R. Przykład: temperatura i jej korelacja z decyzją gracza: By uniknąć szumu można wprowadzić minimalną liczbę danych/interwał: Uproszczone reguły

ID 3 Tylko do atrybutów nominalnych (nieuporządkowanych). ID3: Interactive dichotomizer version 3, pierwotnie CLS (Concept Learning System), R. Quinlan (1986) Tylko do atrybutów nominalnych (nieuporządkowanych). Dla atrybutów rzeczywistych: konieczna dyskretyzacja. Ocena podziałów - za pomocą zysku informacji, Gain(D,A) Podział węzła na kilka podgałęzi, dla różnych wartości A Preferencje: wszystkie hipotezy możliwe, ale te dla drzew o dużym zysku informacyjnym w pobliżu korzenia preferowane - lokalne minima. Brakowało przycinania i dyskretyzacji. Rozwinięcie ID3 => drzewo C4.5 i C5

C 4.5 Typowy algorytm TDIDT Testy: A=? dla nominalnych, R. Quinlan (1993), jedno z najbardziej popularnych DT Typowy algorytm TDIDT Testy: A=? dla nominalnych, A<t, dla t=(Ai+ Ai+1)/2 (wystarczy sprawdzić tylko te wartości, dla których zmienia się klasa) Ocena podziałów - za pomocą zysku informacji, Gain(D,A) Dla testu atrybutu A o k wynikach: Największy zysk dla największego k Informacja zawarta w podziałach. Końcowe kryterium C4.5.

NewID Lista bieżących przykładów D = E w korzeniu drzewa Algorytm: dane przykłady E, atrybuty A i klasy c=1..C Lista bieżących przykładów D = E w korzeniu drzewa Jeśli D ma czyste liście (przykłady z pojedynczej klasy) to zatrzymaj. Dla każdego węzła i jeszcze nie użytych atrybutów powtarzaj: jeśli dostępne atrybuty nie mają określonych wartości utwórz węzeł typu Konflikt else: oblicz maxj Gain(Aj,c); utwórz węzły potomne dzieląc Dk na podzbiory Końcowe drzewo jest zbytnio dopasowane. Drzewo do regresji: wybierz podział tak, by wariancja wewnątrz klas po podziale była jak najmniejsza:

NewID cd. Brakujące wartości ? i wartości obojętne * Jeśli niektóre A=? dla atrybutu binarnego w danych treningowych to węzłom potomnym przypisujemy wektory z A=T i A=N zgodnie z rozkładem a priori lub oceną Laplace’a: N(T) = (N(c,A=T)+1)/(N(c)+N(A)); N(A)=2, l. wartości A Dla testu ocena l. wszystkich wektorów, a nie tylko w klasie c Wartości * są powielane. Przycinanie: Ocena na zbiorze walidacyjnym, próg R (zwykle R=10): Jeśli poddrzewo TW poprawia o R% dokładność klasyfikacji węzła W to schodź niżej; else zamień W na liść. NewID używa podzbiorów, atrybutów porządkowych, w. ciągłych.

NewID regresja. Drzewo do regresji: klasy ciągłe C(X) Wybierz podział tak, by wariancja wewnątrz klas po podziale była jak najmniejsza: Kryterium stopu: nie rozwijaj węzła jeśli s(Dk) < ks(E).

CHAID Kryterium podziału atrybutu A jest test c2 CHi-squared Automatic Interaction Detection, jest w SPSS. Kryterium podziału atrybutu A jest test c2 Hipoteza: jeśli test A<A0 (lub A=A0) jest skorelowany z podziałem na klasę C i pozostałe to test c2 da małą wartość. Przykład: podział gatunków. Atrybut = dł. ogona. Tabela kontyngencji: Oczekiwane: eij= Nio x Ngj / N Rozkład c2 dla: Gatunek Długi Krótki Brak Suma N. ptaki n11 n21 n31 Ng1 N. gady n12 n22 n32 Ng2 N. ssaki n13 n23 n33 Ng3 N. ryby n14 n24 n34 Ng4 N1o N2o N k=(Nio-1) x (Ngj -1) stopni swobody.

CART Classification and Regression Trees (Breiman 1984). Kryterium podziału: indeks Gini; w danym węźle pc określa procent wektorów z klasy c; czystość węzła można zmierzyć za pomocą: Kryterium stopu: MDL, złożoność drzewa + informacja w liściach

SSV Kryterium separowalności par danych z różnych klas. Oddziel maksymalnie dużo par z różnych klas. Jeśli różne podziały dają to samo minimalizuj l. podziałów wewnątrz klasy Kryterium: Proste kryterium, różne metody obcinania drzewa, dobre wyniki.

SSV - przykład Drzewo dla chorób tarczycy. Atrybut TT4: czerwone - l. błędów; zielone - l. par prawidłowo podzielonych; niebieskie - l. podzielonych par tej samej klasy (druga cześć kryterium).

Ocena i wyniki Zalety: Problemy z DT: DT: szybkie i proste. Zalety: Zwykle bardzo dobre wyniki w porównaniu z innymi klasyfikatorami. Łatwe w użyciu, prawie nie mają parametrów do ustawiania. Dane nominalne lub numeryczne. Zastosowania: klasyfikacja i regresja. Prawie wszystkie pakiety Data Mining mają drzewa decyzji. Problemy z DT: mało danych, duża liczba ciągłych cech; niższe partie drzewa mają b. mało danych, przypadkowe podziały; nie wszystkie koncepcje dają się dobrze ująć za pomocą DT, np. „większość jest za”.

Idee Wiele usprawnień. Drzewa wieloczynnikowe: skośne granice decyzji; drzewa sieci neuronowych; rekursywny podział za pomocą LDA lub FDA Kryteria podziału: informacja w pobliżu korzenia, dokładność w pobliżu liści. przycinanie na podstawie reguł - działa również przy korzeniu; Komitety drzew: wielokrotne uczenie na randomizowanych danych (boosting) uczenie z różnymi parametrami obcinania Drzewa rozmyte

Koniec wykładu 23 Dobranoc !