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.
˛