Podstawy AI
Co to jest Drzewo Decyzji?
Co to jest Drzewo Decyzji?
Drzewo decyzji to przydatny algorytm uczenia maszynowego wykorzystywany zarówno do zadań regresji, jak i klasyfikacji. Nazwa “drzewo decyzji” pochodzi od faktu, że algorytm dzieli zestaw danych na coraz mniejsze części, aż do momentu, gdy dane zostaną podzielone na pojedyncze przypadki, które są następnie klasyfikowane. Jeśli można by wizualizować wyniki algorytmu, sposób, w jaki kategorie są dzielone, przypominałby drzewo z wieloma liśćmi.
To jest szybka definicja drzewa decyzji, ale przejdźmy do głębszego omówienia, jak drzewa decyzji działają. Posiadanie lepszego zrozumienia, jak drzewa decyzji działają, a także ich przypadków użycia, pomoże wiedzieć, kiedy ich używać podczas projektów uczenia maszynowego.
Format Drzewa Decyzji
Drzewo decyzji jest podobne do diagramu przepływu. Aby użyć diagramu przepływu, zaczyna się od punktu startowego, czyli korzenia diagramu, a następnie, w zależności od odpowiedzi na kryteria filtrowania tego węzła startowego, przechodzi się do jednego z możliwych następnych węzłów. Ten proces jest powtarzany, aż do osiągnięcia końca.
Drzewa decyzji działają w zasadzie w ten sam sposób, przy czym każdy wewnętrzny węzeł w drzewie jest pewnego rodzaju testem lub kryterium filtrowania. Węzły na zewnątrz, czyli punkty końcowe drzewa, są etykietami dla danych punktów i nazywane są “liśćmi”. Gałęzie, które prowadzą od węzłów wewnętrznych do następnego węzła, są cechami lub połączeniami cech. Reguły używane do klasyfikacji danych punktów są ścieżkami, które prowadzą od korzenia do liści.

