Wprowadzenie Konstrukcja binarnych drzew klasyfikacyjnych polega na sekwencyjnym dzieleniu podzbiorów przestrzeni próby X na dwa rozłączne i dopełniające się podzbiory, rozpoczynając od całego zbioru X. W każdym kroku podział dokonywany jest tak, aby uzyskane części były możliwie jednorodne. Podzbiory które nie podlegają dalszemu podziałowi nazywać będziemy końcowymi. Do każdego podzbioru końcowego przypisana jest dokładnie jedna etykieta klasy.
Wprowadzenie Idea konstrukcji drzew klasyfikacyjnych jest bardzo podobna do metody stosowanej w diagnostyce medycznej. Lekarz pragnący zdiagnozować pacjenta zadaje mu szereg pytań. Kolejność pytań nie jest przypadkowa, a następne pytanie jest często uzależnione od uzyskanej odpowiedzi na pytanie poprzednie. Przykładowo, lekarz zaczyna od pytania najważniejszego ze względu na diagnozę, np. pytania o wiek pacjenta. Załóżmy, że istotne jest czy pacjent przekroczył 60 rok życia. Sam wiek nie jest wystarczający do podjęcia decyzji. Zatem lekarz zadaje następne pytanie. Zwróćmy uwagę, że być może w grupie osób starszych (wiek > 60) będzie ono dotyczyło poziomu cholesterolu we krwi, bo ta właśnie informacja jest najważniejsza w tej grupie wiekowej. Z kolei w grupie osób młodszych (wiek 60) pytanie będzie dotyczyło ciśnienia tętniczego krwi. Postępując w ten sposób, po kilku krokach, lekarz jest w stanie podjąć decyzję.
Wprowadzenie Opisany powyżej proces można przedstawić graficznie przy pomocy drzewa (stąd nazwa metody). Niech T oznacza drzewo klasyfikacyjne. Węzły (wierzchołki) drzewa T utożsamiać będziemy z podzbiorami przestrzeni próby X i oznaczać literą t. Węzły odpowiadające podzbiorom końcowym nazywać będziemy liśćmi, a zbiór wszystkich liści drzewa T oznaczać będziemy przez T.
Wprowadzenie
Wprowadzenie Cechą charakterystyczną drzewa klasyfikacyjnego są związane z nim dwie funkcje. Określona na zbiorze liści T funkcja ind przyporządkowująca każdemu z nich etykietę klasy oraz określona dla każdego węzła wewnętrznego funkcja podziału s. Funkcja ta każdemu elementowi węzła t przyporządkowuje jedną z dwóch wartości prawda lub fałsz. Wszystkie elementy z węzła t dla których podział s przyjmuje wartość prawda są przyporządkowywane do węzła potomka t L, a te elementy dla których podział s przyjmuje wartość fałsz do węzła potomka t R.
Wprowadzenie Prezentując graficznie drzewo klasyfikacyjne wygodnie jest nanieść w węzłach wewnętrznych drzewa kryteria podziału s, a liściom przyporządkować etykiety klas.
Wprowadzenie Podsumowując, każdy klasyfikator zbudowany w oparciu o drzewo klasyfikacyjne T ma następującą postać: ˆd T (x) = t T ind(t)i (x t).
Wprowadzenie Najpopularniejsze metody konstrukcji drzew klasyfikacyjnych to: CHAID, CART, C4.5, QUEST, CRUISE.
Konstrukcja Konstrukcja drzewa klasyfikacyjnego oparta jest na próbie uczącej L n = {(x 1, y 1 ),..., (x n, y n )}, gdzie x j jest wektorem obserwowanych cech, a y j etykietą klasy (j = 1, 2,..., n). Składa się ona z trzech podstawowych elementów: 1 wyboru metody optymalnego podziału węzłów, 2 doboru optymalnej wielkości drzewa klasyfikacyjnego, czyli reguły decydującej o tym czy dany węzeł ma być węzłem końcowym, czy ma podlegać dalszemu podziałowi, 3 sposobu w jaki każdemu węzłowi końcowemu przyporządkowujemy etykietę klasy.
Konstrukcja Wprowadźmy następujące oznaczenia: n i to liczba obserwacji w próbie uczącej L n należących do i tej klasy, n i (t) liczba obserwacji w węźle t należących do i tej klasy (i = 1,..., K). Wtedy n = n 1 + + n K jest liczbą obserwacji uczących, a n(t) = n 1 (t) + + n K (t) jest liczbą obserwacji uczących w węźle t. Dla dowolnego obiektu Z = (X, Y ) określmy następujące prawdopodobieństwa: p(t) = P(X t), p(t i) = P(X t Y = i), K p(t) = π i p(t i), i=1 gdzie π i jest prawdopodobieństwem a priori tego, że obiekt należy do i tej klasy (i = 1,..., K).
Konstrukcja Przyjmując estymator częstościowy prawdopodobieństwa p(t i) postaci ˆp(t i) = n i(t) n i oraz jeżeli prawdopodobieństwa a priori π i oszacujemy przez n i /n to otrzymujemy następujący estymatory: ˆp(t) = K i=1 π i n i (t) n i = n(t) n, p(i t) = π ip(t i) p(t) = n i(t) n(t).
Konstrukcja Ogólnie rzecz biorąc, każdy podział s generowany jest przez odpowiadające mu pytanie postaci: czy x A, A X? Postać powyższego pytania jest bardzo ogólna. Może ona dotyczyć jedynie jednej cechy (podziały jednowymiarowe) lub wielu cech (podziały wielowymiarowe). Poszukując optymalnego podziału s rozważyć powinniśmy możliwie duży zbiór pytań. Im jednak będzie on większy tym bardziej skomplikowana i długa będzie droga wyboru optymalnego podziału s.
Konstrukcja Każdy podział s jest uwarunkowany przez obserwacje ze zbioru uczącego L n, należące do danego węzła t. Praktycznie trzeba zatem rozdzielić je na dwa podzbiory możliwie jednorodne ze względu na etykietę klasy. Gdyby zatem w węźle t znajdowały się obserwacje tylko z dwóch klas, to idealnym byłby taki podział, który przypisałby obserwacje uczące z jednej klasy do węzła t L, a z drugiej klasy do węzła t R. Dla każdego węzła t określmy pewną miarę i(t) niejednorodności elementów w tym węźle. Stąd, dla każdego podziału s węzła t będziemy mogli zmierzyć niejednorodność elementów w tym węźle oraz w jego potomkach t L i t R.
Konstrukcja Niech φ oznacza funkcję określoną dla wszystkich K-elementowych ciągów prawdopodobieństw (p 1, p 2,..., p K ) takich, że K i=1 p i = 1, p i 0 (i = 1, 2,..., K), spełniającą następujące warunki: 1 funkcja φ osiąga maksimum tylko w punkcie ( 1 K, 1 K,..., 1 K ), 2 funkcja φ osiąga minimum tylko w punktach: (1, 0,..., 0), (0, 1,..., 0),..., (0, 0,..., 1), 3 funkcja φ jest symetryczną funkcją swoich argumentów. Miarę niejednorodności i(t) w węźle t definiujemy następująco: i(t) = φ(p(1 t),..., p(k t)).
Konstrukcja 1 2 3 φ 1 (p 1,..., p K ) = 1 max{p 1,..., p K }. Miara niejednorodności oparta o tę funkcję określa błąd klasyfikacji. φ 2 (p 1,..., p K ) = K p i log p i. i=1 Funkcja ta nazywana jest funkcją entropii. φ 3 (p 1,..., p K ) = 1 K pi 2. i=1 Funkcja ta nazywana jest indeksem Giniego. Wybierany jest taki podział, który daje maksymalną redukcję niejednorodności indeksu przynależności do klasy w węźle.
Konstrukcja
Konstrukcja Wybór optymalnej wielkości drzewa klasyfikacyjnego jest równoważny z podaniem reguły decydującej o tym czy dany węzeł ma podlegać podziałowi czy ma być liściem drzewa. Zwróćmy uwagę, że stosując metodę ponownego podstawiania do szacowania poprawności klasyfikacji za pomocą drzewa klasyfikacyjnego T dochodzimy do następującego wniosku: jeżeli drzewo klasyfikacyjne T powstało z drzewa klasyfikacyjnego T poprzez podział dowolnego węzła końcowego, to ê R (T ) ê R (T ). Co więcej, kontynuując odpowiednio długo proces dzielenia węzłów otrzymamy maksymalne drzewo klasyfikacyjne T max, dla którego w każdym węźle końcowym znajdować się będą tylko te obiekty z próby uczącej L n, które należą do tej samej klasy.
Konstrukcja Budując jednak zbyt duże drzewo klasyfikacyjne mamy do czynienia z tzw. efektem przetrenowania. Polega on na tym, że drzewo doskonale klasyfikuje obiekty z próby uczącej L n lecz coraz słabiej (w miarę zwiększania liczby liści) nowe elementy. z
Konstrukcja Pojawia się zatem problem optymalnego wyboru wielkości drzewa klasyfikacyjnego. Prostym rozwiązaniem (niestety dającym zwykle słabe rezultaty) jest wprowadzenie tzw. reguły stopu. Najprostsza reguła tego typu, każe nie dzielić dalej węzła t, gdy liczba przyporządkowanych mu obserwacji ze zbioru uczącego L n jest odpowiednio mała. Inna reguła stopu każe uznać węzeł t za końcowy, po uzyskaniu odpowiedniej jednorodności drzewa klasyfikacyjnego T.
Konstrukcja Bardziej efektywnym podejściem (choć zwiększającym znacząco czasochłonność procesu konstrukcji optymalnego drzewa klasyfikacyjnego) jest procedura polegająca na wstępnym tworzeniu drzewa maksymalnego, a następnie na selektywnym przycinaniu jego krawędzi. Proces przycinania ma na celu modyfikację postaci maksymalnego drzewa klasyfikacyjnego w ten sposób, aby uzyskać nowe drzewo, które daje możliwie minimalne prawdopodobieństwo błędnej klasyfikacji. Prowadzi on do redukcji wielkości drzewa wyeliminowane zostają te podziały, które nie mają istotnego znaczenia dla poprawności klasyfikacji.
Konstrukcja Ocena błędu dla poddrzewa jest sumą ważoną błędów jego liści. Ocena błędu (e) dla węzła (liścia) ma postać: e = f + z2 2N + z f N f 2 N + z2 4N 2, 1 + z2 N gdzie f jest błędem na zbiorze uczącym, N jest liczbą obserwacji w węźle (liściu), z jest kwantylem z rozkładu normalnego, odpowiadającym poziomowi ufności 1 α (w poniższym przykładzie α = 25%).
Konstrukcja Błąd w węźle rodzicu wynosi 0,46, a w węźle potomku 0,51. Czyli ten podział zwiększa błąd, zatem powinniśmy przyciąć.
Konstrukcja Jednym z podstawowych elementów drzewa klasyfikacyjnego jest określona na liściach drzewa funkcja ind. Przyporządkowuje ona etykietę klasy każdemu z węzłów końcowych. Zdefiniujmy ją następująco: ind(t) = arg max 1 i K ˆp(i t). Jeżeli maksimum wypada dla dwóch lub więcej klas, wybór jednej z nich jest dowolny.
zalety 1 możliwość wykorzystania do klasyfikacji zarówno cech ilościowych jak i jakościowych, 2 prosta forma końcowa drzewa klasyfikacyjnego umożliwiająca w szybki i efektywny sposób klasyfikację nowych obiektów, 3 odporność na obserwacje odstające i sytuacje, w których niektóre zmienne są nieobserwowane, 4 intuicyjna interpretacja.
wady 1 niestabilność nawet niewielkie zmiany próby uczącej mogą prowadzić do dużych różnic w końcowej postaci drzewa, 2 problemy z jakością klasyfikacji.
idea Obecnie bardzo coraz popularną metodą są lasy losowe, zaproponowane przez Breimana (1995). Jest to metoda łączenia wielu drzew klasyfikacyjnych. Wpierw losujemy K prób bootstrapowych, dla każdej z nich konstruujemy drzewo klasyfikacyjne w taki sposób, że w każdym węźle losujemy m (mniej niż liczba wszystkich cech) cech, które będą uczestniczyły w wyborze najlepszego podziału. Drzewa budowane są bez przycinania. Ostatecznie obserwacja klasyfikowana jest poprzez metodę głosowania. Jedynym parametrem metody jest współczynnik m, który powinien być znacznie mniejszy od wymiaru danych p, i przyjmuje się najczęściej (klasyfikacja) jego wartość równą m = p. Szybkość konstrukcji lasów losowych pozwala używać je nawet dla bardzo dużych danych. Oprócz klasyfikacji lasy losowe mogą być wykorzystane w regresji oraz analizie przeżycia.
Top R Packages for Machine Learning (2017) KDnuggets
Machine Learning Workflow