Algorytmy klasyfikacji - Politechnika Warszawska
Transkrypt
Algorytmy klasyfikacji - Politechnika Warszawska
Algorytmy klasyfikacji Konrad Miziński Instytut Informatyki Politechnika Warszawska 6 maja 2015 1 Wnioskowanie 2 Klasyfikacja Zastosowania 3 Drzewa decyzyjne Budowa Ocena jakości Przycinanie 4 Lasy losowe 5 Metoda najbliższych sasiadów ˛ 6 Naiwny klasyfikator Bayesa Wnioskowanie Wnioskowanie Dziedzina (populacja) zbiór danych (podzbiór dziedziny) przykłady atrybuty (funkcja, która każdemu przykładowi z dziedziny przyporzadkowuje ˛ wartość) ciagłe ˛ dyskretne atrybut docelowy (!) Wnioskowanie Dane ↓ wnioskowanie indukcyjne Wiedza - pozwala nam coś powiedzieć o nowych przykładach z tej samej dziedziny ↓ Model - wiedza w reprezentacji obliczeniowej ↓ Dane Predykcja, wnioskowanie dedukcyjne Klasyfikacja Klasyfikacja Wiedza o tym jak przynależność do pewnych kategorii (klas) zależy od atrybutów. Model postaci h : X → C - skonstruowany na podstawie podzbioru gdzie c ∈ C jest znane. pozwala wyznaczyć c dla całej dziedziny X . W praktyce wybrany atrybut reprezentuje kategorie. Zastosowania Zastosowania Automatyczne diagnozowanie pacjentów. Segmentacja klientów. Wspomaganie decyzji kredytowych. Filtrowanie spamu. Drzewa decyzyjne Drzewa decyzyjne Drzewo decyzyjne Wezły ˛ (podziały) korzeń Liście (klasy docelowe) Konstrukcja drzewa Kryterium stopu (wezeł ˛ czy liść) Wybór testu (podziału) Drzewa decyzyjne Ostateczne kryterium stopu (na pewno liść): Zbiór zawiera przykłady tylko jednej klasy Brak możliwości podziału (np. takie same atrybuty, a różne klasy) Zbiór pusty (w przypadku podziałów niebinarnych) Drzewa decyzyjne Zadane kryteria stopu: Minimalna liczba przykładów w weźle ˛ Minimalna liczba przykładów w liściu Maksymalna głebokoś ˛ ć drzewa Maksymalna czystość klas w liściu Minimalny przyrost informacji po podziale Drzewa decyzyjne Rodzaje testów: testy tożsamościowe, t(x) = a(x) atrybut jest testem - tyle podziałów ile możliwych wartości atrybutu testy równościowe 1 t(x) = 0 a(x) = v a(x) 6= v Drzewa decyzyjne Rodzaje testów: testy przynależnościowe 1 t(x) = 0 a(x) ∈ V a(x) ∈ /V testy podziałowe 1 2 t(x) = ... k a(x) ∈ V1 a(x) ∈ V2 a(x) ∈ Vk Drzewa decyzyjne Rodzaje testów: testy nierównościowe 1 t(x) = 0 a(x) < v a(x) ≥ v Drzewa decyzyjne Wybór podziału: Entropia - miara ilości informacji E=− X |Ci | |X | log |Ci | |X | Ci - przykłady danej klasy X - Wszystkie przykłady w weźle ˛ Przyrost informacji ∆E = E − ET , ET - średnia ważona entropii po podziale minimalizujac ˛ ET maksymalizujemy ∆E Drzewa decyzyjne Wybór podziału: Indeks Giniego gini(X ) = 1 − X |Ci | ( )2 |X | przyjmuje wartości ∈ [0, 1] gini = 0 oznacza, że wszystkie obiekty należa˛ do tej samej klasy przyrost informacji - analogicznie do entropii Drzewa decyzyjne Ocena jakości drzewa rozmiar (preferujemy mniejsze drzewa) mała liczba wezłów ˛ mała liczba liści lub mała wysokość drzewa dokładność klasyfikacji (odsetek błedów) ˛ na zbiorze trenujacym ˛ na zbiorze testowym (!) Drzewa decyzyjne Nadmierne dopasowanie Model h1 jest nadmiernie dopasowany do zbioru trenujacego ˛ T jeśli istnieje takie h2 , że h1 jest lepszy niż h2 na zbiorze T h2 jest lepszy niż h1 na zbiorze rzeczywistym mniejsze drzewa maja˛ mniejsze ryzyko nadmiernego dopasowania Drzewa decyzyjne Przycinanie poddanie drzewa zabiegowi redukcji już po jego zbudowaniu zastapienie ˛ poddrzewa liściem Drzewa decyzyjne Przycinanie Co musimy wiedzieć? kolejność przycinanie od dołu pozwala nanosić łagodne zmiany Kryterium przycinania Drzewa decyzyjne Kryteria przycianiania redukcja błedu ˛ (ang. Reduced Error Pruning) zastepujemy ˛ poddrzewo liściem, kiedy bład ˛ po przycieciu ˛ jest taki sam albo mniejszy: e(l) ≤ e(w) wymagany osobny zbiór przykładów do przycinania minimalizacja błedu ˛ (ang. Minimal Error Pruning) b =1− m-estymacja błedów ˛ w liściu e propagacja w góre˛ (średnia ważona) |Ci |+mp |X |+m Drzewa decyzyjne Kryteria przycianiania Przycinanie z parametrem złożoności (ang. Cost-complexity Pruning) warunek: e(l) ≤ e(w)+α·|w| α - parametr złożoności |w| - liczba podziałów w weźle ˛ w Płynnie przesuwajac ˛ parametr α otrzymujemy ciag ˛ drzew, w którym każde kolejne jest naddrzewem poprzedniego. reguła 1 odchylenia standardowego Lasy losowe Lasy losowe: przykład modelowania zespołowego pewna liczba drzew decyzyjnych losowe zaburzenie algorytmu bagging przykładów (nieobcia˛żony estymator błedu ˛ klasyfikacji) generowanie podziałów na podstawie jednego z wcześniej wylosowanych atrybutów predykcja przez głosowanie wieksza ˛ stabilność i jakość klasyfikacji Metoda najbliższych sasiadów ˛ Metoda najbliższych sasiadów ˛ leniwe podejście do klasyfikacji bardzo prosta klasa decyzyjna taka jak wśród k najbliższych przykładów wymaga określenia miary niepodobieństwa Naiwny klasyfikator Bayesa Twierdzenie Bayesa: P(h|D) = niech P(h)P(D|h) P(D) h→c=d D → a1 = v1 , a2 = v2 , ..., ak = vk otrzymujemy P(c = d|a1 = v1 , a2 = v2 , ..., ak = vk ) = = P(c = d)P(a1 = v1 , a2 = v2 , ..., ak = vk |c = d) = (∗) P(a1 = v1 , a2 = v2 , ..., ak = vk ) Naiwny klasyfikator Bayesa Zauważmy, że mianownik nie zależy od atrybutu docelowego, pozbadźmy ˛ sie˛ go dla uproszczenia: (∗) ∼ P(c = d)P(a1 = v1 , a2 = v2 , ..., ak = vk |c = d) = (∗∗) Przyjmijmy jeszcze, że ai i aj sa˛ niezależne dla i 6= j, wtedy: ∀i 6= j P(ai = vi , aj = vj ) = P(ai = vi ) · P(aj = vj ) (∗∗) = P(c = d) k Y i=1 P(ai = vi |c = d) Naiwny klasyfikator Bayesa Predykcja Pr(x) = argmaxd∈C [P(c = d) k Y P(ai = ai (x)|c = d)] i=1 ”Naiwne” założenie o niezależności atrybutów. Mimo wszystko wszystko całkiem niezłe wyniki klasyfikacji. Po przeskalowaniu możliwość predykcji prawdopodobieństw atrybutu docelowego. Literatura Daniel T. Larose, Discovering knowledge in data Tadeusz Morzy, Eksploracja danych: metody i algorytmy Paweł Cichosz, Systemy uczace ˛ sie˛ Dziekuj ˛ e˛ za uwage. ˛