Drzewa decyzyjne i ich udoskonalenia: od podstaw po zaawansowane techniki

Tekst przeczytasz w:  4 minuty

Drzewo decyzyjne to popularny i skuteczny algorytm, wykorzystywany szczególnie w zadaniach klasyfikacyjnych, ale dobrze sprawdza się również w przypadku przewidywania zjawisk ilościowych. Jego atrakcyjność wynika m.in. z faktu, że reprezentuje zestaw prostych reguł decyzyjnych, które można zapisać w formie „jeżeli... to...”. Z każdym kolejnym podziałem, poszczególne grupy stają się coraz bardziej jednorodne w kontekście objaśnianej zmiennej. 

Wszystkie reguły podziału można zaprezentować w graficznej formie drzewa, co znacznie ułatwia interpretację wyników, a także samego działania algorytmu. Narzędzia analityczne, takie jak PS CLEMENTINE PRO, oferują wsparcie w łatwym przeprowadzeniu i optymalizacji tego procesu, dostarczając intuicyjnych narzędzi i wizualizacji.

Drzewa decyzyjne jako algorytm miały swoje początki już w latach 70., jednak podobieństwa w sposobie klasyfikacji możemy doszukać się już u Karola Linneusza, który dokonał znanego podziału istot żywych na królestwa, gromady, klasy, rodziny, rodzaje i gatunki w latach 30. XVIII wieku. Od tamtej pory powstały liczne odmiany algorytmów opartych na drzewach, wykorzystywane także w bardziej zaawansowanych metodach uczenia maszynowego. Mimo ich skuteczności drzewa decyzyjne mają swoje wady, takie jak niestabilność wyników wynikająca z wrażliwości na specyfikę danych – nawet jego niewielka modyfikacja może prowadzić do rozwinięcia zupełnie innego drzewa. Na bazie tego klasycznego podejścia powstały jednak algorytmy uczenia zespołowego (ang. ensemble learning), które eliminują wiele ograniczeń pojedynczego drzewa. 

Agregacja Bootstrapowa (bagging)

W 1996 roku Breiman zaproponował agregację bootstrapową (bagging), która rozwiązuje problem niestabilności poprzez budowanie wielu modeli drzewa decyzyjnego na różnych podzbiorach danych, losowanych ze zwracaniem. Przy tego typu losowaniu, część obserwacji nie zostaje wybrana do próby uczącej, w związku z czym pełni rolę zbioru walidacyjnego (Out of Bag). Inaczej mówiąc, idea polega na wielokrotnym losowaniu i w efekcie wielokrotnym podziale danych na zbiór uczący i testowy. 

 

bagging (agregacja bootstrapowa)

Bagging (agregacja bootstrapowa)

 

Wynik predykcji opiera się na głosowaniu, gdzie finalną odpowiedzią algorytmu jest ta, która została wskazana przez największą liczbę pojedynczych drzew. Dzięki temu odkrywane wzorce stają się bardziej uniwersalne. Jednak metoda ta ma swoje ograniczenia – w przypadku silnie skorelowanych zmiennych, predyktory mogą być wybierane w sposób powtarzalny, ograniczając skuteczność algorytmu. Do tego dochodzi wątek potencjalnego użycia dużej liczby zmiennych, w efekcie czego uzyskanie ostatecznego wyniku staje się bardzo skomplikowane i czasochłonne. 

Lasy Losowe

W odpowiedzi na ten problem, w 2001 roku Breiman zaproponował technikę, o wdzięcznej nazwie lasy losowe. Kluczową innowacją było losowanie nie tylko podzbiorów danych, ale również zmiennych objaśniających. Algorytm ten, dzięki swojej wszechstronności i stabilności, zdobył ogromną popularność, jednak ceną za te zalety jest większa złożoność obliczeniowa oraz trudniejsza interpretacja wyników.

 

Lasy losowe

Lasy losowe. Źródło: GlobalSoftwareSupport.com

 

