• Nie Znaleziono Wyników

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

N/A
N/A
Protected

Academic year: 2021

Share "8. Drzewa decyzyjne, bagging, boosting i lasy losowe"

Copied!
15
0
0

Pełen tekst

(1)

Algorytmy rozpoznawania obrazów

8. Drzewa decyzyjne,

bagging, boosting i lasy losowe

dr in˙z. Urszula Libal Politechnika Wrocławska

2015

(2)

1. Drzewa decyzyjne

Drzewa decyzyjne (ang. decision trees), zwane równie˙z drzewami klasyfikacyjnymi (ang. clas- sification trees), opieraj ˛a si˛e o drzewiast ˛a struk- tur˛e. Klasyfikacja zaczyna si˛e w korzeniu drzewa, a ko´nczy po osi ˛agni˛eciu jednej z klas terminal- nych, czyli li´scia. Sposób konstrukcji drzew za- le˙zy od metody podziału klas w w˛ezłach.

Do znanych metod klasyfikacji w oparciu o drzewa decyzyjne nale˙z ˛a CHAID, CART, C4.5 i QUEST.

Rysunek 1. Drzewo decyzyjne - zaznaczono korze´n i li´scie.

Zródło: [1]´

(3)

Rysunek 2. Drzewo decyzyjne generuje podział przestrzeni cech na obszary decyzyjne.

Zródło: [1]´

(4)

2. Binarne drzewa decyzyjne - podział w w˛e´zle

Rodzaje binarnych drzew decyzyjnych (wektor cech to x = (x1, x2, . . . , xD)):

— drzewa zwykłe - podział w w˛e´zle na podstawie jednej cechy: xi≤ α

— drzewa BSP - podział binarny przestrzeni: a1x1+ . . . + aDxD≤ α

— drzewa sferyczne: ||x − m|| ≤ α

W najprostszym przypadku podziały w w˛ezłach drzewa mog ˛a by´c podziałami jednowy- miarowymi, czyli zale˙ze´c jedynie od jednej cechy (drzewa zwykłe). Jednak w przypadku wielowymiarowych problemów takie podej´scie mo˙ze prowadzi´c do wielu podziałów i tym samym wielu w˛ezłów. Rozwi ˛azanie mo˙ze stanowi´c u˙zycie wielowymiarowych podziałów klas w w˛ezłach (drzewa BSP, drzewa sferyczne).

(5)

Rysunek 3. Zwykłe drzewo decyzyjne oraz podział przestrzeni cech na obszary decyzyjne.

Zródło: [1]´

a) b)

Rysunek 4. Podział przestrzeni cech za pomoc ˛a (a) drzewa BSP, (b) drzewa sferycznego.

Zródło: [1]´

(6)

3. Transformacje drzew decyzyjnych

Transformacje drzew niebinarnych w drzewa binarne:

— drzewo binarne typu najstarsze dziecko - kolejne dziecko (rys. 5)

— drzewo binarne oparte o makroklasy (zbiory klas) (rys. 6)

(7)

The oldest-child / next-sibling binary tree

Rysunek 5. Transformacja niebinarnego drzewa decyzyjnego w drzewo binarne.

Zródło: [1]´

(8)

Ł ˛aczenie klas w makroklasy

Rysunek 6. Transformacja niebinarnego drzewa decyzyjnego w drzewo binarne.

Zródło: opracowanie własne´

(9)

4. Przycinanie drzew decyzyjnych

Aby zapobiec przeuczeniu klasyfikatora, czyli nadmiernemu dopasowaniu drzewa do danych z ci ˛agu ucz ˛acego, stosuje si˛e przycinanie (pruning).

— Zast˛epujemy poddrzewo li´sciem (patrz rys. 1).

— Skracamy drzewo, jednocze´snie zmniejszaj ˛ac dokładno´s´c.

— Testujemy zast ˛apienie poddrzewa li´sciem na dodatkowym zbiorze danych - zbiorze przycinania.

(10)

5. Procedury wzmacniaj ˛ace klasyfikatory

Procedury agreguj ˛ace rodziny klasyfikatorów (ensemble method) słu˙z ˛a wzmacnianiu klasy- fikatorów. Do tych metod zaliczamy:

— algorytm bagging - grupy klasyfikatorów (niekoniecznie drzew)

— algorytm boosting - grupy klasyfikatorów (niekoniecznie drzew)

— lasy losowe - grupy drzew decyzyjnych

(11)

6. Algorytm bagging

Bagging (Bootstrap Aggregation) nale˙zy do procedur agreguj ˛acych rodzin˛e klasyfikatorów w jeden zbiorczy klasyfikator, który wynik klasyfikacji opiera na głosowaniu wi˛ekszo´scio- wym.

Rodzina L klasyfikatorów {Ψ1, Ψ2, . . . , ΨL} jest generowana na podstawie L ci ˛agów ucz ˛a- cych, utworzonych przez N-krotne losowanie ze zwracaniem (tzw. próba bootstrapowa) elementów ci ˛agu ucz ˛acego {(x1, c1), (x2, c2), . . . , , (xN, cN)} o długo´sci N.

Wyuczone na ich podstawie klasyfikatory Ψ1, Ψ2, . . . , ΨLpodejmuj ˛a wspóln ˛a decyzj˛e o kla- syfikacji obrazu do jednej z klas, gdy dana klasa uzyska najwi˛ecej wskaza´n.

(12)

7. Algorytm boosting

