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 Predykcja, wnioskowanie dedukcyjne Dane
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.
Drzewo decyzyjne Węzły (podziały) korzeń Liście (klasy docelowe) Konstrukcja drzewa Kryterium stopu (węzeł czy liść) Wybór testu (podziału)
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)
Zadane kryteria stopu: Minimalna liczba przykładów w węźle Minimalna liczba przykładów w liściu Maksymalna głębokość drzewa Maksymalna czystość klas w liściu Minimalny przyrost informacji po podziale
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 a(x) = v t(x) = 0 a(x) v
Rodzaje testów: testy przynależnościowe 1 a(x) V t(x) = 0 a(x) / V testy podziałowe t(x) = 1 a(x) V 1 2 a(x) V 2... k a(x) V k
Rodzaje testów: testy nierównościowe 1 a(x) < v t(x) = 0 a(x) v
Wybór podziału: Entropia - miara ilości informacji E = C i X log C i X C i - przykłady danej klasy X - Wszystkie przykłady w węźle Przyrost informacji E = E E T, E T - średnia ważona entropii po podziale minimalizujac E T maksymalizujemy E
Wybór podziału: Indeks Giniego gini(x) = 1 ( C i X )2 przyjmuje wartości [0, 1] gini = 0 oznacza, że wszystkie obiekty należa do tej samej klasy przyrost informacji - analogicznie do entropii
Ocena jakości drzewa rozmiar (preferujemy mniejsze drzewa) mała liczba węzłów mała liczba liści lub mała wysokość drzewa dokładność klasyfikacji (odsetek błędów) na zbiorze trenujacym na zbiorze testowym (!)
Nadmierne dopasowanie Model h 1 jest nadmiernie dopasowany do zbioru trenujacego T jeśli istnieje takie h 2, że h 1 jest lepszy niż h 2 na zbiorze T h 2 jest lepszy niż h 1 na zbiorze rzeczywistym mniejsze drzewa maja mniejsze ryzyko nadmiernego dopasowania
Przycinanie poddanie drzewa zabiegowi redukcji już po jego zbudowaniu zastapienie poddrzewa liściem
Przycinanie Co musimy wiedzieć? kolejność przycinanie od dołu pozwala nanosić łagodne zmiany Kryterium przycinania
Kryteria przycianiania redukcja błędu (ang. Reduced Error Pruning) zastępujemy poddrzewo liściem, kiedy bład po przycięciu jest taki sam albo mniejszy: e(l) e(w) wymagany osobny zbiór przykładów do przycinania minimalizacja błędu (ang. Minimal Error Pruning) m-estymacja błędów w liściu ê = 1 C i +m p X +m propagacja w górę (średnia ważona)
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 węź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łędu klasyfikacji) generowanie podziałów na podstawie jednego z wcześniej wylosowanych atrybutów predykcja przez głosowanie większa 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) = P(h)P(D h) P(D) niech h c = d otrzymujemy D a 1 = v 1, a 2 = v 2,..., a k = v k P(c = d a 1 = v 1, a 2 = v 2,..., a k = v k ) = = P(c = d)p(a 1 = v 1, a 2 = v 2,..., a k = v k c = d) P(a 1 = v 1, a 2 = v 2,..., a k = v k ) = ( )
Naiwny klasyfikator Bayesa Zauważmy, że mianownik nie zależy od atrybutu docelowego, pozbadźmy się go dla uproszczenia: ( ) P(c = d)p(a 1 = v 1, a 2 = v 2,..., a k = v k c = d) = ( ) Przyjmijmy jeszcze, że a i i a j sa niezależne dla i j, wtedy: i j P(a i = v i, a j = v j ) = P(a i = v i ) P(a j = v j ) k ( ) = P(c = d) P(a i = v i c = d) i=1
Naiwny klasyfikator Bayesa Predykcja k Pr(x) = argmax d C [P(c = d) P(a i = a i (x) c = d)] 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. i=1
Literatura Daniel T. Larose, Discovering knowledge in data Tadeusz Morzy, Eksploracja danych: metody i algorytmy Paweł Cichosz, Systemy uczace się
Dziękuję za uwagę.