Na tym etapie problem z niestabilnością modeli predykcyjnych mamy rozwiązany. A co w takim razie, jeśli podczas modelowania dotknął nas inny częsty problem, tym razem dotyczący skuteczności predykcji?

Adaboost

Jedną z metod ulepszania „tego, co już mamy” jest łączenie klasyfikatorów, czyli pojedynczych modeli w zespoły. Pod pojęciem zespołu kryje się taki model, w którego skład wchodzą mniej skomplikowane klasyfikatory, na podstawie których podejmowana jest ostateczna decyzja. Takim podejściem do analizy cechuje się między innymi algorytm AdaBoost, którego nazwa pochodzi od Adaptative Boosting (z ang. wzmocnienie adaptacyjne). Algorytm ten zdobył uznanie w środowisku analitycznym i stał się pierwowzorem dla rozwoju innych technik wzmacniania. 

 

AdaBoost

AdaBoost

 

AdaBoost skupia się na poprawie skuteczności predykcji poprzez budowanie sekwencyjne zespołów klasyfikatorów. Każdy kolejny model koncentruje się na błędach popełnionych przez poprzedni, dostosowując wagi obiektów w zbiorze treningowym. Zgodnie ze strategią przyrostową stosowaną w metodach gradientowych, jakość budowanego modelu ulega poprawie podczas kolejnych przebiegów. Błędy zmniejszą się z każdą kolejną iteracją, co w praktyce mogłoby doprowadzić do stanu idealnego, w którym ostateczny model nie popełnia żadnego błędu. Nie zapominajmy jednak o konsekwencjach tak dobrego dopasowania. W rzeczywistości model staje się przetrenowany – jest on dobrze dopasowany, ale tylko do danych uczących. Wobec tego traci zdolność do uogólniania wyników, a tym samym użyteczność stosowania na nowych danych. 

XGBoost

XGBoost (Extreme Gradient Boosting), czyli algorytm wzmacniania gradientowego, to obecnie jedna z najpopularniejszych metod z dziedziny data mining. Ponownie mamy do czynienia z zespołem klasyfikatorów, którymi mogą być modele drzew decyzyjnych. XGBoost także wykorzystuje strategię przyrostową, z uwagi na to, że jest to zadanie mniej skomplikowane i czasochłonne niż wytrenowanie wszystkich drzew jednocześnie. Innowacją w tym podejściu jest natomiast wprowadzenie składnika regularyzacji. 

Ogólna postać algorytmu XGBoost składa się z dwóch części. Pierwszy składnik to ten odpowiadający za minimalizację błędu, nazywany funkcją straty, inaczej funkcją kosztu. Drugi, czyli regularyzacja, pomaga zapobiec przetrenowaniu i kontroluje złożoność modelu. Jest to swego rodzaju kara nakładana na model za zbyt dużą liczbę ostatecznych segmentów obserwacji, czyli liści w drzewie decyzyjnym. 

Algorytmy w praktyce

Drzewa decyzyjne oraz ich bardziej zaawansowane odmiany, takie jak lasy losowe czy XGBoost, znajdują szerokie zastosowanie w wielu branżach. Od marketingu i rekomendacji produktów, przez analizy finansowe i ocenę ryzyka kredytowego, aż po medycynę, gdzie służą do diagnozy chorób i przewidywania wyników leczenia. Narzędzia takie jak PS CLEMENTINE PRO pozwalają na szybkie wdrożenie tych metod, nawet przez osoby, które nie mają zaawansowanego przygotowania technicznego. Intuicyjny interfejs i zaawansowane wizualizacje ułatwiają zrozumienie procesu modelowania i interpretację wyników, co czyni te rozwiązania niezastąpionymi w codziennej pracy analityków.

 

Ustawienia dostępności
Wysokość linii
Odległość między literami
Wyłącz animacje
Przewodnik czytania
Czytnik
Wyłącz obrazki
Skup się na zawartości
Większy kursor
Skróty klawiszowe