Boosting (po ang. boosting oznacza wzmocnienie) działa na podobnej zasadzie do bag- gingu, równie˙z generuj ˛ac rodzin˛e klasyfikatorów na podstawie N-elementowej pseudopróby (próby bootstrapowej) z ci ˛agu ucz ˛acego {(x1, c1), (x2, c2), . . . , (xN, cN)}.

Podstawow ˛a proceduj ˛a wzmacniaj ˛ac ˛a klasyfikatory jest algorytm AdaBoost

(od Adaptive Boosting). Polega on na sekwencyjnym losowaniu (ze zwracaniem) nowych ci ˛agów ucz ˛acych, które słu˙z ˛a do wytrenowania kolejnych wersji klasyfikatorów. Procedura w ka˙zdym kroku konstruuje nowy klasyfikator w oparciu o wylosowany ci ˛ag ucz ˛acy, a nast˛epne przypisuje wagi wszystkim obrazom z oryginalnego ci ˛agu ucz ˛acego {(x1, c1), (x2, c2), . . . , (xN, cN)}.

(13)

Wagi te wpływaj ˛a na prawdopodobie´nstwo wylosowania danego obrazu do kolejnej wersji ci ˛agu ucz ˛acego. W pierwszym kroku wagi wszystkich elementów ci ˛agu ucz ˛acego s ˛a równe.

W kolejnych krokach s ˛a zmieniane adaptacyjnie, w zale˙zno´sci od poprawno´sci klasyfikacji elementów ci ˛agu ucz ˛acego. Je˙zeli dany obraz został bł˛ednie zaklasyfikowany, to jego waga wzrasta, a w przeciwnym wypadku maleje. Dzi˛eki takiemu działaniu obrazy bł˛ednie zakla- syfikowane cz˛e´sciej ulegaj ˛a wylosowaniu, co jest po˙z ˛adane, poniewa˙z mo˙zliwe jest, ˙ze te elementy ci ˛agu ucz ˛acego znajduj ˛a si˛e najbli˙zej granicy mi˛edzy obszarami decyzyjnymi klas.

U˙zycie klasyfikatorów zbiorczych bagging i boosting wymaga znacznych nakładów obli- czeniowych praktycznie wykluczaj ˛acych ich u˙zycie w trybie on-line, tj. w przypadku ci ˛agle napływaj ˛acych, nowych obrazów do klasyfikacji.

(14)

8. Lasy losowe

Lasy losowe (random forests) b˛ed ˛ace uogólnieniem idei drzew decyzyjnych zalicza si˛e do procedur agreguj ˛acych (ensemble method). Działanie lasów losowych polega na klasyfika- cji za pomoc ˛a grupy drzew decyzyjnych. Ko´ncowa decyzja jest podejmowana w wyniku głosowania wi˛ekszo´sciowego nad klasami wskazanymi przez poszczególne drzewa decy- zyjne.

Natomiast ka˙zde z drzew jest konstruowane w oparciu o prób˛e bootstrapow ˛a, powstał ˛a przez wylosowanie ze zwracaniem N obiektów z ci ˛agu ucz ˛acego o liczno´sci N. W ka˙zdym w˛e´zle podział jest dokonywany jedynie na podstawie k losowo wybranych cech. Ich liczba jest znacznie mniejsza od p, czyli liczby wszystkich cech (k  p). Dzi˛eki tej własno´sci lasy losowe mog ˛a by´c stosowane w problemach o olbrzymiej liczbie cech.

(15)

Literatura

[1] L. Devroye, L. Györfi, G. Lugosi, A Probabilistic Theory of Pattern Recognition, Springer-Verlag, New York (1996)

[2] A.R. Webb, K.D. Copsey, Statistical Pattern Recognition, 3rd ed., Wiley, (2011)

[3] M. Krzy´sko, W. Woły´nski, T. Górecki, M. Skorzybut, Systemy ucz ˛ace si˛e. Rozpoz- nawanie wzorców, analiza skupie´n i redukcja wymiarowo´sci. WNT, Warszawa (2008)

Cytaty

Powiązane dokumenty

Utwórz tablicę 10x5, wypełnij ją losowymi liczbami całkowitymi (0 : 20), a następnie sprawdź w którym wierszu jest największa suma (wypisz liczby na ekran, obok podaj sumę

wyszukaj gwiazdy znajdujące się w odległości x parseków od Ziemii (należy uwzględnić iż obiekt gwiazdowy opisany jest przy pomocy lat świetlnych);. wyszukaj gwiazdy o temperaturze

(a) Znaleźć rozkład brzegowy zmiennej Y, liczby punktów uzyskanych w II etapie teleturnieju przez losowo wybranego uczestnika... Niezależne

Rys. Ko lo rem zie lo nym ozna czo no Êcia ny, na któ rych obo wià zu je wy ko na nie pa sów ppo˝.. ostę po wa nie w spra wie usu nię cia nie pra - wi dło wo ści z za kre su ochro

równomierność – jednostajność rozkładu, czyli stałość prawdopodobieństwa wystąpienia każdej wartości). W naszej pracy zajmiemy się metodami analizy losowości

Napisz funkcję isInCircle typu int, która będzie losowała punkt w kwa- dracie [0, 1]×[0, 1] i zwracała wartość 1, jeśli punkt znajduje się wewnątrz koła o promieniu 13.

Sieci przekonań są zwykle w naturalny sposób zwarte, ponieważ zwykle tylko niewielka liczba zmiennych losowych, spośród być może wielkiej ich liczby, wpływa na każdą

Na przykład, dla sieci o n = 20 węzłach, w której maksymalna liczba zależności dla węzłów wynosi k = 5, dla zmiennych binarnych tablice CPT dla węzłów będą miały maksymalnie