Drzewa klasyfikacyjne

advertisement
Politechnika Warszawska
Wydział Matematyki i Nauk Informacyjnych
PRACA DYPLOMOWA MAGISTERSKA
MATEMATYKA
DRZEWA KLASYFIKACYJNE
ICH BUDOWA, PROBLEMY ZŁOŻONOŚCI
I SKALOWALNOŚCI
Autor:
Mariusz Gromada
Promotor:
Prof. dr hab. Jacek Koronacki
WARSZAWA, STYCZEŃ 2006
......................
Podpis promotora
......................
Podpis dyplomanta
Spis treści
Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1. Analiza dyskryminacyjna . . . . . . . . . . . . . . . .
1.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . .
1.2. Problem skal pomiarowych . . . . . . . . . . . . . .
1.3. Model klasyfikacyjny . . . . . . . . . . . . . . . . . .
1.3.1. Zbiór przykładów i pojęcie atrybutu . . . . .
1.3.2. Rodzina obserwacji . . . . . . . . . . . . . . .
1.3.3. Warstwa przykładu i przestrzeń obiektów . .
1.3.4. Warstwa klasy i pojęcie docelowe . . . . . . .
1.3.5. Rozkłady a priori i a posteriori . . . . . . . .
1.3.6. Przestrzeń ucząca . . . . . . . . . . . . . . .
1.3.7. Reguła dyskryminacyjna i przestrzeń hipotez
1.3.8. Odległość w przestrzeni hipotez . . . . . . . .
1.3.9. Problem dyskryminacyjny . . . . . . . . . . .
1.4. Reguła Bayesa . . . . . . . . . . . . . . . . . . . . .
1.4.1. Klasyfikator bayesowski . . . . . . . . . . . .
1.4.2. Optymalność reguły bayesowskiej . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
6
7
7
8
9
11
12
13
14
15
16
17
17
17
2. Drzewa klasyfikacyjne . . . . . . . . . . . . .
2.1. Wprowadzenie . . . . . . . . . . . . . . . .
2.2. Struktura drzewa . . . . . . . . . . . . . . .
2.3. Drzewo jako hipoteza . . . . . . . . . . . . .
2.4. Metody konstrukcji drzew . . . . . . . . . .
2.4.1. Konstrukcja testów . . . . . . . . . .
2.4.2. Kryteria jakości podziałów . . . . .
2.4.3. Kryterium stopu i reguła decyzyjna
2.4.4. Zstępująca konstrukcja drzewa . . .
2.5. Problem nadmiernego dopasowania . . . . .
2.5.1. Schemat przycinania . . . . . . . . .
2.5.2. Przycinanie MDL . . . . . . . . . . .
2.6. Zalety i ograniczenia drzew klasyfikacyjnych
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
23
24
24
26
29
30
30
30
31
34
3. Klasyfikator SLIQ . . . . . .
3.1. Wprowadzenie . . . . . .
3.2. Struktury danych . . . . .
3.3. Sortowanie wstępne . . . .
3.4. Pozioma strategia wzrostu
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
35
36
37
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
SPIS TREŚCI
4. Klasyfikator SPRINT . . . .
4.1. Wprowadzenie . . . . . .
4.2. Metoda podstawowa . . .
4.3. Metoda zrównoleglona . .
4.4. Porównanie klasyfikatorów
SPIS TREŚCI
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
SPRINT i SLIQ
5. Implementacja klasyfikatora SLIQ .
5.1. Wprowadzenie . . . . . . . . . . .
5.2. Środowisko uruchomieniowe . . . .
5.3. Analiza wyników . . . . . . . . . .
5.3.1. Skalowalność SLIQ . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
41
43
44
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
45
45
45
45
47
i miara
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
54
55
56
57
B. Teoria grafów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1. Grafy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2. Drzewa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
59
60
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A. Topologia, prawdopodobieństwo
A.1. Przestrzeń topologiczna . . . .
A.2. σ-ciało i σ-ciało zbiorów Borela
A.3. Miara i miara probabilistyczna
A.4. Funkcje mierzalne . . . . . . .
.
.
.
.
.
.
.
.
.
.
Wstęp
Temat pracy dotyczy problemu dyskryminacji oraz budowy drzew klasyfikacyjnych w kontekście ich przydatności do rozwiązywania zadań o dużym wymiarze prób losowych i/lub
dużym wymiarze wektora obserwacji, w których podstawowego znaczenia nabiera złożoność
obliczeniowa drzewa. Radzenie sobie z dużymi zbiorami danych wymaga konstrukcji specjalnych technik sortowania danych w trakcie budowy drzewa, kodowania, organizacji wzrostu
i przycinania drzewa. Wymaga także zrównoleglenia obliczeń. Przedmiotem pracy jest sformułowanie modelu analizy dyskryminacyjnej oraz analiza możliwych rozwiązań podanych
zagadnień, wraz z implementacją jednego z nich. Autorskim wkładem do pracy są rozdziały
1, 2 oraz 5.
W pierwszym rozdziale omawiam problem dyskryminacji pod nadzorem, nazywanej analizą
dyskryminacyjną. Autorskim wkładem jest wprowadzenie formalnego modelu klasyfikacyjnego osadzonego w przestrzeni probabilistycznej wraz z twierdzeniami o numerach: 1.3.1, 1.3.2,
1.4.1.
Rozdział drugi poświęcony jest budowie drzew klasyfikacyjnych. Szczególną uwagę zwracam
na problem złożoności i skalowalności. Autorskim wkładem jest wprowadzenie formalnej definicji drzewa klasyfikacyjnego w oparciu o podstawy teorii grafów oraz o model klasyfikacyjny
przedstawiony w rozdziale pierwszym. Podaję oraz dowodzę twierdzenia: 2.4.1 i 2.3.1. Dodatkowo omawiam nowatorską technikę przycinania drzew wykorzystującą zasadę minimalnej
długości kodu, MDL (M. Mehta, J. Rissanen, R. Agrawal, 1995).
W rozdziale trzecim i czwartym skupiam się na przedstawieniu indukcji drzew decyzyjnych
metodą SLLIQ (M. Mehta, R. Agrawal, J. Rissanen, 1996) oraz SPRINT (J.C. Shafer, R.
Agrawal, M. Mehta, 1996).
Rozdział piąty prezentuje implementację klasyfikatora SLIQ wraz z implementacją przycinania drzew metodą MDL. Implementację przeprowadziłem we współpracy z Instytutem
Podstaw Informatyki Polskiej Akademii Nauk w ramach rozwoju pakietu „dmLab”. Tekst
rozdziału zawiera również analizę złożoności czasowej i skalowalności implementacji.
Pracę kończą dodatki A i B, w których zebrałem podstawowe pojęcia wykorzystane w tekście
z topologii, teorii miary, probabilistyki oraz teorii grafów.
5
Rozdział 1
Analiza dyskryminacyjna
1.1. Wprowadzenie
Postęp informatyzacji życia codziennego umożliwił przechowywanie i przetwarzanie olbrzymich ilości danych1 oraz odkrywanie ukrytych w nich zależności2 . Nowoczesnych metod analizy danych dostarcza współczesna statystyka matematyczna. Szczególnie praktycznie znaczenie mają metody klasyfikacyjne. Klasyfikacja jest dziś bardzo szeroko wykorzystywana przez
świat nauki, biznesu, przemysłu oraz medycyny. Klasyfikacja (w skrócie) polega na poszukiwaniu najlepszego możliwego rozdzielenia obserwacji z różnych populacji. Wyróżnia się dwie
metody klasyfikacji. Pierwsza z nich to klasyfikacja bez nadzoru, nazywana analizą skupień.
Druga, wykorzystująca próby uczące, określana jest mianem klasyfikacji pod nadzorem lub
też analizą dyskryminacyjną. W poniższej pracy ograniczamy się do przypadku drugiego.
Próbę uczącą stanowić może każdy zbiór obserwacji ze znanym podziałem na populacje (klasy). Dyskryminacja poszukuje najlepszej reguły klasyfikacyjnej, która każdej nowej obserwacji (z nieznaną przynależnością do populacji) przypisze pewną klasę. W dalszej części pracy
konstruujemy precyzyjny model klasyfikacyjny, wyróżniając w nim rodzinę reguł najefektywniejszych.
1.2. Problem skal pomiarowych
W teorii pomiaru rozróżnia się 4 podstawowe skale pomiaru, wprowadzone przez Stevensa
(1959), uporządkowane od najsłabszej do najmocniejszej: nominalna, porządkowa (rangowa),
przedziałowa (interwałowa), ilorazowa (stosunkowa). Podstawowe własności skal pomiaru
przedstawia tabela 1.1.
Przyrządy, dokonujące pomiarów w praktyce, posiadają skończoną dokładność. Wykorzystując to spostrzeżenie, konstrukcję modelu klasyfikacyjnego ograniczyliśmy do rozpatrywania
przeliczalnych przestrzeni możliwych wartości pomiarów.
1
Przechowywanie, dostarczenie i przetwarzanie danych opisuje tematyka hurtowni danych (ang. Data Warehousing).
2
Odkrywaniem zależności w zbiorach danych zajmuje się tematyka eksploracji danych (ang. Data Mining).
6
Analiza dyskryminacyjna
Typ skali
1.3 Model klasyfikacyjny
Dopuszczalne relacje
Dopuszczalne operacje
arytmetyczne
równości, różno ści
zliczanie zdarzeń
(liczba relacji
równości, różności)
Porządkowa
powyższe oraz
większości i
mniejszości
zliczanie zdarzeń
(liczba relacji
równości, różności,
większości,
mniejszości)
Przedziałowa
powyższe oraz równości
różnic i przedziałów
powyższe oraz dodawanie
i odejmowanie
Ilorazowa
powyższe oraz równości
ilorazów
powyższe oraz mnożenie
i dzielenie
Nominalna
Tabela 1.1: Podstawowe własności skal pomiarowych
1.3. Model klasyfikacyjny
Model, jako ogólne (teoretyczne) odzwierciedlenie różnych aspektów rzeczywistości, jest strukturą opartą o pewien system założeń (aksjomatów), pojęć i relacji między nimi. Mianem własności modelu określamy każdą logiczną (najczęściej sprawdzalną empirycznie) konsekwencję
sformułowanych wcześniej aksjomatów. Poniżej przedstawiamy konstrukcję modelu klasyfikacyjnego, który umieszcza klasyfikację z próbą uczącą w szeroko rozumianej probabilistyce.
Wykorzystując przestrzenie topologiczne, mierzalne i probabilistyczne, wprowadzamy szereg
nowych definicji, zwracając przy tym uwagę na kwestie szczególnie istotne. Często odnosimy
się do dodatku „A”, który w sposób podstawowy omawia materiał zapożyczony z innych
działów matematyki.
1.3.1. Zbiór przykładów i pojęcie atrybutu
Niech {Xk }, k = 1, . . . , p będzie dowolną rodziną niepustych zbiorów.
Definicja 1.3.1 Zbiór:
X := X1 × X2 × . . . × Xp
(1.1)
nazywamy zbiorem przykładów. Każdy element zbioru X nazywamy krótko przykładem.
Z każdym zbiorem Xk wiążemy funkcję:
Ak : X → X k
gdzie
X 3 x = (x1 , x2 , . . . , xp ) 7→ xk ∈ Xk
(1.2)
Innymi słowy ∀ x ∈ X, ∀ k ∈ {1, . . . , p} mamy Ak (x) = xk , oraz Ak (X) = Xk
Definicja 1.3.2 Przekształcenie Ak nazywamy k − tym atrybutem w X. Zbiór Ak (X) = Xk
nazywamy zbiorem wartości atrybutu Ak .
Definicja 1.3.3 Jeżeli zbiór Xk jest skończony i nieuporządkowany, to atrybut Ak nazywamy
nominalnym. W przypadku przeliczalnego i uporządkowanego zbioru Xk mówimy o porządkowym atrybucie Ak .
7
1.3 Model klasyfikacyjny
Analiza dyskryminacyjna
Atrybut nominalny może być atrybutem porządkowym, podobnie pewnego rodzaju atrybuty
porządkowe można traktować jako atrybuty nominalne. Zbliżone pojęcie atrybutu wprowadzone jest w [2].
Przykładem atrybutu nominalnego może być kolor (zielony, żółty,. . .). Atrybutem porządkowym jest np. wzrost podany w centymetrach.
1.3.2. Rodzina obserwacji
Zbiór X określa wszystkie możliwe wartości ustalonego zestawu atrybutów. Każdy element
x = (x1 , x2 , . . . , xp ) ∈ X, gdzie xk ∈ Xk jest wartością atrybutu Ak , nazwaliśmy przykładem.
Przykład jest elementem unikalnym w X. Dalej wprowadzimy pewną rodzinę opartą na X,
która pozwoli myśleć o przykładach w kategoriach rozkładów.
Definicja 1.3.4 Rodziną obserwacji nazywamy każdą niepustą rodzinę przykładów
X I := xi
i∈I
(1.3)
gdzie I jest zbiorem indeksów oraz xi ∈ X dla każdego i ∈ I.
X I jest rodziną elementów ze zbioru X indeksowaną zbiorem indeksów I. Pozwala to zamiast
{xi } ∈ X I pisać krótko i ∈ I (myślimy o indeksie, a nie o konkretnym przykładzie z rodziny).
Ponadto dla różnych i1 , i2 ∈ I może zachodzić xi1 = xi2 . Przykład należący do rodziny
obserwacji nie musi być w niej unikalny (przypomnijmy, że zbiór przykładów taką własność
posiada).
Definicja 1.3.5 Zbiór
X :=
[
{xi }
(1.4)
i∈I
nazywamy zbiorem przykładów rodziny obserwacji X I .
Wniosek 1.3.1 X ⊆ X.
Przykład to inaczej pewien zestaw wartości atrybutów. Atrybuty w rzeczywistości służą do
opisu obiektów. Różne obiekty, opisywane tym samym zestawem atrybutów, mogą być identyczne w sensie wartości atrybutów, ale to nadal różne obiekty (takie obiekty opisuje ten sam
przykład). Wyobraźmy sobie dwie osoby, w wieku 30 lat, z wykształceniem wyższym, które pochodzą z Warszawy. Jeżeli przyjmiemy, że do opisu osób używamy zestawu atrybutów
(wiek,wykształcenie,pochodzenie), to jeden przykład (30,wyższe,Warszawa) będzie odpowiadał dwóm różnym osobom. Rodzina obserwacji umożliwia odzwierciedlenie takiej sytuacji (w
przeciwieństwie do zbioru przykładów).
Definicja 1.3.6 Obiektem (indeksem obserwacji) nazywamy każdy indeks i ∈ I należący do
zbioru indeksów rodziny obserwacji X I . Zbiór I nazywamy zbiorem obiektów.
Podkreślmy, że każdy obiekt i ∈ I jest opisany przykładem xi ∈ X.
8
Analiza dyskryminacyjna
1.3 Model klasyfikacyjny
1.3.3. Warstwa przykładu i przestrzeń obiektów
Definicja 1.3.7 Warstwą przykładu x ∈ X w zbiorze obiektów I nazywamy zbiór:
Ix := i ∈ I : xi = x
(1.5)
Warstwa przykładu x ∈ X jest podzbiorem zbioru obiektów I opisanych tym samym przykładem x.
Wniosek 1.3.2 Rodzina wszystkich warstw I X := {Ix }x∈X wyznacza podział I na niepuste
parami rozłączne podzbiory.
Rozważmy przestrzeń topologiczną (I, T), gdzie T dowolna topologia (def. A.1.1) w I zawierająca rodzinę I X (I X ⊆ T). Niech dalej B oznacza σ-ciało borelowskie (def. A.2.2) w
przestrzeni (I, T).
Definicja 1.3.8 Jeżeli P jest taką miarą probabilistyczną na (I, B), że:
∀x∈X
P (Ix ) > 0
to przestrzeń probabilistyczną
I := I, B, P
nazywamy przestrzenią obiektów.
Warstwa każdego przykładu jest zbiorem mierzalnym z niezerowym prawdopodobieństwem.
Fakt ten oznacza niezerowe prawdopodobieństwo wystąpienia każdego zestawu atrybutów ze
zbioru X w przestrzeni obiektów (inaczej w I każdego przykładu x ∈ X ). Powyższe założenia
pozwalają wyprowadzić pewne bardzo ważne twierdzenie.
Twierdzenie 1.3.1 Rodzina warstw I X w przestrzeni obiektów I jest co najwyżej przeliczalna. Formalnie:
X
I ¬ ℵ0
Dowód: Twierdzenie
udowodnimy nie wprost zakładając, że istnieje przestrzeń obiektów I,
w której zachodzi I X > ℵ0 .
Rodzina I X określa podział zbioru obiektów I na niepuste parami rozłączne podzbiory. Z
definicji przestrzeni obiektów wiemy, że:
∀x∈X
Niech
P (Ix ) > 0
1
Xn := x ∈ X | P (Ix ) >
n
Oczywiście
∞
[
Xn = X
n=1
Zbór X jest równoliczny z rodziną I X , z założenia jest więc nieprzeliczalny. Musi zatem
istnieć k ∈ N, że Xk jest nieskończony: |Xk | ­ ℵ0 . W szczególności można wybrać ciąg
różnych przykładów: x1 , x2 , . . . ∈ Xk . Z definicji zbioru Xk wynika, że:
∀n∈N
P (Ixn ) >
9
1
k
1.3 Model klasyfikacyjny
Zauważmy, że rodzina Ixn
Analiza dyskryminacyjna
n∈N
jest przeliczalną rodziną zbiorów parami rozłącznych. Zatem:
∞
X
1 = P (I) ­
P (Ixn ) >
n=1
∞
X
1
n=1
k
=∞
Założenie okazało się nieprawdziwe, co kończy dowód.
Twierdzenie 1.3.1 daje pewien obraz struktury przestrzeni obiektów. Wykazaliśmy, że zbiór
przykładów rodziny X I , która wchodzi w skład przestrzeni obiektów I, może być co najwyżej
przeliczalny. Oczywiście sama rodzina X I (a zatem i zbiór obiektów I) może być nieprzeliczalna.
Definicja 1.3.9 Warstwą atrybutu Ak , k ∈ {1, . . . , p} dla wartości w ∈ Xk nazywamy zbiór
n
i
Aw
k := i ∈ I : Ak (x ) = w
o
(1.6)
Warstwa Aw
k reprezentuje obiekty, dla których wartość atrybutu Ak wynosi w ∈ Xk . Podkreślmy, że warstwa atrybutu może być zbiorem pustym.
Zauważmy, że
[
Aw
k =
Ix
(1.7)
x∈X , Ak (x)=w
Wniosek 1.3.3 Korzystając z aksjomatu (T3 ) topologii o „otwartości unii dowolnej rodziny
zbiorów otwartych” (def. A.1.1) stwierdzamy, że warstwa Aw
k , k ∈ {1, . . . , p} atrybutu Ak dla
∈
B)
w
przestrzeni
obiektów I.
wartości w ∈ Xk jest zbiorem mierzalnym (Aw
k
Dzięki powyższemu możliwe jest określenie prawdopodobieństwa przyjęcia wartości w ∈ Xk
przez atrybut Ak :
P Ak = w
:= P Aw
k
(1.8)
Definicja 1.3.10 Niech Y będzie dowolnym zbiorem. Funkcję f : I → Y , spełniającą warunek:
∀ x ∈ X ∀ i1 , i2 ∈ Ix f (i1 ) = f (i2 )
(1.9)
nazywamy warstwami stałą.
Warstwami stała funkcja f przyporządkowuje obiektom z tej samej warstwy dokładnie jeden
element ze zbioru Y. Można powiedzieć, że f bezpośrednio działa na przykładach obiektów
(jest uzależniona jedynie od zestawu atrybutów opisujących obiekt).
Twierdzenie 1.3.2 Dla dowolnej funkcji h : X → R mierzalna jest funkcja:
f :I→R
gdzie
I 3 i 7→ h(xi ) ∈ R
Dowód: Należy pokazać (def. A.4.1), że:
∀a∈R
{i ∈ I : f (i) < a} ∈ B
Funkcja f jest warstwami stała, tzn. dla każdego x ∈ X zachodzi:
∀ i1 , i2 ∈ Ix
f (i1 ) = h(xi1 ) = h(xi2 ) = f (i2 )
10
Analiza dyskryminacyjna
1.3 Model klasyfikacyjny
{i ∈ Ix : f (i) < a} = Ix ∨ {i ∈ Ix : f (i) < a} = ∅
Z definicji rodziny I X , wiemy, że
[
Ix = I. Istnieje więc S ⊆ X , że:
x∈X
{i ∈ I : f (i) < a} =
[
{i ∈ Ix : f (i) < a} =
x∈X
[
Ix
x∈S
Przypomnijmy, że I X jest rodziną zbiorów otwartych w przestrzeni obiektów (formalnie I X ⊆
T). Zatem ze zbiorów otwartych składać się musi rodzina:
{Ix }x∈S ⊆ I X
Unia dowolnej rodziny zbiorów otwartych jest zbiorem otwartym, zatem:
{i ∈ I : f (i) < a} =
[
Ix ∈ T ⊆ B
x∈S
Funkcja f jest więc mierzalna.
Wniosek 1.3.4 Każda funkcja warstwami stała w I, o wartościach ze zbioru R liczb rzeczywistych, jest mierzalna w przestrzeni obiektów I.
Powyższe twierdzenie jest prawdziwe dzięki specjalnej konstrukcji topologii T w I, która
zakłada, że warstwa każdego przykładu jest zbiorem otwartym.
1.3.4. Warstwa klasy i pojęcie docelowe
Niech będzie dany zbiór C = {1, . . . , g}, gdzie g ∈ N. Zbiór C nazywamy zbiorem klas
(etykiet). W dalszej części każdemu obiektowi z I przypiszemy dokładnie jedną klasę z C
(przydzielimy go więc do pewnej populacji).
Definicja 1.3.11 Funkcję mierzalną E : I → C spełniającą warunek:
E(I) = C
nazywamy etykietą docelową przestrzeni obiektów I.
Zwróćmy uwagę, że etykieta docelowa działa bezpośrednio na zbiorze obiektów I, klasyfikując
obiekt i ∈ I do klasy E(i) ∈ C. Posiadamy jedynie „indeks” i ∈ I obiektu, oraz wartości jego
atrybutów (przykład) xi ∈ X . Zauważmy, że etykieta E pośrednio działa na przykładzie xi
przyporządkowanym do obiektu i (jej wartość może być uzależniona od przykładu). Ponadto
możliwa jest sytuacja, gdzie różne obiekty opisane tym samym przykładem, klasyfikowane są
do różnych klas lub nie.
Definicja 1.3.12 Warstwą klasy k ∈ C w przestrzeni obiektów I nazywamy zbiór:
I k := {i ∈ I : E(i) = k}
Warstwa klasy k ∈ C jest zbiorem obiektów pochodzących z tej samej klasy k.
11
(1.10)
1.3 Model klasyfikacyjny
Analiza dyskryminacyjna
Definicja 1.3.13 Warunkową warstwą klasy k ∈ C (pod warunkiem, że znamy przykład
x ∈ X ) w przestrzeni obiektów I, nazywamy zbiór:
Ixk := I k ∩ Ix = {i ∈ Ix : E(i) = k}
(1.11)
Warunkowa warstwa klasy k ∈ C (pod warunkiem, że znamy przykład x ∈ X ) jest zbiorem
tych obiektów, pochodzących z tej samej klasy k, które opisuje wspólny przykład x.
Wniosek 1.3.5 Zbiory I k i Ixk są mierzalne, formalnie I k , Ixk ∈ B. Zachodzą ponadto równośći:
[
Ix = I
(1.12)
Ik = I
(1.13)
Ixk = I k
(1.14)
Ixk = Ix
(1.15)
x∈X
[
k∈C
[
x∈X
[
k∈C
Warstwa klasy jest mierzalna ze względu na mierzalność etykiety docelowej E (def. A.4.1, tw.
A.4.2, własność w3 ). Mierzalność warunkowej warstwy klasy wynika z mierzalności przecięcia
dwóch zbiorów mierzalnych (def. A.2.1, tw. A.2.1, własność w4 ).
Definicja 1.3.14 Każdą etykietę docelową E : I → C, dla której zachodzi:
P (I k ) > 0
∀k∈C
nazywamy pojęciem docelowym w przestrzeni obiektów I.
1.3.5. Rozkłady a priori i a posteriori
Zauważmy, że pojęcie docelowe wprowadza w zbiorze przykładów trzy rozkłady, zwane dalej
prawdopodobieństwami a priori 3 i a posteriori 4 :
Definicja 1.3.15 Rozkładami a priori wprowadzonymi przez pojęcie docelowe nazywamy:
1. πk := P (I k ) - prawdopodobieństwo klasy k,
2. p(x|k) := P (Ix |I k ) =
P (Ix ∩ I k )
P (Ixk )
=
- prawdopodobieństwo że x pod warunkiem,
P (I k )
P (I k )
że klasa k.
Definicja 1.3.16 Rozkładem a posteriori wprowadzonym przez pojęcie docelowe nazywamy
prawdopodobieństwo, że ustalony przykład x pochodzi z klasy k:
p(k|x) := P (I k |Ix ) =
3
4
P (I k ∩ Ix )
P (Ixk )
=
P (Ix )
P (Ix )
W języku łacińskim - z założenia.
W języku łacińskim - z następstwa.
12
Analiza dyskryminacyjna
1.3 Model klasyfikacyjny
Stwierdzenie 1.3.1 Zachodzą równości:
X
πk = 1
(1.16)
p(x|k) = 1
(1.17)
p(k|x) = 1
(1.18)
k∈C
X
∀k∈C
x∈X
X
∀x∈X
k∈C
Dowód: Wykorzystując podstawowe własności miary probabilistycznej:
(1.16)
!
X
πk =
k∈C
X
P I
k
=P
k∈C
[
I
k
= P (I) = 1
k∈C
(1.17) ustalmy k ∈ C
X
x∈X
p(x|k) =
X P (I k )
x
x∈X
P (I k )
P
=
P (Ixk )
P ( x∈X Ixk )
P (I k )
=
=
=1
P (I k )
P (I k )
P (I k )
S
x∈X
(1.18) analogicznie do (1.17).
Stwierdzenie 1.3.2 Z twierdzenia Bayesa (A.3.4) wynika, że:
πk p(x|k)
p(k|x) = X
πr p(x|r)
(1.19)
r∈C
Rozkład a posteriori jest więc jednoznacznie wyznaczony przez rozkłady a priori. Jest to bardzo ważny wniosek, który w dalszej części pozwoli na konstrukcję pewnej specjalnej rodziny
klasyfikatorów5 .
1.3.6. Przestrzeń ucząca
Przypomnijmy, że w przestrzeni obiektów I z pojęciem docelowym E każdy obiekt i ∈ I pochodzi z klasy E(i) ∈ C. W praktyce nigdy nie znamy całej przestrzeni obiektów. Najczęściej
posiadamy „skończoną” informację, która składa się z podrodziny przykładów opisujących
pewne obiekty (ogólnie nieznane), wraz z listą klas, do których te obiekty przynależą. Można
powiedzieć, że dane jest obcięcie pojęcia docelowego do pewnego podzbioru zbioru obiektów,
co w praktycznym sensie odzwierciedla jedynie pośrednią zależność pojęcia docelowego od
przykładu. Dalej skoncentrujemy się na uogólnieniu przedstawionego powyżej, intuicyjnego
pojęcia, określanego mianem zbioru uczącego.
Definicja 1.3.17 Niech będzie dana przestrzeń
obiektów I = (I, B, P ) wraz z pojęciem do
celowym E : I → C. Każdą parę S, ES gdzie S ∈ B i P (S) > 0, a ES : S → C jest funkcją
daną wzorem ES := E|S (obcięcie E do S) nazywamy zbiorem uczącym w przestrzeni obiektów
I. Funkcję ES nazywamy pojęciem indukowanym do zbioru S.
5
Rodzina klasyfikatorów bayesowskich przy znanych estymatorach prawdopodobieństw a priori.
13
1.3 Model klasyfikacyjny
Analiza dyskryminacyjna
Idea klasyfikacji opiera się na tym, aby na podstawie podanego zbioru uczącego, możliwe
było uogólnienie (rozszerzenie) pojęcia indukowanego do etykiety jak najbliższej tej, która
reprezentuje pojęcie docelowe.
Definicja 1.3.18 Rodzinę zbiorów uczących:
L(I, E) =
n
S, ES
: S ∈ B, P (S) > 0
o
(1.20)
nazywamy przestrzenią uczącą w przestrzeni obiektów I z pojęciem docelowym E.
W dalszych rozważaniach przestrzeń uczącą będziemy oznaczamy tylko symbolem L.
1.3.7. Reguła dyskryminacyjna i przestrzeń hipotez
Wspomnieliśmy wcześniej o idei uogólnienia (rozszerzenia na podstawie zbioru uczącego) pojęcia indukowanego do etykiety jak najbliższej pojęciu docelowemu. Poniżej podamy definicję,
która w naturalny sposób wprowadza takie uogólnienie.
Definicja 1.3.19 Regułą dyskryminacyjną (klasyfikatorem) nazywamy każdą funkcję
d : X × L → C,
gdzie
X × L 3 (x, S) 7→ d(x, S) ∈ C
(1.21)
gdzie
I × L 3 (i, S) 7→ d(xi , S) ∈ C
(1.22)
Definicja 1.3.20 Funkcję
dI : I × L → C,
nazywamy przedłużeniem klasyfikatora d ze zbioru przykładów X na przestrzeń obiektów I.
Reguła dyskryminacyjna działa (pod warunkiem ustalenia zbioru uczącego) na zbiorze przykładów (nie obiektów). Czyli dla dowolnego S ∈ L mamy:
d( · , S) : X → C
Można powiedzieć, że pod warunkiem podania zbioru uczącego S klasyfikator d klasyfikuje
przykład x ∈ X do klasy d(x, S) ∈ C (mówimy wtedy, że zbiór uczący S uczy klasyfikator d).
Klasyfikator d potrafi klasyfikować obiekty (działać na obiektach) poprzez swoje przedłużenie
dI na przestrzeń obiektów I.
Stwierdzenie 1.3.3 Dla dowolnego zbioru uczącego S ∈ L funkcja:
dI ( · , S) : I → C
jest funkcją mierzalną.
Uzasadniając powyższe stwierdzenie, wystarczy zauważyć, że przedłużenie dI klasyfikatora
d jest funkcją warstwami stałą (def. 1.3.10, tw. 1.3.2) w I (pod warunkiem ustalenia zbioru
uczącego S).
Definicja 1.3.21 Przestrzenią hipotez nazywamy zbiór
n
o
H(X , C) := d( · , S) : X → C : S ∈ L, d − klasyfikator
14
(1.23)
Analiza dyskryminacyjna
1.3 Model klasyfikacyjny
Oznaczenie H(X , C) sugeruje utratę bezpośredniego związku pomiędzy pojęciem hipotezy a
przestrzenią obiektów. W dalszej części zamiast H(X , C) pisać będziemy H
Stwierdzenie 1.3.4 Zachodzi równość: H(X , C) = X C
Dowód: Z definicji przestrzeni hipotez bezpośrednio wynika, że H(X , C) ⊆ X C . Aby pokazać,
że X C ⊆ H(X , C) weźmy dowolną funkcję h ∈ X C . Dla każdego x ∈ X , S ∈ L określamy:
d(x, S) := h(x)
Oczywiście d : X × L → C jest klasyfikatorem ⇒ h ∈ H(X , C).
Definicja 1.3.22 Przedłużeniem hipotezy h ∈ H na przestrzeń obiektów I nazywamy funkcję:
hI : I → C, gdzie I 3 i 7→ h(xi ) ∈ C
(1.24)
Każda hipoteza klasyfikuje przykłady. Dla każdej hipotezy istnieje klasyfikator (wraz ze zbiorem uczącym) ją generujący. Hipoteza poprzez swoje przedłużenie na przestrzeń obiektów
klasyfikuje również obiekty.
Wniosek 1.3.6 Przedłużenie hI hipotezy h jest funkcją mierzalną.
Powyższy wniosek wynika z twierdzenia 1.3.2. Przedłużenie hipotezy klasyfikuje obiekty opisane tym samym przykładem do wspólnej klasy (jest funkcją warstwami stałą).
1.3.8. Odległość w przestrzeni hipotez
Mając zebrane wszystkie możliwe hipotezy w jednym miejscu chcielibyśmy móc ocenić ich
„ jakość” (inaczej miarę błędnych klasyfikacji). W tym celu wprowadzimy odległość w przestrzeni hipotez, która pozwoli porównać dwie dowolne hipotezy. Podamy również definicję
odległości hipotezy od pojęcia docelowego.
Definicja 1.3.23 Niech g, h ∈ H oznacza dwie dowolne hipotezy. Różnicą hipotez g i h
nazywamy zbiór:
n
o
g \ h := i ∈ I : gI (i) 6= hI (i)
(1.25)
gdzie gI , hI są przedłużeniami hipotez g, h na przestrzeń obiektów I.
Stwierdzenie 1.3.5 g \ h ∈ B dla dowolnych hipotez g, h ∈ H.
Przedłużenie dowolnej hipotezy jest funkcją mierzalną w I. Uzasadnienie kończymy podając
twierdzenia A.4.2, własność (w4 ).
Definicja 1.3.24 Odległością hipotez g, h ∈ H nazywamy prawdopodobieństwo:
P g\h
Tak zdefiniowana odległość ma kilka naturalnych własności:
1. P h \ h = 0 dla każdej hipotezy h ∈ H
2. P g \ h = P h \ g dla dowolnych g, h ∈ H
15
1.3 Model klasyfikacyjny
Analiza dyskryminacyjna
3. odległość nieprzecinających się hipotez wynosi 1.
Definicja 1.3.25 Różnicą dowolnej hipotezy h ∈ H i pojęcia docelowego E nazywamy zbiór:
n
o
E \ h := i ∈ I : E(i) 6= hI (i)
(1.26)
Na podstawie mierzalności funkcji E i mierzalności przedłużenia hI hipotezy h stwierdzamy,
że E \ h ∈ B. Niech będzie dany przykład x ∈ X . Ix jest zbiorem obiektów opisanych
przykładem x. Przedłużenie hI hipotezy h klasyfikuje wszystkie obiekty z warstwy Ix do tej
h(x)
samej klasy h(x). Łatwo zatem o wniosek, że warunkowa warstwa Ix
nie jest obarczona
błędem klasyfikacji, gdzie poza nią błąd jest z pewnością popełniany. Istotnie:
n
o
Ixh(x) = i ∈ Ix : E(i) = h(x)
Wniosek 1.3.7 Zachodzą równości:
E \h=I \
[
Ixh(x) =
x∈X
[
Ix \ Ixh(x)
x∈X
Otrzymaliśmy dość klarowny obraz struktury zbioru będącego różnicą pojęcia docelowego i
dowolnej hipotezy.
Definicja 1.3.26 Błędem rzeczywistym hipotezy h ∈ H nazywamy prawdopodobieństwo:
P E \ h)
Można powiedzieć, że błąd rzeczywisty hipotezy h reprezentuje jej odległość od pojęcia docelowego.
Definicja 1.3.27 Błędem indukowanym (błędem próby) hipotezy h ∈ H na zbiorze uczącym
(S, ES ) ∈ L nazywamy prawdopodobieństwo warunkowe:
n
o
P E \ h S = P i ∈ S : ES (i) 6= hI (i)
1.3.9. Problem dyskryminacyjny
Wyznaczenie błędu rzeczywistego hipotezy najczęściej w praktyce nie jest możliwe (pojęcie
docelowe jest na ogół nieznane). Posiadamy jedynie zbiór uczący będący podzbiorem zbioru
obiektów wraz z pojęciem indukowanym do tego zbioru. Pozwala to na estymację błędu
rzeczywistego hipotezy i często na dokładne wyznaczenie jej błędu indukowanego.
Definicja 1.3.28 Zadanie wyboru klasyfikatora d nazywamy problemem dyskryminacyjnym
w przestrzeni obiektów I ze zbiorem uczącym S.
Idea klasyfikacji sprowadza się do poszukiwania hipotezy jak najbardziej zbliżonej do pojęcia docelowego. Dalej skoncentrujemy się na podaniu hipotezy minimalizującej odległość od
pojęcia docelowego.
P E \h
−−→
h∈H
16
min
(1.27)
Analiza dyskryminacyjna
1.4 Reguła Bayesa
1.4. Reguła Bayesa
W praktyce rozkłady a priori (wyznaczone przez pojęcie docelowe) nie są znane. Posiadamy
jedynie informacje o pojęciu indukowanym do zbioru uczącego, co pozwala na estymację. Poniżej przedstawiamy klasyfikator, którego konstrukcja umożliwia wykorzystanie estymatorów
prawdopodobieństw a priori.
1.4.1. Klasyfikator bayesowski
Przy znanym rozkładzie a posteriori p(k|x) najbardziej naturalną jest hipoteza, która klasyfikuje przykład x do klasy k z maksymalnym prawdopodobieństwem p(k|x) (def. 1.3.16).
Definicja 1.4.1 Funkcję E b : X → C daną wzorem:
E b (x) := arg max p(k|x)
(1.28)
k
nazywamy etykietą bayesowską. W przypadku istnienia kilku klas z maksymalnym prawdopodobieństwem a posteriori, etykieta bayesowska wybiera jedną z nich (dowolną).
Etykieta bayesowska jest oczywiście hipotezą. Formalnie: E b ∈ H.
Wniosek 1.4.1 Z maksymalizacji prawdopodobieństwa a posteriori p(k|x) wynika:
∀x∈X ∀k∈C
P IxE
b (x)
­ P (Ixk )
Wniosek 1.4.2 Wybór takiej klasy k, że maksymalne jest prawdopodobieństwo p(k|x), równoważny jest wyborowi takiego k, że maksymalna jest wartość wyrażenia πk p(x|k) (stw. 1.3.2).
Ogólnie zachodzi:
E b (x) := arg max πk p(x|k)
(1.29)
k
Hipoteza to inaczej „nauczony klasyfikator”. W przypadku reguły bayesowskiej zbiór uczący
wykorzystywany jest do estymacji rozkładów a priori (wspomnieliśmy wcześniej, że rozkłady
te w praktyce nie są znane).
1.4.2. Optymalność reguły bayesowskiej
Poniżej formułujemy twierdzenie, które można nazwać fundamentalnym w analizie dyskryminacyjnej.
Twierdzenie 1.4.1 Etykieta bayesowska minimalizuje odległość od pojęcia docelowego.
Dowód: Należy pokazać, że:
∀h∈H
P (E \ h) ­ P (E \ E b )
Ustalmy więc h ∈ H. Przywołując wniosek 1.3.7 zapisujemy:
E \h=
[
Ix \ Ixh(x)
E \ Eb =
x∈X
[
x∈X
17
Ix \ IxE
b (x)
1.4 Reguła Bayesa
Analiza dyskryminacyjna
Z przeliczalności zbioru X (tw. 1.3.1) i przeliczalnej addytywności miary (def. A.3.1, własność
µ3 ) otrzymujemy:
P (E \ h) =
X
X
P (Ix ) − P Ixh(x)
x∈X
x∈X
P (E \ E b ) =
X
P Ix \ Ixh(x) =
P Ix \ IxE
b (x)
=
x∈X
X
P (Ix ) − P IxE
b (x)
x∈X
Wniosek 1.4.1 stwierdza bezpośrednio:
P Ixh(x) ¬ P IxE
b (x)
Zatem:
P (Ix ) − P Ixh(x) ­ P (Ix ) − P IxE
X
x∈X
P (Ix ) − P Ixh(x)
X
­
b (x)
P (Ix ) − P IxE
b (x)
x∈X
Otrzymujemy więc tezę:
P (E \ h) ­ P (E \ E b )
Pokazaliśmy istnienie jednoznacznie wyznaczonej „najlepszej” hipotezy (hipotezy z najmniejszym prawdopodobieństwem błędu). Jest nią etykieta bayesowska E b . Wskazaliśmy ponadto,
że etykieta bayesowska może być przybliżana hipotezami bayesowskimi w zależności od jakości
estymacji rozkładów a priori.
18
Rozdział 2
Drzewa klasyfikacyjne
2.1. Wprowadzenie
Drzewa klasyfikacyjne (decyzyjne) pojawiły się niezależnie w nauczaniu maszynowym i w statystyce. Oparte na nich algorytmy są najczęściej wykorzystywane. Struktura drzew decyzyjnych pozwala na konstrukcję najogólniejszych reguł klasyfikacyjnych, efektywnych w implementacji i przejrzystych w logicznej konstrukcji. Na szczególną uwagę zasługuje przydatność
struktur do rozwiązywania zadań o dużym wymiarze prób losowych 1 i/lub lub dużym wymiarze wektora obserwacji 2 (np.: klasyfikacja kredytobiorców, predykcja predyspozycji klienta
do odejścia).
Podstawową wielkością charakteryzującą „dobroć” algorytmu jest jego złożoność obliczeniowa, która pokazuje zależność pomiędzy czasem 3 działania algorytmu, a jego parametrami
wejściowymi. Definiuje się również pojęcie złożoności pamięciowej, jednak istnienie nośników
potrafiących pomieścić TB4 danych zmniejsza wagę tej wielkości.
Skalowalność procesu to „zawieranie” się w nim harmonijnych zależności pomiędzy sposobem
jego działania i zmianą warunków początkowych. Dla algorytmów jest to np. proporcjonalność
czasu działania do wielkości danych wejściowych. W terminologii systemów informatycznych
skalowalność definicjainiuje się jako możliwość harmonijnego rozrastania się systemu w miarę
upływu czasu i zwiększania liczby jego użytkowników, bez konieczności rewolucyjnych zmian
projektowych.
Poniższy tekst wprowadza formalne definicje,
zakładając istnienie przestrzeni obiektów I =
i
I
I, B, P z rodziną obserwacji X = x i∈I , zbiorem przykładów X rodziny X I oraz pojęciem docelowym E : I → C, gdzie C = {1, ..., g} g ∈ N jest zbiorem etykiet klas (definicje:
1.3.4, 1.3.5, 1.3.8, 1.3.14).
2.2. Struktura drzewa
W teorii grafów drzewem (def. B.2.1) nazywamy dowolny graf (def. B.1.1) spójny (def.
B.1.10) i acykliczny (def. B.1.9) . Rozpatrzmy drzewo T =< V, E > o zbiorze wierzchołków
1
Najczęściej liczba obserwacji w zbiorze uczącym / testowym.
Liczba atrybutów opisujących obserwacje.
3
W ogólności liczba iteracji.
4
Terabajt [TB] = 230 bajtów
2
19
2.2 Struktura drzewa
Drzewa klasyfikacyjne
v3
V={v1,v2,v3,v4,v5,v6}
E={e1,e2,e3,e4,e5,e6}
v2
e3
e2
v5
e6
v7
e4
e1
v4
e5
v1
v6
Rysunek 2.1: Graf będący drzewem
V i krawędzi E. W zbiorze V wyróżniamy podzbiór wierzchołków LT ⊂ V będących liśćmi
(def. B.2.2) drzewa T . Wykorzystując pojęcie stopnia wierzchołka (def. B.1.5) zapisujemy:
LT := {v ∈ V : degT (v) = 1}
Ustalmy wierzchołek r ∈ V drzewa T i nazwijmy go korzeniem drzewa T . Oznaczmy przez
LTr zbiór:
LTr := LT \ {r}
(2.1)
W szczególnym przypadku korzeń r może być liściem drzewa T . Zbiór LTr nie zawiera wtedy
korzenia r.
Definicja 2.2.1 Zbiór
NrT := V \ LTr
(2.2)
nazywamy zbiorem węzłów drzewa T z ustalonym korzeniem r.
Do zbioru węzłów drzewa T zaliczają się wszystkie wierzchołki o stopniu wyższym niż 1 oraz
ustalony korzeń r ∈ V .
Dla dowolnych wierzchołków u, v ∈ V drzewa T istnieje dokładnie jedna u − v droga (def.
B.1.6) i jest to droga prosta (def. B.1.7, tw. B.2.1). W szczególności, dla dowolnego liścia
l ∈ LTr istnieje dokładnie jedna r − l droga prosta łącząca korzeń r z liściem l. Mówimy, że
r − l droga prowadzi od korzenia r, przez węzły, do liścia l.
Definicja 2.2.2 Liczbę
(
splitTr (n) :=
degT (n) − 1 jeśli n 6= r
degT (n)
jeśli n = r
(2.3)
nazywamy współczynnikiem rozgałęzienia w węźle n ∈ NrT drzewa T z ustalonym korzeniem
r.
20
Drzewa klasyfikacyjne
2.2 Struktura drzewa
- korzeń
r
- węzeł
- liść
1
2
3
r
Rysunek 2.2: Graf będący drzewem z wyróżnionym korzeniem
Każdy węzeł n ∈ NrT posiada dokładnie degT (n) wierzchołków sąsiadujących (def. B.1.4) .
W przypadku n 6= r istnieje dokładnie jeden węzeł s sąsiadujący z n, który leży na r − n
drodze (od korzenia r do węzła n). Pozostałe wierzchołki sąsiadujące z n leżą na drogach
od korzenia, do liścia, przechodzących przez węzeł n. Traktując rzecz obrazowo powiemy, że
droga od korzenia r, przez węzeł n, prowadząc do liścia, może w węźle n rozgałęzić się na
splitTr (n) sposobów (rysunek 2.2).
Definicja 2.2.3 Poprzednikiem (węzłem macierzystym) wierzchołka n ∈ V różnego od korzenia r, nazywamy węzeł s sąsiadujący z n leżący na r − n drodze. Piszemy wtedy s n.
Przyjmujemy, że korzeń r nie posiada poprzedników.
Każdy wierzchołek różny od korzenia posiada dokładnie jeden węzeł macierzysty.
Definicja 2.2.4 Następnikiem (potomkiem) węzła n ∈ NrT nazywamy każdy wierzchołek m
(węzeł lub liść) sąsiadujący z n i nie będący jego poprzednikiem. Piszemy wtedy n m. Zbiór
n
n := m ∈ V : n m
o
(2.4)
nazywamy zbiorem następników węzła n.
Wniosek 2.2.1 Zachodzi równość
|n | = splitTr (n)
Definicja 2.2.5 Testem w węźle n ∈ NrT nazywamy każdą funkcję:
tn : X → n gdzie
X 3 x 7→ nx ∈ n
(2.5)
Zauważmy, że test jest funkcją przyporządkowaną do węzła, która przeprowadza przykłady
na następniki tego węzła.
Definicja 2.2.6 Mówimy, że test tn : X → n w węźle n ∈ NrT jest testem atrybutu Ak ,
k ∈ {1, . . . , p} jeżeli istnieje taka funkcja tkn : Xk → n , że:
∀x∈X
tn (x) = tkn Ak (x)
21
(2.6)
2.2 Struktura drzewa
Drzewa klasyfikacyjne
Definicja 2.2.7 Przekształcenie:
c : LTr → C
gdzie
LTr 3 l 7→ kl ∈ C
(2.7)
nazywamy etykietą liści l ∈ LTr drzewa T .
Definicja 2.2.8 Drzewem klasyfikacyjnym (decyzyjnym) nazywamy każde drzewo Tr =<
V, E > z korzeniem r ∈ V , rodziną testów {tn }n∈NrT oraz etykietą liści c : LTr → C. Zbiór
LTr nazywamy zbiorem liści drzewa klasyfikacyjnego Tr . Zbiór NrT nazywamy zbiorem węzłów
drzewa klasyfikacyjnego Tr .
Definicja 2.2.9 Mówimy, że drzewo klasyfikacyjne Tr =< V, E > jest drzewem binarnym,
jeżeli:
∀ n ∈ NrT |n | = 2
Drzewo klasyfikacyjne jest drzewem, które posiada dodatkową interpretację dla węzłów, gałęzi
i liści:
• węzły odpowiadają testom przeprowadzanym na wartościach atrybutów przykładów,
węzeł drzewa, który nie ma żadnych węzłów macierzystych jest korzeniem,
• gałęzie odpowiadają możliwym wynikom tych testów,
• liście odpowiadają etykietom klas danego problemu dyskryminacji (w konwencji drzewo
klasyfikacyjne ma więcej niż 1 liść),
• drzewo „rośnie” od góry do dołu (od korzenia do liści).
{1,2,3,4,5,6,7,8,9}
wykształcenie
średnie
0 podstawowe
płeć
kobieta
wyższe
{3,0}
mężczyzna
wiek
¬ 50
> 50
0
1
1
0
{1,3,7}
{2,4}
{5}
{6,8,9}
Rysunek 2.3: Przykład drzewa klasyfikacyjnego
Zaobserwowane elementy próby przesuwają się wzdłuż gałęzi przez węzły. W węzłach podejmowane są decyzje o wyborze gałęzi, wzdłuż której trwa przesuwanie. W każdym węźle mamy
do czynienia z podziałem elementów do niego docierających na podgrupy (względem zapisanego w nim kryterium podziału - testu). Przesuwanie trwa do momentu, gdy napotkamy liść,
22
Drzewa klasyfikacyjne
2.3 Drzewo jako hipoteza
który ma etykietę którejś z klas. Rysunek 2.3 przedstawia przykład drzewa klasyfikacyjnego.
Dla każdego liścia istnieje dokładnie jedna droga łącząca go z korzeniem. Zbiór wszystkich
takich dróg może być przekształcony do zbioru reguł (na ogół koniunkcji pewnych warunków elementarnych), klasyfikujących przykłady w sposób identyczny jak „robi” to drzewo.
Możliwa jest więc konwersja drzewa decyzyjnego do zbioru reguł. Ze względu na czytelność
i pamięciową oszczędność reprezentacji nie zawsze jest to uzasadnione działanie. Konwersja
wykorzystywana jest przy przycinaniu drzewa, czyli zapobieganiu nadmiernemu dopasowaniu
(2.5). Przykładowa ścieżka (droga pomiędzy korzeniem i liściem) w drzewie klasyfikacyjnym
została przedstawiona na rysunku 2.4 - od korzenia → przez węzły i gałęzie → do liścia.
t1
t2
c5
c1
c2
c3
c6
c4
t3
c7
c8
c9
c10
Rysunek 2.4: Ścieżka w drzewie klasyfikacyjnym
2.3. Drzewo jako hipoteza
Przedstawiliśmy obrazowo sposób klasyfikacji przykładów przez drzewo decyzyjne. Poniżej
podamy definicję formalną funkcji klasyfikującej stowarzyszonej z drzewem klasyfikacyjnym.
Niech będzie dane drzewo klasyfikacyjne Tr =< V, E > z korzeniem r, rodziną testów
{tn }n∈NrT i etykietą liści c.
Definicja 2.3.1 Hipotezą hT reprezentowaną drzewem klasyfikacyjnym T nazywamy przekształcenie zdefiniowane regułą rekurencyjną:
1. ustalamy x ∈ X , n0 = r
2. ni+1 := tni (x) - wykonuj działanie dopóki wynik nie będzie liściem,
3. jeżeli w k-tym kroku nk ∈ LTr (jest liściem), to zwróć etykietę liścia c(nk ) ∈ C.
Twierdzenie 2.3.1 Funkcja hT jest hipotezą (def. 1.3.21) .
Dowód: Z definicji 2.3.1 wynika, że hT ∈ X C , co kończy dowód na mocy stwierdzenia 1.3.4.
23
2.4 Metody konstrukcji drzew
Drzewa klasyfikacyjne
Wniosek 2.3.1 W drzewie klasyfikacyjnym T istnieje dokładnie jeden liść lx związany z
przykładem x ∈ X określony rekursją w krokach 1 i 2 definicji 2.3.1.
Błąd rzeczywisty (indukowany / próby) hipotezy reprezentowanej przez drzewo nazywać będziemy błędem rzeczywistym (indukowanym / próby) drzewa.
2.4. Metody konstrukcji drzew
Pokazaliśmy, że drzewa klasyfikacyjne reprezentują hipotezy. Przypomnijmy, że hipoteza jest
wynikiem uczenia się klasyfikatora (def. 1.3.19) . W praktyce najczęściej zachodzi konieczność utworzenia drzewa decyzyjnego dedykowanego do danego problemu dyskryminacyjnego. Poniżej przedstawimy podstawowe metody konstrukcji drzew reprezentujących hipotezy
przybliżające pojęcia docelowe na podstawie dostępnych zbiorów uczących (def. 1.3.17) .
Rozszerzymy tym samym pojęcie drzewa decyzyjnego do klasyfikatora.
Naszym celem jest zbudowanie drzewa klasyfikacyjnego z możliwie małym błędem rzeczywistym i małym błędem indukowanym. W praktyce stosuje się estymację błędu rzeczywistego
(pojęcie docelowe jest nieznane). Minimalizacja obu błędów jednocześnie nie jest na ogół
możliwa. Często dochodzi do sytuacji, w której na rzecz mniejszego błędu rzeczywistego pozwala się na większy błąd próby. W zadaniu budowy drzewa decyzyjnego wyróżnia się cztery
podstawowe składowe:
1. Rodzinę {tsn } testów określających podział w każdym węźle.
2. Zdefiniowane kryterium ϕ(tsn ) jakości podziału określone dla każdego testu tsn , w każdym
węźle n.
3. Kryterium stopu budowy drzewa.
4. Konstrukcja reguły decyzyjnej (etykiety liści drzewa).
2.4.1. Konstrukcja testów
Dobór odpowiedniego testu jest decyzją o kluczowym znaczeniu dla późniejszych właściwości drzewa. Test powinien zapewniać możliwie dokładną klasyfikację dostępnych przykładów.
Konstrukcja testów jest wysoce uzależniona od typu testowanego atrybutu. Przedstawimy
jedynie testy binarne5 zależne od wartości pojedynczych atrybutów. Użycie większej liczby
atrybutów w jednym teście może prowadzić do uproszczenia drzewa. Należy zwrócić uwagę,
iż proces doboru jest problemem znacznie trudniejszym i kosztowniejszym w realizacji. Złożoność obliczeniowa i skalowalność powstającego procesu klasyfikacji jest w tym przypadku
priorytetem.
W poniższym tekście testy będziemy traktować jako funkcje zależne jedynie od atrybutu i
jego wartości. Zachodzi konieczność wprowadzenia dodatkowych oznaczeń:
A : X → SA - gdzie A atrybut:
A(x) - wartość atrybutu A dla przykładu x ∈ X,
SA - zbiór wartości atrybutu A,
5
W praktyce najczęściej stosuje się drzewa binarne, w których każdy węzeł ma po dwóch potomków. Testy
binarne to zatem testy o dwuelementowym zbiorze możliwych wyników.
24
Drzewa klasyfikacyjne
2.4 Metody konstrukcji drzew
t : X → St - gdzie t test:
t(x) - wartość testu t dla przykładu x ∈ X,
St - zbiór wartości testu t.
Testy dla atrybutów nominalnych
Definicja 2.4.1 Test t : X → St nazywamy testem tożsamościowym atrybutu A : X → SA
jeżeli:
t(x) = A(x) ∀ x ∈ X
(2.8)
Jest to rodzaj testu, polegający na utożsamieniu testu z atrybutem. Oczywiście St = SA . Taki
test jest bardzo wygodny przy drzewach nie będących binarnymi. Pozwala na duży współczynnik rozgałęzienia, co zmniejsza głębokość drzewa i koszt klasyfikacji. Jego mankamentem
jest niska stosowalność przy atrybutach o dużej liczbie możliwych wartości.
Definicja 2.4.2 Test t : X → St nazywamy testem równościowym atrybutu A : X → SA
jeżeli:
(
0 jeśli A(x) = w
t(x) =
(2.9)
1 jeśli A(x) 6= w
gdzie w ∈ SA .
W tym przypadku St = {0, 1}. Wybór najlepszego testu równościowego wymaga sprawdzenia
co najwyżej wszystkich wartości atrybutu A.
Definicja 2.4.3 Test t : X → St nazywamy testem przynależnościowym atrybutu A : X →
SA jeżeli:
(
0 jeśli A(x) ∈ W
(2.10)
t(x) =
1 jeśli A(x) ∈
/W
gdzie W ⊂ SA .
Ten rodzaj testów jest uogólnieniem testów równościowych. Zauważmy, że dobór najlepszego testu wymaga co najwyżej sprawdzenia wszystkich właściwych podzbiorów zbioru SA , co
przy n możliwych wartościach atrybutu A wymaga 2n−1 − 1 porównań. Jest to zależność
wykładnicza (czyli bardzo kosztowna), sugerująca konieczność zaproponowania rozsądnego
sposobu wyboru rozpatrywanych zbiorów W jako podzbiorów zbioru SA . Przy tego rodzaju
testach 6 jest to kwestia mająca kluczowy wpływ na dalszą skalowalność procesu klasyfikacji.
Testy dla atrybutów ciągłych
Przy atrybutach ciągłych można stosować testy przynależnościowe. W tym przypadku jako
podzbiory W ⊂ SA bierze się pewne przedziały, gdzie dobór ich „końców” jest istotny. Mankamentem testów przynależnościowych przy ciągłych atrybutach, jest brak uwzględnienia
istnienia relacji porządku w zbiorze możliwych wartości analizowanego atrybutu. Konstruuje
się również testy uwzględniające istnienie owej relacji, nazywane testami nierównościowymi7 .
6
7
Testy przynależnościowe stosowane są przy konstrukcji klasyfikatora SLIQ i SPRINT
Testy nierównościowe są wykorzystywane przy konstrukcji klasyfikatora SLIQ i SPRINT
25
2.4 Metody konstrukcji drzew
Drzewa klasyfikacyjne
Definicja 2.4.4 Test t : X → St nazywamy testem nierównościowym atrybutu A : X → SA
jeżeli:
(
0 jeśli A(x) ¬ w
t(x) =
(2.11)
1 jeśli A(x) > w
gdzie w ∈ SA .
Zapisując SA = {w1 , w2 , . . . , wn } i przyjmując, że ciąg {w1 , w2 , . . . , wn } jest ciągiem uporządkowanym (posortowanym w kolejności rosnącej), możemy stwierdzić, że dowolna taka
wartość w, że wi < w < wi+1 dla ustalonego i = 1, . . . , n − 1, daje jednakowy wynik testu
nierównościowego (dzieli zbiór X zawsze w taki sam sposób). Zatem, aby wybrać najbardziej
odpowiedni test, wystarczy przeprowadzić tylko n − 1 porównań. Zazwyczaj za punkt podziału obiera się środek przedziału [wi , wi+1 ]. Przy rozważaniu kwestii skalowalności, należy
zwrócić uwagę na koszt sortowania zbioru wartości testowanego atrybutu8 .
2.4.2. Kryteria jakości podziałów
Podpróba docierająca do węzła dzielona jest na części. Oczywiście nie powinien to być proces
przypadkowy. Zależy nam na podziale, który daje jak najmniejszą różnorodność klas w otrzymanych częściach, tak aby różnica pomiędzy różnorodnością klas w węźle i różnorodnością
klas w tych częściach, była możliwie duża.
Definicja 2.4.5 Każdą funkcję
φ : G ⊂ [0, 1]g → R
gdzie
(p1 , p2 , . . . , pg ) ∈ G ⇔
g
X
pk = 1
(2.12)
k=1
spełniającą następujące warunki:
1. φ przyjmuje wartość maksymalną w punkcie
1 1
1
g, g,..., g
∈ G.
2. φ osiąga minimum jedynie w punktach
(1, 0, 0, . . . , 0), (0, 1, 0, . . . , 0), . . . , (0, 0, 0, . . . , 1) ∈ G
3. φ(p1 , p2 , . . . , pg ) jest symetryczna ze względu na p1 , p2 , . . . , pg .
nazywamy funkcją różnorodności klas.
Definicja 2.4.6 Jeżeli wierzchołek m ∈ V jest następnikiem węzła n ∈ NrT to n m−następnikiem
zbioru przykładów U ⊆ X i n m−następnikiem zbioru obiektów S ⊆ I nazywamy:
n
o
(2.13)
n
o
(2.14)
Unm := x ∈ U : tn (x) = m
Snm := i ∈ S : tn (xi ) = m
n m−następniki reprezentują przykłady ze zbioru U i obiekty ze zbioru S klasyfikowane
testem tn do następnika m węzła n.
8
Przy konstrukcji klasyfikatora SLIQ, stosuje się sortowanie wstępne (ang. pre-sorting)
26
Drzewa klasyfikacyjne
2.4 Metody konstrukcji drzew
Wniosek 2.4.1 Zachodzą równości:
Xnm = t−1
n (m)
[
Inm =
Ix
x∈Xnm
Twierdzenie 2.4.1 n m−następnik mierzalnego zbioru obiektów S ⊆ I jest zbiorem mierzalnym.
Dowód: Należy pokazać, że zbiór Snm ∈ B dla dowolnych n, m ∈ V gdzie n m. Oznaczmy
n
XS := x ∈ X : Ix ⊆ S
o
Pisząc Ix rozważamy warstwę przykładu x (def. 1.3.7) . Zbiór XS zawiera wszystkie przykłady, których warstwa jest podzbiorem zbioru S. Niech
[
Z := S \
Ix
x∈XS
Z założenia zbiór S ∈ B. Unia rodziny zbiorów mierzalnych jest zbiorem mierzalnym, zatem
[
Ix ∈ B
x∈XS
Na podstawie twierdzenia A.2.1 własność w5 (różnica zbiorów mierzalnych jest zbiorem mierzalnym) stwierdzamy, że Z ∈ B.
[
Ix
S=Z∪
x∈XS
Możliwe są dwa przypadki:
1. Z = ∅ - rozważany zbiór S jest unią podrodziny rodziny warstw I X ,
2. istnieje dokładnie jeden przykład z ∈ X , że Z ⊂ Iz - zbiór Z jest mierzalnym podzbiorem warstwy pewnego przykładu.
Z definicji następnika zbioru
n
o
Snm := i ∈ S : tn (xi ) = m
wynika bezpośrednio, że istnieje U ⊆ XS , że
Snm =
[
Ix
lub Snm = Z ∪
x∈U
[
Ix
x∈U
⇒ Snm ∈ B
Definicja 2.4.7 Jeżeli S ⊆ I jest takim mierzalnym zbiorem obiektów, że P (S) > 0, to
miarę różnorodności klas w zbiorze S określamy wzorem:
q(S) := φ p(1|S), p(2|S), . . . , p(g|S)
(2.15)
gdzie φ jest funkcją różnorodności klas, a p(k|S) prawdopodobieństwem klasy k pod warunkiem, że zaszło zdarzenie S:
p(k|S) := P I k S
(2.16)
27
2.4 Metody konstrukcji drzew
Drzewa klasyfikacyjne
Główne miary różnorodności klas
W praktyce najczęściej stosuje się niżej wymienione miary różnorodności klas. Indeks Giniego
i entropie wykazują większą czułość na zmiany rozkładu klas w próbie.
1. Proporcja błędnych klasyfikacji:
q(S) ≡ p(S) := 1 − max p(k|S)
(2.17)
k
2. Indeks Giniego:
q(S) ≡ G(S) := 1 −
g X
2
p(k|S)
(2.18)
p(k|S) ln p(k|S)
(2.19)
k=1
3. Entropia:
q(S) ≡ E(S) := −
g
X
k=1
Rysunek 2.5 przedstawia zależność pomiędzy proporcją błędnych klasyfikacji, indeksem Giniego i entropią. Wartość funkcji entropii podzielona została przez 2 ln 2.
0.5
P(p1,p2)
G(p1,p2)
E(p1,p2)
0.45
0.4
0.35
phi(p1,p2)
0.3
0.25
0.2
0.15
0.1
0.05
0
0
0.2
0.4
0.6
0.8
p1*sqrt(2), p2=1-p1
1
1.2
1.4
Rysunek 2.5: Proporcja błędnych klasyfikacji, indeks Giniego i entropia
Różnorodność jest tym większa im większa jest wartość miary q(S). Po dokonaniu podziału
w węźle n ∈ NrT zbiór Snm reprezentuje obiekty, które przeszły z węzła n do jego następnika
m ∈ n .
Definicja 2.4.8 Przez miarę zmiany różnorodności klas w węźle n ∈ NrT drzewa klasyfikacyjnego Tr przy założeniu, że w węźle n znajdują się wszystkie obiekty z S, rozumie się kryterium
oceny podziału w węźle n:
∆q(S|n) := q(S) −
X
m∈n , P (Snm )>0
28
P (Snm |S)q(Snm )
(2.20)
Drzewa klasyfikacyjne
2.4 Metody konstrukcji drzew
Pisząc ∆q(S|n) zakładamy istnienie testu w węźle n. W sytuacji, gdy do węzła przyporządkowany jest zbiór testów, definicja 2.4.8 umożliwia wybór podziału z największą wartością
miary zmiany różnorodności klas. W tym sensie jest to podstawowe kryterium oceny testu w
węźle drzewa klasyfikacyjnego.
Dla drzew binarnych Breiman [3] sformułował i udowodnił następujące twierdzenie.
Twierdzenie 2.4.2 (Breiman) Dla binarnego drzewa Tr i wklęsłej funkcji różnorodności
klas zachodzi:
(i) ∆q(S|n) ­ 0 dla dowolnego węzła n ∈ NrT oraz S ∈ B, że P (S) > 0,
(ii) jeżeli n = {nL , nR } to równość w (i) zachodzi wtedy i tylko wtedy, gdy rozkłady klas w
S, SnnL i SnnR są identyczne, tzn.:
∀ k ∈ {1, . . . , g}
p k|S = p k|SnnL = p k|SnnR
2.4.3. Kryterium stopu i reguła decyzyjna
Budowę drzewa klasyfikacyjnego rozpoczynamy od drzewa złożonego z jednego wierzchołka,
do którego przyporządkowujemy zbiór uczący i zbiór dostępnych testów. W dalszych krokach
konstruujemy podziały, tworząc węzły i ich następniki. Wraz ze wzrostem drzewa maleje zbiór
uczący i zbiór testów docierający na kolejne jego poziomy. Poniżej przedstawiamy kilka oczywistych wytycznych, którymi należy się kierować podczas budowy drzewa. Należy zaniechać
konstrukcji podziału w wierzchołku jeżeli:
1. Wystąpienie klasy k w podpróbie uczącej dostępnej w wierzchołku jest zdarzeniem z
prawdopodobieństwem warunkowym 1.
2. Zastosowanie każdego dostępnego podziału daje zerową lub ujemną miarę zmiany różnorodności klas.
3. Zbiór dostępnych testów jest pusty.
Gdy obiekty w wierzchołku należą do tej samej klasy, to zajdzie przypadek 1. Sytuacja 2 ma
miejsce w wierzchołku, w którym zbiór dostępnych testów jest oparty o atrybuty z jednakową
wartością dla wszystkich dostępnych przykładów. Warunek 3 bezpośrednio wiąże się z brakiem
uzasadnienia dla więcej niż jednokrotnego użycia danego podziału w obrębie jednej scieżki.
Wystąpienie przypadków 2 lub 3 może świadczyć o zajściu jednej z poniższych sytuacji:
• zbiór trenujący nie jest poprawny i zawiera przekłamania,
• zestaw atrybutów nie opisuje obiektów w dostatecznym stopniu i w związku z tym
przestrzeń hipotez jest zbyt uboga do reprezentowania pojęcia docelowego,
• przyjęty zbiór dostępnych atrybutów jest niewystarczający.
Definicja 2.4.9 Jeżeli S jest podpróbą uczącą dostępną w wierzchołku n, a T zbiorem dostępnych testów, to kryterium stopu wstrzymujące konstrukcję podziału w n określamy wyrażeniem:
∃k∈C p(k|S) = 1 ∨ ∀tn ∈T ∆q(S|n) ¬ 0 ∨ T = ∅
(2.21)
29
2.5 Problem nadmiernego dopasowania
Drzewa klasyfikacyjne
Po wstrzymaniu konstrukcji podziału wierzchołek staje się liściem, do którego należy przyporządkować etykietę klasy.
Definicja 2.4.10 Jeżeli S jest zbiorem uczącym, to etykietę daną wzorem
cS := arg max p(k|S)
k
(2.22)
nazywamy etykietą większościowej kategorii w zbiorze uczącym S.
W sytuacji, gdy zbiór dostępnych obiektów jest zdarzeniem z niezerowym prawdopodobieństwem etykietę wybieramy na podstawie etykiety większościowej kategorii.
Jeżeli nie istnieją wierzchołki, w których kryterium stopu uzna za zasadne utworzenie nowego
podziału, to drzewo uznajemy za zbudowane.
2.4.4. Zstępująca konstrukcja drzewa
Istnieje wiele algorytmów uczenia się pojęć wykorzystujących drzewa decyzyjne do reprezentacji hipotez. Każdy z nich dąży do uzyskania struktury o niewielkim rozmiarze z możliwie
niewielkim błędem próbki zakładając, że błąd rzeczywisty będzie również nieznaczny. Poniżej przedstawimy część wspólną większości tych algorytmów, określaną mianem zstępującej
konstrukcji drzewa. Schemat zakłada rozpoczęcie budowy drzewa od pojedynczego wierzchołka (korzenia), któremu przyporządkowuje się wszystkie elementy ze zbioru trenującego.
Kolejnym krokiem jest ustalenie zasadności utworzenia podziału w węźle. W przypadku decyzji pozytywnej kreujemy wierzchołki następniki. Nowoutworzone wierzchołki traktujemy
jako korzenie „nowych” drzew z przypisanymi częściami próby uczącej. Procedurę powtarzamy do uzyskania liści (wierzchołków bez podziału), dla których określamy regułę decyzyjną.
Tak rozumiany schemat najwygodniej jest opisać regułą rekurencyjną. Funkcja buduj-drzewo
(alg.: 2.1) skonstruuje drzewo klasyfikacyjne Tr na podstawie zbioru uczącego S oraz zbioru
dostępnych testów T.
2.5. Problem nadmiernego dopasowania
Nadmierne dopasowanie do danych trenujących przejawia się bardzo małym błędem klasyfikacji (często nawet zerowym) na próbie uczącej, lecz zbyt dużym błędem rzeczywistym.
Prawdopodobnie drzewo takie, poprzez bardzo złożoną strukturę, odzwierciedla przypadkowe
zależności występujące w zbiorze uczącym. Z powodu swej struktury, umożliwiającej reprezentację dowolnej hipotezy, drzewa klasyfikacyjne są szczególnie narażone na ten problem.
Błąd rzeczywisty nadmiernie dopasowanych drzew można zmniejszyć przez ich uproszczenie
nazywane przycięciem. Drzewo przycięte ma prostszą strukturę, co daje krótszy czas klasyfikacji. Oczywiście dokładność klasyfikacji zbioru uczącego się pogarsza.
2.5.1. Schemat przycinania
W uproszczeniu proces przycinania polega na zastąpieniu drzewa wyjściowego jego poddrzewem. Formułując to bardziej obrazowo powiemy, że „ucina” się niektóre poddrzewa drzewa
wyjściowego, zastępując je liśćmi, którym przypisuje się etykietę większościowej kategorii
wśród obserwacji związanych z tym poddrzewem. Zamiast przycinać drzewo, możemy, poprzez modyfikację kryterium stopu, zapobiegać jego nadmiernemu wzrostowi. Takie postępowanie określa się przycinaniem w trakcie wzrostu. Znalezienie odpowiedniego kryterium stopu
30
Drzewa klasyfikacyjne
2.5 Problem nadmiernego dopasowania
Algorytm 2.1 Schemat zstępującego konstruowania drzewa
funkcja buduj-drzewo (n,S,c,T)
argumenty wejściowe:
n - wierzchołek,
S - zbiór trenujący,
c - domyślna etykieta kategorii,
T - zbiór możliwych testów;
zwraca: drzewo decyzyjne reprezentujące hipotezę;
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
jeśli kryterium-stopu (S,T) to
cn :=kategoria (S,c);
zwróć liść n;
koniec jeśli
tn :=wybierz-test (S,T);
utwórz następniki n ;
cn :=kategoria (S,c);
dla wszystkich m ∈ n wykonaj
buduj-drzewo (m,Snm ,cn ,T \ tn )
koniec dla
wywołanie: buduj-drzewo (r,S,cS ,T)
okazuje się jednak trudne i częściej przycina się drzewa uprzednio zbudowane.
Przycinanie odbywa się z pomocą zbioru etykietowanych przykładów, zwanego zbiorem przycinania. Pełni on ważną funkcję przy szacowaniu błędu rzeczywistego przyciętego drzewa.
Wyróżnia się dwa typy zbiorów przycinania:
1. Zbiór przycinania pochodzi spoza próby uczącej - jeśli mamy dostatecznie duży zbiór
uczący.
2. Zbiór przycinania równy jest próbie uczącej - jeżeli nie dysponujemy dużym zbiorem
uczącym.
Obecnie znanych jest wiele metod przycinania drzew. Algorytm 2.2 przedstawia funkcję opisującą część wspólną większości z nich.
2.5.2. Przycinanie MDL
Ideą zasady MDL9 jest minimalizowanie sumy kosztu opisu danych przez model i kosztu opisu
modelu. Jeżeli M jest modelem opisującym (kodującym) dane D, to całkowity koszt opisu
definiujemy jako sumę
cost(M, D) := cost(D|M ) + cost(M )
(2.23)
gdzie cost(D|M ) jest kosztem opisu danych D przez model M , a cost(M ) jest kosztem opisu
modelu M . W kontekście drzew decyzyjnych modelami są drzewa otrzymane z przycinania
drzewa wyjściowego. Opisywane (kodowane) dane to próba ucząca. Jako funkcję kosztu opisu
9
MDL - Minimum Description Length.
31
2.5 Problem nadmiernego dopasowania
Drzewa klasyfikacyjne
Algorytm 2.2 Schemat przycinania drzewa klasyfikacyjnego
funkcja przytnij-drzewo (Tr ,Sp )
argumenty wejściowe:
Tr - drzewo klasyfikacyjne,
Sp - zbiór przycinania,
zwraca: przycięte drzewo;
1.
2.
3.
dla wszystkich węzłów n ∈ NrT wykonaj
zastąp węzeł n liściem z etykietą większościowej kategorii
jeśli nie powiększy to szacowanego na podstawie Sp
błędu rzeczywistego drzewa Tr ;
koniec dla
wywołanie: przytnij-drzewo (Tr ,Sp )
przyjmuje się najczęściej liczbę bitów wykorzystanych do jego reprezentacji.
Wcześniejsze implementacje zasady MDL w przycinaniu drzew pokazały, że wynikowe drzewa były nadmiernie przycięte (Quinlan i Rivest - 1989, Wallace i Patrick - 1993). Miało to
oczywiście negatywne odbicie w jakości klasyfikacji opartej na takim drzewie. Jednak już w
1995 roku Mehta, Rissanen i Agrawal zaproponowali inną implementację przycinania drzew
w oparciu o zasadę MDL. Metoda umożliwiła konstrukcję małych drzew bez znacznej utraty
jakości klasyfikacji. Zastosowany algorytm miał pewne ograniczenia. Ponadto w danym węźle
możliwe było jedynie „odcięcie” wszystkich potomków lub żadnego. Metoda przedstawiona
poniżej jest wolna od tych ograniczeń.
Algorytm przycinania MDL dzieli się na dwie części: schemat kodowania, który wyznacza
koszt (rozmiar) opisu danych oraz modelu, i algorytm porównywania różnych drzew przyciętych.
Koszt opisu danych przez model
Koszt opisu zbioru uczącego S przez drzewo T definiujemy jako sumę wszystkich błędnych
klasyfikacji (klasa wyprodukowana przez drzewo jest inna od oryginalnej). Liczba błędnych
klasyfikacji jest ustalana podczas fazy budowy drzewa. Nie jest więc to proces istotnie wpływający na złożoność algorytmów. Dalej liczbę błędnych klasyfikacji w węźle n oznaczamy
przez err(n).
Koszt opisu modelu
Modelem jest drzewo zawierające podziały. Należy zatem wyznaczyć koszt opisu drzewa i
koszty opisu testów zastosowanych w każdym węźle drzewa.
Węzeł drzewa może posiadać potomki w liczbie: jeden, dwa, lub zero (liść). Jako koszt opisu
drzewa bierzemy sumaryczną liczbę bitów, która jest zależna od struktury drzewa. Wyróżnia
się trzy podejścia do opisu struktury drzewa, gdzie przez L(n) oznacza się koszt struktury
węzła n. Dla węzła zezwala się na posiadanie:
32
Drzewa klasyfikacyjne
2.5 Problem nadmiernego dopasowania
• typ 1 : L(n) = 1 (0 lub 2 potomków), 2 możliwości ⇒ 1 bit niezbędny do opisu,
• typ 2 : L(n) = 2 (0 lub 2 potomków, potomka lewego, potomka prawego), 4 możliwości
⇒ 2 bity niezbędne do opisu),
• typ 3 : L(n) = log 3 (lewy potomek, prawy potomek, lub oba), tylko dla węzłów wewnętrznych, 3 możliwości ⇒ log 3 bitów niezbędnych do opisu.
Koszt opisu podziałów uzależniony jest od typu testowanego atrybutu i wyznaczany jest
osobno dla atrybutów ciągłych i nominalnych.
Jeżeli mamy do czynienia z testem nierównościowym postaci A(x) ¬ w, gdzie A jest atrybutem numerycznym, a w liczbą rzeczywistą, to koszt testu definiujemy jako maksymalny koszt
opisu liczby w. Koszt taki powinien być wyznaczony niezależnie dla każdego testu nierównościowego wykorzystanego w drzewie.
Dla testów przynależnościowych postaci A(x) ∈ W , gdzie W jest pewnym podzbiorem wartości nominalnego atrybutu A, koszt ustalamy w dwóch krokach. Najpierw wyznaczamy liczbę
testów w drzewie opartych na danym atrybucie – powiedzmy nA (tę czynność wykonujemy
dla każdego atrybutu nominalnego). Koszt opisu testu definiujemy dalej jako
ln nA
Przez Ltest (n) oznaczamy koszt opisu testu w węźle n.
Algorytm przycinania MDL
Algorytm przycinania MDL wyznacza koszt (rozmiar, długość) opisu w każdym węźle drzewa
klasyfikacyjnego. Wartość ta służy następnie do podjęcia decyzji czy mamy w danym węźle:
• utworzyć liść,
• przyciąć lewy, prawy potomek lub oba,
• pozostawić węzeł bez zmian.
Jeżeli C(n) oznacza koszt opisu w węźle n, to kryterium przycinania przyjmuje postać:
1. Cleaf (n) := L(n) + err(n) - jeżeli n ma być liściem.
2. Cboth (n) := L(n) + Ltest (n) + C(n1 ) + C(n2 ) - jeżeli n ma posiadać 2 potomki.
←
−
3. Clef t (n) := L(n) + Ltest (n) + C(n1 ) + C (n2 ) - jeżeli n ma posiadać tylko potomka
lewego.
←
−
4. Cright (n) := L(n) + Ltest (n) + C (n1 ) + C(n2 ) - jeżeli n ma posiadać jedynie potomka
prawego.
←
−
←
−
C (n1 ), C (n2 ) oznaczają koszt opisu wyznaczany w przypadku częściowego przycięcia (lewy
lub prawy potomek zostaje przycięty). W takim wypadku obserwacje przechodzące wcześniej
przez przyciętą gałąź, są teraz klasyfikowane na podstawie statystyk z węzła macierzytego
←
−
←
−
n. C (n1 ), C (n2 ) reprezentują koszt opisu obserwacji należących do węzłów potomków przy
użyciu tych wcześniejszych statystyk.
Wyróżnia się strategie przycinania drzewa:
33
2.6 Zalety i ograniczenia drzew klasyfikacyjnych
Drzewa klasyfikacyjne
1. Strategia pełna - wykorzystująca typ 1, czyli 1 bit dla każdego węzła. Jeżeli Cleaf (n) <
Cboth (n) (opcje 1 i 2) to węzeł zamieniamy na liść.
2. Strategia częściowa - wykorzystująca typ 2, czyli dwa bity dla każdego węzła. Węzeł
jest konwertowany według tej opcji (spośród 1, 2, 3, 4), która ma najmniejszy koszt
opisu.
3. Strategia mieszana - przewidująca dwie fazy. Faza pierwsza to strategia pełna. Faza
druga używa jedynie opcji: 2, 3 oraz 4.
2.6. Zalety i ograniczenia drzew klasyfikacyjnych
Tak jak każda struktura reprezentacji, również drzewa klasyfikacyjne posiadają zalety i ograniczenia. W tym przypadku te pierwsze zdecydowanie przeważają nad drugimi.
Do zalet drzew klasyfikacyjnych zaliczamy:
1. Możliwość reprezentacji dowolnej hipotezy - konstrukcja drzewa klasyfikacyjnego umożliwia reprezentację dowolnego pojęcia, którego definicję można wyrazić w zależności od
atrybutów użytych do opisu przykładów.
2. Efektywność procesu klasyfikacji - stosowanie hipotezy uzyskanej w wyniku uczenia się
jest bardzo efektywne. W typowych przypadkach czas jest liniowo ograniczony przez
liczbę obserwacji i/lub liczbę atrybutów.
3. Efektywność dla dużych zbiorów uczących - aktualnie drzewa klasyfikacyjne wykorzystuje się najczęściej i najchętniej do rozwiązywania problemów z ogromnymi ilościami
danych.
4. Czytelność reprezentacji - o ile drzewa nie są zbyt duże i złożone.
Jako ograniczenia drzew klasyfikacyjnych wymienić można:
1. Ryzyko dużej złożoności drzewa - dla złożonych hipotez drzewa mogą być również bardzo złożone. Wiąże się to z tym, że zazwyczaj testy stosowane do budowy drzewa,
wykorzystują tylko jeden atrybut, co implikuje utratę zależności pomiędzy atrybutami.
2. Reprezentacja alternatyw warunków - drzewo klasyfikacyjne, przez swą budowę, naturalnie narzuca stosowanie koniunkcji warunków.
3. Brak łatwej możliwości inkrementacyjnego aktualizowania - po dodaniu nowych przykładów trudno jest zaktualizować już istniejące drzewo. Istnieją oczywiście algorytmu
realizujące to zadanie, jednak są dość kosztowne, a zaktualizowane drzewo ma zazwyczaj mniejszą precyzję, niż drzewo zbudowane na nowo.
34
Rozdział 3
Klasyfikator SLIQ
3.1. Wprowadzenie
Większość algorytmów klasyfikujących powstała w dość odległej przeszłości, gdy jeszcze nie
istniały ogromne zbiory danych trenujących. Proces uczenia projektowano bez szczególnego
nacisku na czynniki wydajnościowe. Poniżej przedstawiamy metodę klasyfikacji SLIQ1 [4],
wykorzystującą drzewa decyzyjne do reprezentacji hipotez. SLIQ umożliwia użycie danych
opisanych atrybutami numerycznymi oraz nominalnymi. Zastosowana w nim nowatorska technika sortowania wstępnego, w połączeniu z poziomą strategią wzrostu drzewa, czyni SLIQ
niezwykle efektywnym i skalowalnym narzędziem dla ogromnych prób trenujących, danych
dyskowych, nie mieszczących się w pamięci operacyjnej, z dużą liczbą atrybutów i klas. SLIQ
ponadto wykorzystuje przycinanie MDL. Autorami SLIQ są: Manish Mehta, Rakesh Agrawal
oraz Jorma Rissanen (1996).
3.2. Struktury danych
Właściwości SLIQ w dużej mierze są konsekwencją specjalnej konstrukcji struktur danych.
Listy wartości atrybutów umożliwiają ograniczenie się do jednokrotnego sortowania każdego
z nich. Lista klas pozwala w łatwy sposób dotrzeć do odpowiedniego węzła budowanego drzewa. Histogramy efektywnie wyznaczające miary różnorodności klas. Wszystko to składa się
na dużą skalowalność całego procesu uczenia.
Lista klas
Lista klas jest to zbiór par <etykieta-klasy, referencja-do-liścia>. Elementów na liście klas
jest dokładnie tyle ile jest obserwacji w próbie uczącej. Zakłada się, że i − ty element listy
klas odpowiada i − tej obserwacji z próby uczącej (zachodzi zgodność w etykietach klas).
Pole <referencja-do-liścia> zawiera odnośnik do jednego z liści, który klasyfikuje obserwacje
do tej klasy. Listę klas ustawiamy początkowo dla wszystkich pozycji tak, aby wskazywała
na korzeń. Lista klas powinna pomieścić się w pamięci operacyjnej. Rysunek 3.1 przedstawia
przykładową strukturę listy klas.
Lista wartości atrybutu
1
SLIQ - Supervised Learning in Quest (Quest - projekt badawczy IBM).
35
3.3 Sortowanie wstępne
Klasyfikator SLIQ
Próba ucząca
(dla atrybutu A)
Num.
obs.
Wartość
atrybutu
1
2
...
n
Etykieta
klasy
Lista wartości
(dla atrybutu A)
Num.
obs.
Wartość
atrybutu
Lista klas
(dla próby uczącej)
Referencja
do listy
klas
Num.
obs.
1
2
...
n
Etykieta
klasy
Referencja
do liścia
1
2
...
n
Rysunek 3.1: Struktura danych
Lista wartości atrybutu jest to zbiór par <wartości-atrybutu, referencja-do-listy-klas>. Każda
wartość atrybutu na liście wartości jest jednoznacznie powiązana z jedną obserwacją z próby
uczącej, w konsekwencji również z etykietą klasy. Dla danej wartości atrybutu odnajdujemy
odpowiadającą jej etykietę klasy, co umożliwia przejście do listy klas. Listy wartości tworzone
są niezależnie dla każdego atrybutu numerycznego i mogą być zapisywane na dysku. Rysunek
3.1 przedstawia przykładową strukturę listy wartości atrybutu.
Histogramy
Histogramy wykorzystywane są do określenia rozkładu częstości (proporcji) klas w węzłach.
Histogram dla atrybutu numerycznego ma inną strukturę od histogramu dla atrybutu nominalnego. Do określenia jakości podziału nierównościowego wystarczy informacja ile obserwacji
z danej klasy spełniło test, a ile nie. Przy wykorzystaniu testu przynależnościowego pojawia
się kwestia wyboru podzbioru. W tym celu histogram przechowuje rozkład częstości klas
w węzłach potomkach w podziale na wartości atrybutu. Rysunek 3.2 prezentuje strukturę
histogramu dla atrybutu numerycznego i nominalnego.
L
R
Histogram
(atrybuty ciągłe / numeryczne)
Klasa 1
Klasa 2
...
Klasa n
[częstość]
[częstość]
[częstość]
...
[częstość]
[częstość]
[częstość]
...
Wartość 1
Wartość 2
...
Wartość k
L
R
L
R
L
R
L
R
Histogram
(atrybuty nominalne)
Klasa 1 Klasa 2
...
[częstość] [częstość]
...
[częstość] [częstość]
...
[częstość] [częstość]
...
[częstość] [częstość]
...
[częstość] [częstość]
...
[częstość] [częstość]
...
[częstość] [częstość]
...
[częstość] [częstość]
...
Klasa n
[częstość]
[częstość]
[częstość]
[częstość]
[częstość]
[częstość]
[częstość]
[częstość]
Rysunek 3.2: Struktura histogramów
Oznaczenia L i R określają statystyki dla obserwacji, które spełniają kryterium podziału oraz
dla tych, które kryterium tego nie spełniają. Niezależne histogramy przyporządkowane są do
każdego liścia aktualnie budowanego drzewa.
3.3. Sortowanie wstępne
Rozważmy drzewo decyzyjne przedstawione na rysunku 3.3 - dwa atrybuty (Waga, Wzrost),
10 obserwacji w próbie uczącej oraz 2 klasy (O,S).
36
Klasyfikator SLIQ
3.4 Pozioma strategia wzrostu
Zbiór uczący
Num.
obs.
1
2
3
4
5
6
7
8
9
10
Waga
Wzrost
Klasa
78
92
68
105
55
80
95
182
170
175
177
165
160
188
S
O
S
O
S
O
S
120
48
83
185
163
186
O
S
S
Waga<=80
Wzrost<=160
Waga>80
Wzrost>160
Wzrost<=185
O
S
Wzrost>185
O
S
Rysunek 3.3: Zbiór uczący i drzewo klasyfikacyjne
Do utworzenia drzewa decyzyjnego, potrzebujemy wyznaczenia wielu najlepszych podziałów
(względem zadanych testów). Dla atrybutów ciągłych wiąże się to najczęściej z potrzebą
sortowania danych, które dotarły do danego węzła. Takie podejście ma jednak bardzo negatywne konsekwencje ze względu na otrzymywaną skalowalność procesu klasyfikacji. Pierwsza
technika zastosowana w klasyfikacji metodą SLIQ, pozwala rozwiązać problem. Nazywamy ją
sortowaniem wstępnym (ang. pre-sorting). Schemat sortowania wstępnego zakłada konieczność sortowania danych tylko raz dla każdego atrybutu (sortowanie odbywa się na poziomie
korzenia).
Rysunek 3.4 przedstawia powstałe dwie wstępnie posortowane listy wartości oraz wspólną
listę klas. Zwróćmy uwagę, że referencje do liścia są ustawione na N1 - czyli korzeń.
Zbiór uczący
Po sortowaniu wstępnym
Lista wartości
atrybut
Lista wartości
atrybut
Wzrost
Indeks
listy
klas
Indeks
listy
klas
Klasa
Liść
160
163
165
170
175
177
182
185
186
188
6
9
5
2
3
4
1
8
10
7
1
2
3
4
5
6
7
8
9
10
S
O
S
O
S
O
S
O
S
S
N1
N1
N1
N1
N1
N1
N1
N1
N1
N1
Num.
obs.
Waga
Wzrost
Klasa
Waga
Indeks
listy
klas
1
2
3
4
5
6
7
8
9
10
78
92
68
105
55
80
95
120
48
83
182
170
175
177
165
160
188
185
163
186
S
O
S
O
S
O
S
O
S
S
48
55
68
78
80
83
92
95
105
120
9
5
3
1
6
10
2
7
4
8
Lista klas
Rysunek 3.4: Dane przed i po sortowaniu wstępnym
3.4. Pozioma strategia wzrostu
Metoda SLIQ wykorzystuje poziomą strategią wzrostu drzewa (ang. breadth-first). Wcześniej
omówiliśmy techniki zstępujące (ang. depth-first), rekurencyjnie budujące drzewo, kierując
się początkowo ku „dołowi”. SLIQ w pierwszej kolejności tworzy cały poziom, poruszając się
niejako w szerz, wyznaczając podziały dla wszystkich liści bieżącego drzewa.
Lista wartości każdego atrybutu przeszukiwana jest jednokrotnie. Dla atrybutów ciągłych in37
3.4 Pozioma strategia wzrostu
Klasyfikator SLIQ
Algorytm 3.1 Wyznaczenie podziałów SLIQ
funkcja SLIQ-wyznacz-podziały
zwraca: najlepsze podziały na danym poziomie drzewa;
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
12.
13.
14.
15.
16.
dla każdego atrybutu A wykonaj
rozważ listę wartości atrybutu A;
dla każdej wartości v z listy wartości atrybutu A wykonaj
znajdź odpowiadającą pozycję na liście klas;
przejdź do odpowiadającej klasy i dalej do liścia (powiedzmy l);
zaktualizuj histogram w liściu l;
jeśli A jest atrybutem ciągłym to
wyznacz indeks Giniego dla testu (A ¬ v) w liściu l;
koniec jeśli
jeśli A jest atrybutem nominalnym to
dla każdego liścia drzewa
znajdź podzbiór zbioru wartości A z najlepszym podziałem
(w oparciu o Indeks Giniego);
koniec dla
koniec jeśli
koniec dla
koniec dla
deks Giniego wyznacza się na bieżąco. Przy atrybutach nominalnych dopiero po zakończeniu
skanowania listy jego wartości. Następnie wybierany jest podzbiór zbioru wartości atrybutu,
dający najlepszy podział. Do wyznaczenia najlepszego podziału we wszystkich liściach wystarczy przejść jednokrotnie każdą listę wartości atrybutu.
Do podziałów opartych na atrybutach nominalnych, SLIQ wykorzystuje testy przynależnościowe. Wiemy już, że wyznaczenie wszystkich podzbiorów zbioru wartości atrybutu nominalnego, może być bardzo kosztowne. Do rozwiązania tego problemu użyto w SLIQ podejścia
mieszanego. Dla małych zbiorów wartości (o małej liczności, mniejszej niż ustalony próg)
wyznacza się wszystkie niezbędne podzbiory. Za ograniczenie górne liczności takiego zbioru
przyjmuje się liczbę 10 (210 - podzbiorów można wyznaczyć w miarę szybko). W przypadku
dużych zbiorów stosuje się algorytm zachłanny. Algorytm zachłanny rozpoczyna od pustego podzbioru. W kolejnych krokach do tego podzbioru dodawane są elementy, które dają
najlepszy podział. Proces ten trwa aż do momentu, kiedy nie obserwujemy już poprawy
otrzymanych podziałów.
Rysunek 3.5 przedstawia metodę przejścia z listy wartości, poprzez listę klas, do liścia. Istotną
kwestią jest aktualizacja statystyk w histogramach.
Utworzenie potomków i aktualizacja listy klas
Po wybraniu testu SLIQ tworzy potomki rozważanego węzła. Kolejnym krokiem jest aktualizacja listy klas tak, aby odzwierciedlała bieżącą status drzewa. Rysunek 3.6 prezentuje
przykład realizacji wyżej opisanego zadania. Podział oraz następująca po nim aktualizacja
listy klas, powtarzają się do momentu, gdy do każdego liścia w powstałym drzewie docierają
38
Klasyfikator SLIQ
3.4 Pozioma strategia wzrostu
N1
Waga<=80
Lista wartości
atrybut
Wzrost
Indeks
listy
klas
160
163
165
6
9
5
170
175
177
4
182
185
186
188
1
8
10
7
Lista klas
N2
Indeks
listy
klas
Klasa
Liść
1
2
3
S
O
S
N2
N3
N2
2
4
O
N3
3
5
S
N2
6
O
N2
7
8
9
10
S
O
S
S
N3
N3
N2
N3
1
2
Waga>80
N3
Krok 0:
Histogram początkowy
N3
N2
L
R
O
S
O
S
0
0
0
0
1
4
3
2
Krok 1:
Wyznacz podział: Wzrost <=160
Zaktualizuj histogram
N2
L
R
N3
O
S
O
S
1
0
0
0
0
4
3
2
Krok 2:
Wyznacz podział: Wzrost <=163
Zaktualizuj histogram
N2
L
R
N3
O
S
O
S
1
1
0
0
0
3
3
2
Rysunek 3.5: Przebieg algorytmu SLIQ
obserwacje tylko z jednej klasy. Należy zwrócić uwagę na fakt, że niektóre liście mogą osiągnąć ten stan wcześniej. W takim przypadku nie ma więc sensu stosowania dla nich kolejnych
podziałów.
39
3.4 Pozioma strategia wzrostu
Klasyfikator SLIQ
Algorytm 3.2 Aktualizacja listy klas
funkcja SLIQ-zaktualizuj-listę-klas
zwraca: zaktualizowaną listę klas;
1.
2.
3.
4.
5.
6.
7.
8.
9.
dla każdego atrybutu A użytego w podziale wykonaj
rozważ listę wartości atrybutu A;
dla każdej wartości v z listy wartości atrybutu A wykonaj
znajdź odpowiadającą pozycję na liście klas (powiedzmy e);
znajdź nową klasę c dla v po zastosowaniu testu w węźle e;
zaktualizuj etykietę klasy z e na c;
zaktualizuj referencję do liścia w e na liść odpowiadający c;
koniec dla
koniec dla
N1
Lista wartości
atrybut
Waga<=80
Waga>80
N2
N3
Lista klas
Wzrost
Indeks
listy
klas
Indeks
listy
klas
Klasa
Liść
160
163
165
170
175
177
182
185
186
188
6
9
5
2
3
4
1
8
10
7
1
2
3
4
5
6
7
8
9
10
S
O
S
O
S
O
S
O
S
S
N2
N3
N2
N3
N2
N2->N4
N3
N3
N2->N5
N3
Wzrost<=160
Wzrost<=185
Wzrost>160
N4
Rysunek 3.6: Aktualizacja listy klas
40
N5
N6
Wzrost>185
N7
Rozdział 4
Klasyfikator SPRINT
4.1. Wprowadzenie
Przedstawiony w rozdziale 3 algorytm SLIQ zachowuje własność skalowalności przy założeniu, że lista klas rozważanego zbioru trenującego mieści się w pamięci operacyjnej komputera.
Przypomnijmy, że rozmiar listy klas zależy jedynie od liczby przykładów w zbiorze uczącym.
Tak skonstruowany element globalny, posiadający ograniczenie na rozmiar, jest zarazem największym mankamentem algorytmu. Poniżej omówimy klasyfikator o nazwie SPRINT[5]1
(J.C. Shafer, R. Agrawal, M. Mehta, 1996), uwolniony od tego ograniczenia, w dużej mierze
podobny do metody SLIQ. SPRINT wykorzystuje bardzo podobne struktury danych do tych
zaprojektowanych dla SLIQ. SPRINT nie definiuje listy klas. W konsekwencji otrzymano
brak elementów globalnych, umożliwiając łatwe i efektywne zrównoleglenie implementacji.
Przez pojęcie równoległej implementacji rozumiemy jednoczesne działanie algorytmu na wielu procesorach (CPU). Każdy procesor pracuje nad częścią danych w niezależny od reszty
sposób. Celem jest uzyskanie jednego spójnego modelu.
4.2. Metoda podstawowa
Algorytm SPRINT działa w dwóch fazach: wzrostu drzewa binarnego oraz jego przycinania.
Faza wzrostu jest tym, co różni SPRINT od metody SLIQ. Drzewo SPRINT przycinane jest
metodą opartą o zasadę MDL, która została omówiona w sekcji 2.5.2 niniejszej pracy.
SPRINT wykorzystuje technikę depth-first zstępującej konstrukcji drzewa (2.4.4). Przypomnijmy, że drzewo SLIQ budowane jest w oparciu o poziomą strategię wzrostu (breath-first).
Jako, że schemat zstępującej konstrukcji drzewa został bardzo szczegółowo opisany algorytmem 2.4.4, skoncentrujemy się jedynie na strukturach danych, pozwalających w łatwy sposób
wybrać najlepszy podział.
Lista wartości atrybutu
SPRINT, podobnie jak SLIQ, dla każdego atrybutu tworzy listę jego wartości. Jest to zbiór
trójek postaci: <wartość-atrybutu, etykieta-klasy, referencja-do-przykładu>. Początkowa każda lista wartości atrybutu, powiązana z korzeniem drzewa, zawiera dokładnie taką sama liczbę
elementów co zbiór trenujący. Kolejnym krokiem jest sortowanie wstępne list atrybutów numerycznych, analogiczne do użytego w SLIQ (nie ma konieczności ponownego sortowania list
1
Scalable Parallelizable Induction of Decision Trees
41
4.2 Metoda podstawowa
Klasyfikator SPRINT
w trakcie fazy wzrostu drzewa). Listy atrybutów, w przypadku znacznych rozmiarów, mogą
być przetrzymywane na dysku komputera. W SLIQ lista wartości atrybutu jest elementem
globalnym algorytmu. SPRINT do każdego wierzchołka przyporządkowuje nową listę wartości atrybutu, otrzymywaną z podziału już istniejącej w węźle macierzystym. Proces podziału
dokonuje się w trakcie zstępującego wzrostu poczynając od korzenia. Przykładowe listy wartości atrybutów po sortowaniu wstępnym zaprezentowane sa na rysunku 4.1. Rysunek 4.2
przedstawia podział list wraz z dokonaniem podziału przykładów węźle.
Zbiór uczący
Po sortowaniu wstępnym
Lista wartości atrybutu
Num.
obs.
1
2
3
4
5
6
7
8
9
10
Waga
Wzrost
Klasa
Waga
Klasa
78
92
68
105
55
80
95
120
48
83
182
170
175
177
165
160
188
185
163
186
S
O
S
O
S
O
S
O
S
S
48
55
68
78
80
83
92
95
105
120
S
S
S
S
O
S
O
S
O
O
Num.
obs.
9
5
3
1
6
10
2
7
4
8
Lista wartości atrybutu
Wzrost
Klasa
160
163
165
170
175
177
182
185
186
188
O
S
S
O
S
O
S
O
S
S
Num.
obs.
6
9
5
2
3
4
1
8
10
7
Rysunek 4.1: Listy wartości atrybutów po sortowaniu wstępnym w algorytmie SPRINT
Histogramy
Kryterium oceny jakości podziałów wykorzystane w SPRINT oparte jest na indeksie Giniego
(2.18). Jest to kolejne podobieństwo do metody SLIQ. Również struktury danych umożliwiające efektywne określenie wartości miary Giniego nie uległy zmianie w stosunku do SLIQ.
SPRINT używa identycznych histogramów jak te opisane w sekcji 3.2.
Wybór najlepszego podziału
SPRINT, w odróżnieniu od SLIQ, dokonuje aktualizacji histogramów dla każdego węzła z
osobna (w SLIQ, podczas jednokrotnego przejścia przez listy atrybutów, dochodzi do aktualizacji histogramów w każdym węźle aktualnie procesowanego poziomu drzewa). W przypadku testowania atrybutu numerycznego, do określenia najlepszego punktu podziału, wystarczy
jednokrotnie rozważyć dostępną listę jego wartości. Dla atrybutów nominalnych SPRINT stosuje procedurę hybrydową (mieszaną). Przypomnijmy, że obie metody konstrukcję podziałów
opierają na: testach nierównościowych (def. 2.4.4) w przypadku atrybutów numerycznych
oraz testach przynależnościowych (def. 2.4.3) gdy rozważane są atrybuty nominalne.
Zastosowanie najlepszego z możliwych testów polega na utworzeniu potomków, oraz odpowiednim podziale dostępnych przykładów i list wartości atrybutów. Do efektywnego podziału
list wykorzystuje się tablicę haszującą utworzoną na podstawie <referencji-do-przykładu> listy testowanego atrybutu. Rysunek 4.3 prezentuje tablicę haszująca utworzoną na podstawie
podziału W aga ¬ 80. W przypadku, gdy tablica haszująca nie mieści się w pamięci operacyjnej komputera, podział dokonywany jest w więcej niż jednym kroku.
42
Klasyfikator SPRINT
4.3 Metoda zrównoleglona
Listy atrybutów w węźle N1
Waga
Klasa
48
55
68
78
80
83
92
95
105
120
S
S
S
S
O
S
O
S
O
O
Num.
obs.
9
5
3
1
6
10
2
7
4
8
Listy atrybutów w
węźle N2
Waga
Klasa
48
55
68
78
80
S
S
S
S
O
Wzrost
Klasa
160
163
165
175
182
O
S
S
S
S
Num.
obs.
9
5
3
1
6
Wzrost
Klasa
160
163
165
170
175
177
182
185
186
188
O
S
S
O
S
O
S
O
S
S
Num.
obs.
6
9
5
2
3
4
1
8
10
7
Listy atrybutów w
węźle N3
N1
Waga<=80
Waga>80
N2
N3
Num.
obs.
6
9
5
3
1
Waga
Klasa
83
92
95
105
120
S
O
S
O
O
Wzrost
Klasa
170
177
185
186
188
O
O
O
S
S
Num.
obs.
10
2
7
4
8
Num.
obs.
2
4
8
10
7
Rysunek 4.2: Podział list wartości atrybutów podczas fazy wzrostu drzewa SPRINT
4.3. Metoda zrównoleglona
Klasyfikator SPRINT w wersji zrównoleglonej jest zaprojektowany tak, aby proces uczenia
mógł przebiegać efektywnie przy jednoczesnym wykorzystaniu wielu jednostek obliczeniowych. Skupimy się jedynie na fazie wzrostu drzewa, gdyż przycinanie drzewa metodą MDL
jest zadaniem obliczeniowo mało kosztownym i może być wykonane z użyciem jednego procesora.
Głównym założeniem jakiejkolwiek równoległej implementacji jest posiadanie środowiska,
gdzie każdy z N procesorów posiada prywatną pamięć operacyjną oraz prywatną pamięć
zaalokowaną na dyskach. Procesory połączone są w sieć komunikacyjną i mogą komunikować
się jedynie przez wysyłanie komunikatów.
Analogicznie do podstawowej metody w zrównoleglonej fazie budowy drzewa podstawowym
problemem jest konstrukcja i przeprowadzenie najlepszego podziału. Równie istotną kwestią
jest rozmieszczenie (podział) danych oraz obliczeń.
Podział danych oraz obliczeń
Główne struktury danych w klasyfikatorze SPRINT to: lista wartości atrybutu i histogramy
tworzone na podstawie próby uczącej. Efektywny podział danych oraz obliczeń osiągany jest
przez podział próby uczącej na N możliwie równolicznych części. W kolejnym kroku każdy z
N procesorów otrzymuje porcję danych, na podstawie której wyznacza własne listy wartości
43
4.4 Porównanie klasyfikatorów SPRINT i SLIQ
Test atrybutu: Waga <=80
(listy atrybutów w węźle N1)
Waga
Klasa
48
55
68
78
80
83
92
95
105
120
S
S
S
S
O
S
O
S
O
O
Num.
obs.
9
5
3
1
6
10
2
7
4
8
Klasyfikator SPRINT
Potomek:
Wzrost
Klasa
160
163
165
170
175
177
182
185
186
188
O
S
S
O
S
O
S
O
S
S
L
R
Num.
obs.
6
9
5
2
3
4
1
8
10
7
Tablica haszująca
Num.
obs.
1
2
3
4
5
6
7
8
9
10
Potomek
L
R
L
R
L
L
R
R
L
R
Rysunek 4.3: Przykład tablicy haszującej
atrybutu. Następnie listy wartości dla atrybutów numerycznych są sortowane i dzielone na
nowo tak, aby każdy z procesorów pracował nad „przylegającymi” do siebie wartościami.
Taka procedura ma na celu uniknięcie sytuacji, gdzie jeden z procesów pracuje przykładowo
nad wartościami {1, 5, 10}, a drugi przeprowadza obliczenia dla {3, 7, 12}. Po prawidłowym
przeprowadzeniu sortowania wraz z podziałem w wyniku powinniśmy otrzymać: {1, 3, 5} oraz
{7, 10, 12}.
Wybór najlepszego podziału
Wybór najlepszego podziału w zrównoleglonej wersji SPRINT jest przeprowadzony w sposób
bardzo podobny do metody podstawowej. Każdy z procesorów pracuję nad własną porcją
danych prowadząc niezależne od innych obliczenia na przypisanych do niego strukturach
danych. Dokonanie podziału wymaga dodatkowej komunikacji (wymiany danych) pomiędzy
wszystkimi procesorami.
Nie ma konieczności wykonania żadnych dodatkowych zadań. SPRINT w swych założeniach
został projektowany do przeprowadzania zrónoleglonych obliczeń.
4.4. Porównanie klasyfikatorów SPRINT i SLIQ
Algorytmy SPRINT i SLIQ budują identyczne drzewa decyzyjne, prowadząc do jednakowych
hipotez. Jest to konsekwencją zastosowania tego samego kryterium oceny jakości podziału oraz identycznej metody przycinania drzewa binarnego. Na uwagę zasługuje różnica w
strategii wzrostu drzewa, SLIQ wykorzystuje poziomą, SPRINT stosuje technikę zstępującą.
SPRINT nie posiada elementów globalnych, stając się odpornym na rozmiar zbioru trenującego oraz umożliwiając łatwe zrównoleglenie działania. Tym samym SPRINT rozwiązuje
dwa największe mankamenty metody SLIQ, tworząc szybkie, skalowalne i bardzo dokładne
narzędzie służące eksploracji danych.
44
Rozdział 5
Implementacja klasyfikatora SLIQ
5.1. Wprowadzenie
Implementacja klasyfikatora SLIQ została przeprowadzona we współpracy z Instytutem Podstaw Informatyki Polskiej Akademii Nauk1 w ramach rozwoju pakietu „dmLab”. Jest to implementacja wykonana przez autora niniejszej pracy w oparciu o zawarty we wspomnianym
pakiecie schemat reprezentacji danych trenujących / testowych. Celem implementacji było wykazanie użyteczności klasyfikatora SLIQ w rozwiązywaniu problemów, gdzie złożoność
obliczeniowa i skalowalność procesu uczenia jest szczególnie istotna.
5.2. Środowisko uruchomieniowe
Algorytm SLIQ (analogicznie do całości pakietu dmLab) został zaimplementowany w języku
JAVA2 . Do pakietu dmLab dodano ponad 2000 linii kodu, który zawiera:
1. dmLab.classifier - abstrakcyjną implementację klasyfikatora,
2. dmLab.classifier.tree - abstrakcyjną implementację reprezentacji drzewa,
3. dmLab.classifier.tree.treePruning - abstrakcyjną implementację metody przycinania drzewa,
4. dmLab.classifier.tree.sliqClassifier - implementację algorytmu SLIQ,
5. dmLab.classifier.tree.treePruning.mdlTreePruning - implementację przycinania
drzewa metodą MDL.
Uruchomienie pakietu wymaga zainstalowania środowiska Java Runtime Environment. Wykorzystanie języka JAVA zapewnia niezależność implementacji od architektury oraz platformy
/ systemu operacyjnego.
5.3. Analiza wyników
Dane źródłowe wykorzystane w testach niemal w całości utworzono sztucznie, wykorzystując
prosty generator. Jedynie w przykładzie 5.3.1 dane zawierają prawdziwe relacje, względem
poniższej definicji z atrybutem „play” jako zmienną grupującą:
1
2
http://www.ipipan.waw.pl
http://www.java.sun.com
45
5.3 Analiza wyników
Implementacja klasyfikatora SLIQ
#@relation weather
attributes
{
outlook nominal
temperature numeric
humidity numeric
windy nominal
play nominal decision(all)
}
events
{
...
}
Przykład 5.3.1 prezentuje wynik działania klasyfikatora SLIQ z pakietu dmLab. W pierwszej
części widzimy macierz błędu wraz z precyzją nieprzyciętego drzewa SLIQ. Następnie (sekcja
„Tree info”) odnajdujemy informacje o liczbie węzłów i liści w drzewie, jego wysokości, oraz
czasach budowy i/lub przycinania. W kolejnym kroku system informuje o przeprowadzonym
przycinaniu. Sekcja „Tree structure” prezentuje strukturę przyciętego drzewa SLIQ. Sekcja
„Tree info” aktualizuje liczbowe wskaźniki dla przyciętego drzewa. Na końcu odnajdujemy
jakość ostatecznej klasyfikacji.
Przykład 5.3.1 Drzewo SLIQ zbudowane na próbie uczącej o liczności 2029.
attributes: 5 events: 2029
Confusion Matrix
no
yes
other
no
723
1
0
System Answer
yes
other
0
0
1305
0
0
0
Accuracy : 0.9995071
------------- Tree info ------------Nodes number .............. : 48
Leafs number .............. : 49
Tree height ............... : 10
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 0.071
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 0.071
==================================================
MDL Pruning... Done!
================= Tree structure =================
Root:
outlook \in {overcast}
| L:
[leaf] -> play = yes
| R:
humidity <= 84.0
| | L:
temperature <= 65.0
| | | L:
[leaf] -> play = no
| | | R:
[leaf] -> play = yes
| | R:
temperature <= 70.0
| | | L:
[leaf] -> play = yes
| | | R:
[leaf] -> play = no
------------- Tree info ------------Nodes number .............. : 4
Leafs number .............. : 5
Tree height ............... : 3
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 0.071
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 0.071
46
Implementacja klasyfikatora SLIQ
5.3 Analiza wyników
==================================================
Testing... Done!
Confusion Matrix
System Answer
no
yes
other
no
1412
34
0
yes
10
2602
0
other
0
0
0
Accuracy : 0.9891572
Podsumowując przykład 5.3.1 powiemy, że przycinając drzewo drastycznie zmniejszyliśmy
jego złożoność (liczba węzłów i liści) nie tracąc jakości klasyfikacji (spadek o 1%). Wynik ten
bardzo dobrze obrazuje istotę przycinania drzew.
5.3.1. Skalowalność SLIQ
Skalowalność klasyfikacji metodą SLIQ zbadaliśmy poprzez analizę wpływu wzrostu liczności
próby uczącej i wzrostu liczby atrybutów na czas uczenia. Tabela 5.1 prezentuje podsumowanie eksperymentu dla wzrostu liczności próby. Tabela 5.1 w analogiczny sposób przedstawia
analizę dla wzrostu liczby atrybutów w próbie uczące. Wykresy 5.1, 5.2 utworzono na podstawie danych z tabel 5.1 i 5.2. Szczegóły eksperymentu prezentują przykłady 5.3.2 i 5.3.3.
Wniosek 5.3.1 Analiza wykresów 5.1 i 5.2 wskazuje na liniowy charakter zależności czasu
uczenia od liczności próby oraz liczby atrybutów ją opisujących.
Liczność
Faza budowy
Liczba węzłów
Liczba liści
Głębokość drzewa
Precyzja
Czas budowy
Faza przycinania
Liczba węzłów
Liczba liści
Głębokość drzewa
Precyzja
Czas przycinania
Uproszczenie drzewa
Łączny czas
1 000
2 000
5 000
10 000
20 000
50 000
100 000
537
538
16
100,0%
0,16
1 088
1 089
18
100,0%
0,44
2 558
2 559
22
100,0%
0,94
5 557
5 558
27
100,0%
2,08
9 798
9 799
41
100,0%
7,66
24 421
24 422
41
100,0%
25,05
55 532
55 533
52
100,0%
47,68
231
232
14
82,8%
0,01
57,0%
0,17
344
345
18
79,4%
0,01
68,4%
0,45
584
585
21
76,1%
0,02
77,2%
0,96
92
93
16
63,0%
0,02
98,3%
2,10
874
875
33
69,0%
0,06
91,1%
7,72
590
591
36
63,9%
0,15
97,6%
25,20
541
542
28
61,6%
0,23
99,0%
47,91
Tabela 5.1: Skalowalność SLIQ względem liczność próby uczącej
Przykład 5.3.2 Szczegóły analizy wpływu wzrostu liczność próby uczącej na czas uczenia.
attributes: 11 events: 1000
attributes: 11 events: 2000
Confusion Matrix
System Answer
C3 C5 C4 C1 C2
C3 202 0
0
0
0
C5 0
193 0
0
0
C4 0
0
202 0
0
C1 0
0
0
196 0
C2 0
0
0
0
207
other
0
0
0
0
Confusion Matrix
System Answer
C5 C1 C3 C4 C2
C5 396 0
0
0
0
C1 0
392 0
0
0
C3 0
0
397 0
0
C4 0
0
0
402 0
C2 0
0
0
0
413
other
0
0
0
0
other
0
0
0
0
0
0
0
47
other
0
0
0
0
0
0
0
5.3 Analiza wyników
Implementacja klasyfikatora SLIQ
50
45
40
35
t [s]
30
25
20
15
10
5
0
0
10000
20000
30000
40000
50000
n [obs]
60000
70000
80000
90000
100000
Rysunek 5.1: Skalowalność SLIQ względem liczność próby uczącej
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 537
Leafs number .............. : 538
Tree height ............... : 16
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 0.161
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 0.161
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 231
Leafs number .............. : 232
Tree height ............... : 14
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 0.161
Tree pruning time [s] ..... : 0.01
Total training time [s] ... : 0.171
==================================================
Testing... Done!
Confusion Matrix
System Answer
C3 C5 C4 C1 C2 other
C3 348 24 11 12 9
0
C5 22 341 9
11 3
0
C4 29 30 321 15 9
0
C1 26 34 6
322 4
0
C2 27 37 7
19 324 0
other
0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 1088
Leafs number .............. : 1089
Tree height ............... : 18
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 0.441
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 0.441
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 344
Leafs number .............. : 345
Tree height ............... : 18
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 0.441
Tree pruning time [s] ..... : 0.01
Total training time [s] ... : 0.451
==================================================
Testing... Done!
Confusion Matrix
System Answer
C5 C1 C3 C4 C2 other
C5 656 32 27 32 45 0
C1 48 614 25 46 51 0
C3 41 42 601 51 59 0
C4 56 42 22 640 44 0
C2 44 41 43 32 666 0
other
0
0
0
0
0
0
Accuracy : 0.828
==================================================
attributes: 11 events: 5000
Accuracy : 0.79425
==================================================
attributes: 11 events: 10000
48
Implementacja klasyfikatora SLIQ
Liczba atrybutów
Faza budowy
Liczba węzłów
Liczba liści
Głębokość drzewa
Precyzja
Czas budowy
Faza przycinania
Liczba węzłów
Liczba liści
Głębokość drzewa
Precyzja
Czas przycinania
Uproszczenie drzewa
Łączny czas
5.3 Analiza wyników
10
20
50
100
200
2 801
2 801
23
100,0%
0,95
1 949
1 950
22
100,0%
2,81
1 651
1 652
20
100,0%
5,55
1 459
1 460
19
100,0%
13,88
1 384
1 385
20
100,0%
22,06
296
297
19
69,2%
0,01
89,4%
0,96
341
342
18
74,1%
0,01
82,5%
2,82
303
304
20
73,7%
0,00
81,6%
5,55
397
398
19
78,2%
0,01
72,8%
13,89
319
320
18
75,8%
0,01
77,0%
22,07
Tabela 5.2: Skalowalność SLIQ względem liczby w próbie uczącej
Confusion Matrix
System Answer
C3 C1 C4 C2 C5 other
C3 1046
0
0
0
0
0
C1 0
994 0
0
0
0
C4 0
0
918 0
0
0
C2 0
0
0
994 0
0
C5 0
0
0
0
1048
0
other
0
0
0
0
0
0
Confusion Matrix
System Answer
C3 C2 C4 C1 C5 other
C3 1994
0
0
0
0
0
C2 0
2012
0
0
0
0
C4 0
0
1945
0
0
0
C1 0
1
0
2040
0
0
C5 0
0
0
0
2008
0
other
0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 2558
Leafs number .............. : 2559
Tree height ............... : 22
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 0.941
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 0.941
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 584
Leafs number .............. : 585
Tree height ............... : 21
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 0.941
Tree pruning time [s] ..... : 0.02
Total training time [s] ... : 0.96099997
==================================================
Testing... Done!
Confusion Matrix
System Answer
C3 C1 C4 C2 C5 other
C3 1656
87 155 117 77 0
C1 153 1529
151 66 89 0
C4 135 104 1408
87 102 0
C2 153 103 181 1456
95 0
C5 127 113 181 114 1561
0
other
0
0
0
0
0
0
Accuracy : 0.9999
------------- Tree info ------------Nodes number .............. : 5557
Leafs number .............. : 5558
Tree height ............... : 27
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 2.083
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 2.083
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 92
Leafs number .............. : 93
Tree height ............... : 16
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 2.083
Tree pruning time [s] ..... : 0.02
Total training time [s] ... : 2.103
==================================================
Testing... Done!
Confusion Matrix
System Answer
C3 C2 C4 C1 C5 other
C3 2541
184 515 219 529 0
C2 384 2315
453 271 601 0
C4 389 172 2548
229 552 0
C1 425 174 503 2461
519 0
C5 342 202 497 244 2731
0
other
0
0
0
0
0
0
Accuracy : 0.761
==================================================
Accuracy : 0.6298
==================================================
49
5.3 Analiza wyników
Implementacja klasyfikatora SLIQ
25
20
t [s]
15
10
5
0
0
20
40
60
80
100
n [attr]
120
140
160
180
200
Rysunek 5.2: Skalowalność SLIQ względem liczby atrybutów w próbie uczącej
attributes: 11 events: 20000
attributes: 11 events: 50000
Confusion Matrix
System Answer
C1 C2 C4 C3 C5 other
C1 4056
0
0
0
0
0
C2 0
4097
0
0
0
0
C4 0
0
4018
0
0
0
C3 0
0
0
3960
0
0
C5 0
0
0
0
3869
0
other
0
0
0
0
0
0
Confusion Matrix
System Answer
C1 C4 C3 C2 C5 other
C1 9964
0
0
0
0
0
C4 0
9926
0
0
0
0
C3 0
0
9904
0
0
0
C2 0
0
0
10134
0
0
C5 0
0
0
0
10072
0
other
0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 9798
Leafs number .............. : 9799
Tree height ............... : 41
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 7.661
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 7.661
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 874
Leafs number .............. : 875
Tree height ............... : 33
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 7.661
Tree pruning time [s] ..... : 0.061
Total training time [s] ... : 7.7219996
==================================================
Testing... Done!
Confusion Matrix
System Answer
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 24421
Leafs number .............. : 24422
Tree height ............... : 41
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 25.046
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 25.046
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 590
Leafs number .............. : 591
Tree height ............... : 36
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 25.046
Tree pruning time [s] ..... : 0.151
Total training time [s] ... : 25.196999
==================================================
Testing... Done!
Confusion Matrix
System Answer
50
Implementacja klasyfikatora SLIQ
5.3 Analiza wyników
C1 C2 C4 C3 C5 other
C1 5835
595 542 461 679 0
C2 747 5620
565 521 741 0
C4 747 597 5413
526 753 0
C3 724 616 614 5285
681 0
C5 728 581 539 452 5438
0
other
0
0
0
0
0
0
C1 C4
C1 12439
C4 1540
C3 1495
C2 1571
C5 1521
other
0
C3 C2
2069
13052
2069
2082
2166
0
0
C5 other
1629
2201
1568
2156
12523
2196
1570
13414
1700
2250
0
0
0
Accuracy : 0.689775
==================================================
attributes: 11 events: 100000
Accuracy : 0.63935
==================================================
attributes: 11 events: 200000
Confusion Matrix
System Answer
C5 C4 C2 C1 C3 other
C5 19884
0
0
0
0
0
C4 0
19965
0
0
0
0
C2 0
0
20065
0
0
0
C1 0
0
0
20064
0
0
C3 0
0
0
0
20022
0
other
0
0
0
0
0
0
Confusion Matrix
System Answer
C4 C1 C2 C5 C3 other
C4 39947
0
0
0
0
0
C1 0
39983
0
0
0
0
C2 0
0
40044
0
0
0
C5 0
0
0
40041
0
0
C3 0
0
0
0
39985
0
other 0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 55532
Leafs number .............. : 55533
Tree height ............... : 52
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 47.679
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 47.679
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 541
Leafs number .............. : 542
Tree height ............... : 28
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 47.679
Tree pruning time [s] ..... : 0.23
Total training time [s] ... : 47.909
==================================================
Testing... Done!
Confusion Matrix
System Answer
C5 C4 C2 C1 C3 other
C5 30226
2180
3202
3254
906 0
C4 9581
22917
3224
3303
905 0
C2 9514
2217
24149
3381
869 0
C1 9432
2303
3056
24418
919 0
C3 9753
2243
3046
3434
21568
0
other
0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 94988
Leafs number .............. : 94989
Tree height ............... : 74
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 195.541
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 195.541
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 947
Leafs number .............. : 948
Tree height ............... : 53
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 195.541
Tree pruning time [s] ..... : 0.932
Total training time [s] ... : 196.473
==================================================
Testing... Done!
Confusion Matrix
System Answer
C4 C1 C2 C5 C3 other
C4 51075
4791
6419
7827
9782
0
C1 9088
46473
6348
8099
9958
0
C2 9281
4642
48320
7897
9948
0
C5 8945
4646
6561
49953
9977
0
C3 9222
4645
6258
8054
51791
0
other 0
0
0
0
0
0
Accuracy : 0.61639
Accuracy : 0.61903
1590
1536
1525
1631
12507
0
0
0
0
0
Przykład 5.3.3 Szczegóły analizy wpływu wzrostu liczby atrybutów próbie uczącej na czas
uczenia.
attributes: 11 events: 5000
attributes: 21 events: 5000
Confusion Matrix
System Answer
C1 C3 C2 C4 C5 other
C1 991 0
0
0
0
0
C3 0
979 0
0
0
0
C2 0
0
1043
0
0
0
C4 0
0
0
937 0
0
C5 0
0
0
0
1050
0
Confusion Matrix
System Answer
C4 C3 C2 C5 C1 other
C4 951 0
0
0
0
0
C3 0
1063
0
0
0
0
C2 0
0
1012
0
0
0
C5 0
0
0
968 0
0
C1 0
0
0
0
1006
0
51
5.3 Analiza wyników
other
0
0
0
0
Implementacja klasyfikatora SLIQ
0
0
other
0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 2801
Leafs number .............. : 2802
Tree height ............... : 23
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 0.952
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 0.952
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 296
Leafs number .............. : 297
Tree height ............... : 19
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 0.952
Tree pruning time [s] ..... : 0.01
Total training time [s] ... : 0.962
==================================================
Testing... Done!
Confusion Matrix
System Answer
C1 C3 C2 C4 C5 other
C1 1386
147 126 62 261 0
C3 162 1376
122 64 234 0
C2 164 184 1444
49 245 0
C4 142 156 155 1190
231 0
C5 161 177 155 87 1520
0
other
0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 1949
Leafs number .............. : 1950
Tree height ............... : 22
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 2.814
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 2.814
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 341
Leafs number .............. : 342
Tree height ............... : 18
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 2.814
Tree pruning time [s] ..... : 0.01
Total training time [s] ... : 2.824
==================================================
Testing... Done!
Confusion Matrix
System Answer
C4 C3 C2 C5 C1 other
C4 1394
116 155 144 93 0
C3 134 1551
166 172 103 0
C2 137 115 1533
153 86 0
C5 111 114 137 1469
105 0
C1 127 89 168 169 1459
0
other
0
0
0
0
0
0
Accuracy : 0.6916
==================================================
attributes: 51 events: 5000
Accuracy : 0.7406
==================================================
attributes: 101 events: 5000
Confusion Matrix
System Answer
C4 C1 C3 C5 C2 other
C4 1008
0
0
0
0
0
C1 0
990 0
0
0
0
C3 0
0
1030
0
0
0
C5 0
0
0
956 0
0
C2 0
0
0
0
1016
0
other
0
0
0
0
0
0
Confusion Matrix
System Answer
C1 C4 C3 C2 C5
C1 1054
0
0
0
C4 0
982 0
0
0
C3 0
0
1018
0
C2 0
0
0
992 0
C5 0
0
0
0
954
other
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 1651
Leafs number .............. : 1652
Tree height ............... : 20
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 5.548
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 5.548
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 303
Leafs number .............. : 304
Tree height ............... : 20
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 5.548
Tree pruning time [s] ..... : 0.0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 1459
Leafs number .............. : 1460
Tree height ............... : 19
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 13.88
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 13.88
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 397
Leafs number .............. : 398
Tree height ............... : 19
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 13.88
Tree pruning time [s] ..... : 0.01
52
other
0
0
0
0
0
0
0
0
0
Implementacja klasyfikatora SLIQ
5.3 Analiza wyników
Total training time [s] ... : 5.548
==================================================
Testing... Done!
Confusion Matrix
System Answer
C4 C1 C3 C5 C2 other
C4 1464
145 134 129 144 0
C1 133 1508
99 116 124 0
C3 136 153 1521
126 124 0
C5 143 131 110 1395
133 0
C2 106 169 114 160 1483
0
other
0
0
0
0
0
0
Total training time [s] ... : 13.89
==================================================
Testing... Done!
Confusion Matrix
System Answer
C1 C4 C3 C2 C5 other
C1 1721
120 93 98 76 0
C4 156 1573
70 106 59 0
C3 172 144 1544
108 68 0
C2 185 94 101 1534
70 0
C5 140 121 86 118 1443
0
other
0
0
0
0
0
0
Accuracy : 0.7371
==================================================
attributes: 201 events: 5000
Accuracy : 0.7815
==================================================
attributes: 301 events: 5000
Confusion Matrix
System Answer
C4 C2 C1 C5 C3 other
C4 1020
0
0
0
0
0
C2 0
993 0
0
0
0
C1 0
0
973 0
0
0
C5 0
0
0
1004
0
0
C3 0
0
0
0
1010
0
other
0
0
0
0
0
0
Confusion Matrix
System Answer
C1 C3 C4 C5 C2
C1 999 0
0
0
0
C3 0
1024
0
0
C4 0
0
995 0
0
C5 0
0
0
998 0
C2 0
0
0
0
984
other 0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 1384
Leafs number .............. : 1385
Tree height ............... : 20
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 22.062
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 22.062
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 319
Leafs number .............. : 320
Tree height ............... : 18
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 22.062
Tree pruning time [s] ..... : 0.01
Total training time [s] ... : 22.072
==================================================
Testing... Done!
Confusion Matrix
System Answer
C4 C2 C1 C5 C3 other
C4 1484
143 133 154 126 0
C2 100 1527
93 143 123 0
C1 94 123 1486
129 114 0
C5 84 166 83 1567
108 0
C3 100 173 80 152 1515
0
other
0
0
0
0
0
0
Accuracy : 1.0
------------- Tree info ------------Nodes number .............. : 1339
Leafs number .............. : 1340
Tree height ............... : 21
Tree built ................ : true
Tree pruned ............... : false
Tree building time [s] .... : 40.398
Tree pruning time [s] ..... : 0.0
Total training time [s] ... : 40.398
==================================================
MDL Pruning... Done!
------------- Tree info ------------Nodes number .............. : 127
Leafs number .............. : 128
Tree height ............... : 16
Tree built ................ : true
Tree pruned ............... : true
Tree building time [s] .... : 40.398
Tree pruning time [s] ..... : 0.01
Total training time [s] ... : 40.407997
==================================================
Testing... Done!
Confusion Matrix
System Answer
C1 C3 C4 C5 C2 other
C1 1421
178 74 201 124 0
C3 162 1483
66 170 167 0
C4 171 189 1286
187 157 0
C5 140 173 68 1455
160 0
C2 140 157 83 191 1397
0
other 0
0
0
0
0
0
Accuracy : 0.7579
Accuracy : 0.7042
53
other
0
0
0
0
0
0
0
0
Dodatek A
Topologia, prawdopodobieństwo i
miara
A.1. Przestrzeń topologiczna
Niech Ω będzie dowolnym niepustym zbiorem.
Definicja A.1.1 Rodzinę T podzbiorów zbioru Ω nazywamy topologią w zbiorze Ω jeżeli spełnione są następujące warunki:
(T1 ) ∅ ∈ T, Ω ∈ T.
(T2 ) U ∈ T ∧ V ∈ T ⇒ U ∩ V ∈ T ,
(T3 ) ∀ s ∈ S
Us ∈ T ⇒
[
Us ∈ T
dla dowolnego zbioru S.
s∈S
Topologia jest uogólnieniem1 pojęcia zbioru otwartego. Elementy rodziny T nazywamy zbiorami otwartymi w Ω, a parę (Ω, T) nazywamy przestrzenią topologiczną. Zauważmy, że topologia
jest rodziną zamkniętą na skończony iloczyn, oraz dowolną sumę zbiorów.
Przykład A.1.1 W zbiorze Ω wyróżnia się dwie skrajne topologie:
• {∅, Ω} - topologia minimalna,
• 2Ω - topologia dyskretna.
Przykład A.1.2 Zakładając, że Ω 6= ∅ i ω ∈ Ω można podać dwa kolejne przykłady topologii
w Ω:
• {∅} ∪ {U ⊆ Ω : ω ∈ U }
• {∅} ∪ {U ⊆ Ω : ω ∈
/ U}
Twierdzenie A.1.1 Niech (Ω, T) będzie przestrzenią topologiczną, a S ustalonym podzbiorem zbioru Ω. Rodzina TS podzbiorów zbioru S określona następująco:
TS := S ∩ G : G ∈ T
jest topologią w S.
Wniosek A.1.1 W każdym podzbiorze przestrzeni topologicznej można wprowadzić topologię.
Topologię TS w S nazywamy topologią indukowaną przez topologię T w Ω.
1
wykracza znacznie poza pojęcie otwartości zbioru w przestrzeniach metrycznych
54
A.2 σ-ciało i σ-ciało zbiorów Borela
Topologia, prawdopodobieństwo i miara
A.2. σ-ciało i σ-ciało zbiorów Borela
Definicja A.2.1 Rodzinę F podzbiorów zbioru Ω nazywamy σ-ciałem podzbiorów zbioru Ω
(σ-ciałem w Ω) jeżeli:
(σ1 ) ∅ ∈ F,
(σ2 ) A ∈ F ⇒ Ω \ A ∈ F ,
(σ3 ) Ai ∈ F
dla
i = 1, 2, . . . ⇒
[
∞
Ai ∈ F .
i=1
Wniosek A.2.1 Przeliczalnie addytywne ciało zbiorów jest σ-ciałem.
Przykład A.2.1 Rodziny {∅, Ω}, 2Ω są σ-ciałami podzbiorów zbioru Ω.
Każde σ-ciało zbiorów jest zamknięte ze względu na dopełnienie zbioru i przeliczalną sumę
zbiorów. Dalej przekonamy się, że σ-ciała posiadają znacznie więcej własności.
Twierdzenie A.2.1 Jeżeli F jest σ-ciałem podzbiorów zbioru Ω, to:
(w1 ) Ω ∈ F,
(w2 ) Ai ∈ F
dla
i = 1, 2, . . . , n ⇒
[
n
Ai ∈ F ,
i=1
(w3 ) Ai ∈ F
dla
i = 1, 2, . . . ⇒
\
∞
Ai ∈ F ,
i=1
(w4 ) Ai ∈ F
dla
i = 1, 2, . . . , n ⇒
\
n
Ai ∈ F ,
i=1
(w5 ) A ∈ F ∧ B ∈ F ⇒ A \ B ∈ F ,
(w6 ) jeżeli {Fα }α∈I jest rodziną σ-ciał w zbiorze Ω, to przecięcie
\
Fα jest σ-ciałem w Ω.
α∈I
Twierdzenie A.2.2 Dla każdej rodziny R podzbiorów zbioru Ω istnieje dokładnie jedno σciało F0 w Ω takie, że:
1. R ⊆ F0 ,
2. F0 ⊆ F dla każdego σ-ciała F w Ω.
F0 jest najmniejszym σ-ciałem w Ω zawierającym rodzinę R, nazywamy je σ-ciałem generowanym przez rodzinę R.
Definicja A.2.2 Jeżeli (Ω, T) jest przestrzenią topologiczną z topologią T, to σ-ciałem borelowskim w przestrzeni (Ω, T) nazywamy σ-ciało generowane przez topologię T.
Definicja A.2.3 Przestrzenią mierzalną nazywamy parę (Ω, F), gdzie Ω dowolny zbiór, a F
σ-ciało w Ω.
55
A.3 Miara i miara probabilistyczna
Topologia, prawdopodobieństwo i miara
A.3. Miara i miara probabilistyczna
(Ω, F) - przestrzeń mierzalna.
Definicja A.3.1 Funkcję µ : F → R̃ nazywamy miarą, jeżeli spełnione są następujące warunki:
(µ1 ) ∀ A ∈ Ω, µ(A)­0
(µ2 ) µ(∅) = 0
(µ3 ) µ jest przeliczalnie addytywną funkcją zbioru, tj. dla każdego ciągu zbiorów Ai ∈ F
(i = 1, 2, . . .)
Ai ∩ Aj = ∅
[
∞
i 6=  ⇒
dla
µ
Ai =
∞
X
!
µ(Ai )
i=1
i=1
Mówimy, że zbiory należące do σ-ciała F są µ-mierzalne (lub krótko - mierzalne). Miara jest
uogólnieniem pojęć takich jak długość, pole powierzchni, objętość zbioru2 . Trzy aksjomaty
podane w definicji A.3.1 implikują kilka kolejnych bardzo ważnych własności miary.
Twierdzenie A.3.1 Niech (Ω, F) będzie przestrzenią mierzalną, a µ miarą określoną na σciele F. Wtedy dla dowolnych Ai ∈ F (i = 1, 2, . . . , n) i A, B ∈ F zachodzi:
(w1 ) Ai ∩ Aj = ∅
i 6=  ⇒
dla
[
n
µ
Ai =
!
µ(Ai )
i=1
i=1
n
X
(w2 ) A ⊆ B ⇒ µ(A) ¬ µ(B)
(w3 ) A ⊆ B ∧ µ(B) < +∞ ⇒ µ(B \ A) = µ(B) − µ(A)
[
∞
(w4 ) µ
Ai ¬
i=1
[
n
(w5 ) µ
∞
X
µ(Ai )
i=1
Ai ¬
n
X
µ(Ai )
i=1
i=1
(w6 ) Ai ⊆ Ai+1 ⇒
[
∞
µ
!
Ai = lim µ(Ai )
i→∞
i=1
(w7 ) µ(A1 ) < +∞ ∧ Ai ⊆ Ai+1 ⇒
\
∞
µ
!
Ai = lim µ(Ai )
i=1
i→∞
Dowody twierdzeń A.2.1, A.2.2, A.3.1 można znaleźć w [8] (rozdział IV, §42, 2).
Definicja A.3.2 Każdą miarę P w przestrzeni mierzalnej (Ω, F) spełniającą warunek:
P (Ω) = 1
nazywamy miarą probabilistyczną (prawdopodobieństwem).
2
W przestrzeniach Rn definiuje się najczęściej miarę Lebesgue’a
56
Topologia, prawdopodobieństwo i miara
A.4 Funkcje mierzalne
Definicja A.3.3 Przestrzenią probabilistyczną nazywamy dowolną trójkę (Ω, F, P ), gdzie (Ω, F)
jest przestrzenią mierzalną, a P miarą probabilistyczną w (Ω, F).
Zbiór Ω nazywamy zbiorem zdarzeń elementarnych. Miara probabilistyczna posiada wszystkie
własności miary wymienione w twierdzeniu A.3.1. Dalej przedstawimy cechy miary probabilistycznej, które nie zachodzą w ogólnej sytuacji.
Twierdzenie A.3.2 Jeżeli (Ω, F, P ) jest przestrzenią probabilistyczną i A, B ∈ F, to:
(P1 ) P (A) ¬ 1
(P2 ) P (A) = 1 − P (Ω \ A)
(P3 ) A ⊆ B ⇒ P (B \ A) = P (B) − P (A)
(P4 ) P (A ∪ B) = P (A) + P (B) − P (A ∩ B)
Dowód twierdzenia A.3.2 można znaleźć w [10] (rozdział I, §1.1).
Definicja A.3.4 Prawdopodobieństwo zdarzenia A ∈ F pod warunkiem zdarzenia B ∈ F o
ile P (B) > 0 definiujemy jako:
P (A ∩ B)
P (A|B) =
P (B)
Twierdzenie A.3.3 (Bayesa) Dla takich zdarzeń A, B ∈ F, że P (A) > 0 i P (B) > 0
zachodzi:
P (B|A)P (A)
P (A|B) =
P (B)
Twierdzenie A.3.4
(Bayesa) Dla takich parami rozłącznych zdarzeń A1 , A2 , . . ., że P (An ) >
[
0, n = 1, 2, . . . i
An = Ω, oraz dla każdego takiego zdarzenia B ∈ F, że P (B) > 0 zachodzi:
n
P (Ak )P (B|Ak )
P (Ak |B) = X
P (An )P (B|An )
n
A.4. Funkcje mierzalne
Zakładamy, że (Ω, F) jest przestrzenią mierzalną. Dodatkowo niech A będzie dowolnym podzbiorem zbioru Ω.
Definicja A.4.1 Funkcję f : A → R̃ nazywamy funkcją mierzalną (względem σ-ciała F)
jeżeli A ∈ F oraz:
∀ a ∈ R {x : f (x) < a} ∈ F
Przykładem funkcji mierzalnej jest funkcja stała na zbiorze mierzalnym. Istnieją cztery równoważne definicje mierzalności funkcji.
Twierdzenie A.4.1 Niech f : A → R̃, gdzie A ∈ F. Następujące warunki są równoważne:
(m1 ) f jest funkcją mierzalną,
(m2 ) ∀ a ∈ R
{x : f (x) ¬ a} ∈ F
57
A.4 Funkcje mierzalne
(m3 ) ∀ a ∈ R
{x : f (x) > a} ∈ F
(m4 ) ∀ a ∈ R
{x : f (x) ­ a} ∈ F
Topologia, prawdopodobieństwo i miara
Funkcje mierzalne generują bardzo ważną klasę zbiorów mierzalnych3 . Zamieszczamy poniżej
charakterystykę zbiorów mierzalnych generowanych przez funkcje mierzalne.
Twierdzenie A.4.2 Dla dowolnych mierzalnych funkcji f, g : A → R̃, oraz dowolnych a, b ∈
R zachodzą następujące własności:
(w1 ) {x : f (x) < +∞} ∈ F,
{x : f (x) > −∞} ∈ F,
(w2 ) {x
{x
{x
{x
:
:
:
:
a < f (x) < b} ∈ F,
a ¬ f (x) < b} ∈ F,
a < f (x) ¬ b} ∈ F,
a ¬ f (x) ¬ b} ∈ F,
(w3 ) {x : f (x) = a} ∈ F,
{x : f (x) 6= a} ∈ F,
(w4 ) {x
{x
{x
{x
:
:
:
:
f (x) < g(x)} ∈ F,
f (x) ¬ g(x)} ∈ F,
f (x) = g(x)} ∈ F,
f (x) 6= g(x)} ∈ F.
Twierdzenie A.4.3 Obcięcie funkcji mierzalnej do niepustego zbioru mierzalnego jest funkcją mierzalną.
Dowody twierdzeń A.4.1, A.4.2, A.4.3 można znaleźć w [8] (rozdział VI, §44).
3
W dalszych rozważaniach najczęściej wykorzystywać będziemy własność przechodzenia mierzalności funkcji na mierzalność jej przeciwobrazów (ich pewnej klasy).
58
Dodatek B
Teoria grafów
B.1. Grafy
Definicja B.1.1 Parę G =< V, E > nazywamy grafem jeżeli V jest dowolnym niepustym
zbiorem skończonym oraz E ⊆ P2 (V ) := {A ⊆ V : |A| = 2}. Zbiór V nazywamy zbiorem
wierzchołków, zbiór E nazywamy zbiorem krawędzi grafu G.
Definicja B.1.2 Parę G =< V, E > nazywamy grafem zorientowanym jeżeli V jest dowolnym niepustym zbiorem skończonym oraz E ⊆ V × V .
Każdy element v ∈ V nazywamy wierzchołkiem grafu G. Krawędzią grafu G łączącą wierzchołki v1 , v2 ∈ V nazywamy parę e = {v1 , v2 } ∈ E.
Definicja B.1.3 Podgrafem grafu G =< V, E > nazywamy dowolny graf H =< W, F > taki,
że W ⊆ V oraz F ⊆ E.
Definicja B.1.4 Mówimy, że w grafie G =< V,
E > wierzchołek u ∈ V sąsiaduje z wierz
chołkiem v jeżeli {v, u} ∈ E. Zbiór VG (v) := u ∈ V : {v, e}
∈ E nazywamy
zbiorem
wierzchołków sąsiadujących z wierzchołkiem v, zbiór EG (v) := e ∈ E : v ∈ e nazywamy
zbiorem krawędzi wierzchołka v.
Wniosek B.1.1 Dla dowolnego v ∈ V zachodzi: VG (v) = EG (v).
Definicja B.1.5 Stopniem wierzchołka v ∈ V grafu G =< V, E > nazywamy liczbę:
degG (v) := EG (v)
(B.1)
Definicja B.1.6 Drogą o długości k − 1 (k ­ 2) w grafie G =< V, E > nazywamy dowolny
ciąg wierzchołków (v1 , . . . , vk ) taki, że:
1. {vi , vi+1 } ∈ E
2. i 6= j
dla
dla
i = 1, . . . , k − 1
i, j = 1, . . . , k − 1 ⇒ {vi , vi+1 } =
6 {vj , vj+1 }
Drogę (v1 , . . . , vk ) oznaczamy v1 − vk drogą (v1 − vk droga łączy wierzchołki v1 , vk ∈ V ).
Definicja B.1.7 Drogę (v1 , . . . , vk ) w grafie G =< V, E > nazywamy drogą prostą jeżeli:
i 6= j
dla
i, j = 1, . . . , k − 1 ⇒ (vi 6= vj )
59
B.2 Drzewa
Teoria grafów
Definicja B.1.8 Cyklem w grafie G =< V, E > nazywamy każdą drogę (v1 , . . . , vk ) o długości większej niż 2 taką, że v1 = vk .
Definicja B.1.9 Graf G =< V, E > nazywamy grafem acyklicznym jeżeli nie posiada cykli.
Definicja B.1.10 Graf G =< V, E > nazywamy spójnym wtedy i tylko wtedy, gdy dla każdych u, v ∈ V istnieje u − v droga w grafie G. Składową grafu G nazywamy każdy maksymalny
podgraf spójny grafu G.
Definicja B.1.11 Odległością distG (u, v) w grafie G =< V, E > pomiędzy wierzchołkami
u, v ∈ V nazywamy długość najkrótszej u − v drogi w grafie G. W przypadku, gdy wierzchołki
u, v leżą w różnych składowych przyjmuje się distG (u, v) = +∞.
Funkcja odległość w grafie jest metryką.
B.2. Drzewa
Definicja B.2.1 Graf T =< V, E > nazywamy drzewem jeżeli:
1. T jest grafem spójnym
2. T jest grafem acyklicznym (nie ma cykli).
Graf, które spełnia tylko warunek 2 nazywamy lasem.
Definicja B.2.2 Każdy wierzchołek v ∈ V drzewa T =< V, E > o stopniu degT (v) = 1
nazywamy liściem.
Twierdzenie B.2.1 Jeżeli G =< V, E > jest grafem to następujące warunki są równoważne:
1. graf G jest drzewem
2. dla każdych wierzchołków u, v ∈ V istnieje dokładnie jedna u − v droga w G i jest to
droga prosta
3. Graf G jest spójny i |V | = |E| + 1
4. Graf G jest acykliczny i |V | = |E| + 1
5. Graf G jest acykliczny i dodanie do G nowej krawędzi powoduje powstanie dokładnie
jednego cyklu.
60
Bibliografia
[1] Jacek Koronacki, Jan Ćwik: Statystyczne systemy uczące się, Wydawnictwa NaukowoTechniczne, Warszawa 2005
[2] Paweł Cichosz: Systemy uczące się, Wydawnictwa Naukowo-Techniczne, Warszawa 2000
[3] Leo Breiman, Jerome H. Friedman, Richard A. Olshen, Charles J. Stone: Classification
and Regression Trees, Chapman & Hall, New York, NY, 1984
[4] Manish Mehta, Rakesh Agrawal, Jorma Rissanen: SLIQ: A Fast Scalable Classifier for
Data Mining, Proc. of the Fifth Int’l Conference on Extending Database Technology,
Avignon, France, March 1996
[5] John C. Shafer, Rakesh Agrawal, Manish Mehta: SPRINT: A Scalable Parallel Classifier
for Data Mining, Proc. of the 22th Int’l Conference on Very Large Databases, Mumbai
(Bombay), India, Sept. 1996
[6] Manish Mehta, Jorma Rissanen, Rakesh Agrawal: MDL-based Decision Tree Pruning,
Proc. of the 1st Int’l Conference on Knowledge Discovery in Databases and Data Mining,
Montreal, Canada, August, 1995
[7] Kenneth Ross, Charles R. B. Wright : Matematyka dyskretna, Państwowe Wydawnictwo
Naukowe, Styczeń 2005
[8] Witold Kołodziej: Analiza matematyczna, Państwowe Wydawnictwo Naukowe, Warszawa 1978
[9] Kazimierz Kuratowski: Wstęp do teorii mnogości i topologii, wydanie piąte, Państwowe
Wydawnictwo Naukowe, Warszawa 1972
[10] Jacek Jakubowski, Rafał Sztencel: Wstęp do teorii prawdopodobieństwa, Wydanie II,
SCRIPT, Warszawa 2001
[11] Patrick Billingsley: Prawdopodobieństwo i miara, Państwowe Wydawnictwo Naukowe,
Warszawa 1987
61
Mariusz Gromada
Nr albumu 174094
Warszawa, 31 stycznia 2006
Oświadczenie
Oświadczam, że pracę magisterską pod tytułem „Drzewa Klasyfikacyjne - ich budowa, problemy złożoności i skalowalności”, której promotorem jest Prof. dr hab. Jacek Koronacki
wykonałam samodzielnie, co poświadczam własnoręcznym podpisem.
...........................................
Mariusz Gromada
Download