Algorytmy Drzew Decyzji
Drzewa decyzji działają na podejściu algorytmicznym, które dzieli zestaw danych na pojedyncze punkty danych na podstawie różnych kryteriów. Te podziały są wykonywane z różnymi zmiennymi, czyli różnymi cechami zestawu danych. Na przykład, jeśli celem jest określenie, czy opisany jest pies czy kot, zmiennymi, na których dzieli się dane, mogą być rzeczy takie jak “pazury” i “szczekanie”.
Co się tyczy algorytmów używanych do podziału danych na gałęzie i liście, istnieją różne metody, które mogą być użyte do podziału drzewa. Jedną z najczęstszych metod podziału jest technika zwana “rekurencyjnym podziałem binarnym“. Podczas wykonywania tej metody podziału, proces zaczyna się od korzenia, a liczba cech w zestawie danych reprezentuje możliwą liczbę podziałów. Używa się funkcji, aby określić, jak dużo dokładności każdy możliwy podział będzie kosztował, a podział jest wykonywany zgodnie z kryterium, które poświęca najmniej dokładności. Ten proces jest wykonywany rekurencyjnie, a podgrupy są tworzone przy użyciu tej samej ogólnej strategii.
Aby określić koszt podziału, używa się funkcji kosztu. Inna funkcja kosztu jest używana dla zadań regresji i klasyfikacji. Celem obu funkcji kosztu jest określenie, które gałęzie mają najbardziej podobne wartości odpowiedzi, czyli najbardziej jednorodne gałęzie. Rozważmy, że chcemy, aby testowe dane pewnej klasy szły pewnymi ścieżkami, co ma sens intuicyjny.
Jeśli chodzi o funkcję kosztu regresji dla rekurencyjnego podziału binarnego, algorytm używany do obliczania kosztu jest następujący:
sum(y – prediction)^2
Przewidywanie dla pewnej grupy punktów danych jest średnią odpowiedzi danych szkoleniowych dla tej grupy. Wszystkie punkty danych są przetwarzane przez funkcję kosztu, aby określić koszt wszystkich możliwych podziałów, a podział z najniższym kosztem jest wybrany.
Jeśli chodzi o funkcję kosztu klasyfikacji, funkcja jest następująca:
G = sum(pk * (1 – pk))
To jest wynik Gini, który jest miarą skuteczności podziału, opartą na liczbie przypadków różnych klas w grupach wynikających z podziału. Innymi słowy, ilustruje, jak zmieszane są grupy po podziale. Optymalny podział jest taki, gdy wszystkie grupy wynikające z podziału składają się tylko z danych wejściowych jednej klasy. Jeśli optymalny podział został utworzony, wartość “pk” będzie równa 0 lub 1, a G będzie równa zero. Można się domyślać, że najgorszy podział jest taki, gdy występuje 50-50% reprezentacja klas w podziale, w przypadku klasyfikacji binarnej. W tym przypadku wartość “pk” będzie równa 0,5, a G również będzie równa 0,5.
Proces podziału jest zakończony, gdy wszystkie punkty danych zostały przekształcone w liście i sklasyfikowane. Jednak może się zdarzyć, że chcemy zatrzymać wzrost drzewa wcześniej. Duże, złożone drzewa są podatne na przeuczenie, ale można użyć kilku różnych metod, aby temu przeciwdziałać. Jedną z metod redukowania przeuczenia jest określenie minimalnej liczby punktów danych, które będą używane do utworzenia liścia. Inną metodą kontroli przeuczenia jest ograniczenie drzewa do pewnej maksymalnej głębokości, co kontroluje, jak długo może się rozciągać ścieżka od korzenia do liścia.
Inny proces zaangażowany w tworzeniu drzew decyzji to przycinanie. Przycinanie może pomóc w zwiększeniu wydajności drzewa decyzji, usuwając gałęzie zawierające cechy, które mają niewielką moc przewidywania / niewielkie znaczenie dla modelu. W ten sposób złożoność drzewa jest zmniejszona, staje się mniej podatne na przeuczenie, a użyteczność przewidywania modelu jest zwiększona.
Gdy przeprowadza się przycinanie, proces może rozpocząć się od góry drzewa lub od dołu. Jednak najłatwiejszą metodą przycinania jest rozpoczęcie od liści i próba usunięcia węzła, który zawiera najbardziej powszechną klasę w tym liściu. Jeśli dokładność modelu nie ulega pogorszeniu, gdy to się robi, zmiana jest zachowywana. Istnieją inne techniki używane do przycinania, ale metoda opisana powyżej – przycinanie z redukcją błędu – jest prawdopodobnie najczęstszą metodą przycinania drzew decyzji.
Zagadnienia Dotyczące Użycia Drzew Decyzji
Drzewa decyzji często są użyteczne, gdy klasyfikacja musi być wykonywana, ale czas obliczeń jest dużym ograniczeniem. Drzewa decyzji mogą wyjaśnić, które cechy w wybranych zestawach danych mają największą moc przewidywania. Ponadto, w przeciwieństwie do wielu algorytmów uczenia maszynowego, gdzie reguły używane do klasyfikacji danych mogą być trudne do zinterpretowania, drzewa decyzji mogą dostarczyć reguły interpretowalne. Drzewa decyzji mogą również korzystać z zmiennych kategorialnych i ciągłych, co oznacza, że mniej wymagań wstępnych jest potrzebne w porównaniu z algorytmami, które mogą obsługiwać tylko jeden z tych typów zmiennych.
Drzewa decyzji nie radzą sobie zbyt dobrze, gdy są używane do określania wartości atrybutów ciągłych. Innym ograniczeniem drzew decyzji jest to, że podczas klasyfikacji, jeśli istnieje niewiele przykładów szkoleniowych, ale wiele klas, drzewo decyzji ma tendencję do bycia niedokładnym.












