Matematyka za drzewami klasyfikacji i regresji

14

Czy ktoś może wyjaśnić matematykę związaną z klasyfikacją w CART? Chcę zrozumieć, jak przebiegają dwa główne etapy. Na przykład przeszkoliłem klasyfikator CART na zestawie danych i użyłem testowego zestawu danych, aby oznaczyć jego predykcyjne działanie, ale:

  1. Jak wybiera się początkowy korzeń drzewa?

  2. Dlaczego i jak powstaje każda gałąź?

Mój zestaw danych, składający się z 400 tysięcy rekordów z 15 kolumnami i 23 klasami, osiąga 100% dokładność z macierzy zamieszania, używam 10-krotnej walidacji krzyżowej w zbiorze danych. Byłbym naprawdę wdzięczny, gdyby ktoś mógł wyjaśnić etapy klasyfikacji CART?

G Gr
źródło

Odpowiedzi:

24

Drzewa CART i drzewa decyzyjne, takie jak algorytmy, działają poprzez rekurencyjne partycjonowanie zestawu szkoleniowego w celu uzyskania podzestawów, które są możliwie najczystsze dla danej klasy docelowej. Każdy węzeł drzewa jest powiązany z określonym zestawem rekordów który jest dzielony przez określony test elementu. Na przykład podział na ciągły atrybut A może być indukowany przez test A x . Zestaw rekordów T jest następnie dzielony na dwa podzbiory, które prowadzą do lewej gałęzi drzewa i prawej.TAAxT

Tl={tT:t(A)x}

i

Tr={tT:t(A)>x}

Podobnie funkcja jakościowa może być użyta do wywołania podziałów zgodnie z jej wartościami. Na przykład, jeśli B = { b 1 , ... , b k } każdej gałęzi i mogą być wywołane przez test B = b I .BB={b1,,bk}iB=bi

Krok podziału algorytmu rekurencyjnego w celu wywołania drzewa decyzyjnego uwzględnia wszystkie możliwe podziały dla każdej cechy i próbuje znaleźć najlepszy według wybranej miary jakości: kryterium podziału. Jeśli Twój zestaw danych został wywołany na następującym schemacie

A1,,Am,C

AjC(E1,E2,,Ek)EI()

Δ=I(E)i=1k|Ei||E|I(Ei)

EpjEcj

pj=|{tE:t[C]=cj}||E|
Gini(E)=1j=1Qpj2
Q

Prowadzi to do zanieczyszczenia 0, gdy wszystkie rekordy należą do tej samej klasy.

T(1/2,1/2)T

Dobry podział

Tl(1,0)Tr(0,1)TlTr|Tl|/|T|=|Tr|/|T|=1/2Δ

Δ=11/221/2200=1/2

ΔZły podział

Δ=11/221/221/2(1(3/4)2(1/4)2)1/2(1(1/4)2(3/4)2)=1/21/2(3/8)1/2(3/8)=1/8

Pierwszy podział zostanie wybrany jako najlepszy, a następnie algorytm będzie działał rekurencyjnie.

Łatwo jest sklasyfikować nową instancję za pomocą drzewa decyzyjnego, w rzeczywistości wystarczy podążać ścieżką od węzła głównego do liścia. Rekord jest klasyfikowany według większościowej klasy liścia, który osiąga.

Powiedzmy, że chcemy sklasyfikować kwadrat na tej figurze

Dwufunkcyjny zestaw danych

A,B,CCAB

Możliwe drzewo decyzji może być następujące: wprowadź opis zdjęcia tutaj

Oczywiste jest, że kwadrat rekordu zostanie sklasyfikowany według drzewa decyzyjnego jako okrąg, biorąc pod uwagę, że rekord spada na liść oznaczony kółkami.

W tym przykładzie zabawki dokładność zestawu treningowego wynosi 100%, ponieważ żaden rekord nie jest źle sklasyfikowany przez drzewo. Na graficznej reprezentacji zestawu treningowego powyżej możemy zobaczyć granice (szare linie przerywane), których drzewo używa do klasyfikowania nowych instancji.

Jest mnóstwo literatury na temat drzew decyzyjnych, chciałem tylko napisać szkicowe wprowadzenie. Inną znaną implementacją jest C4.5.

Simone
źródło
1
świetne diagramy!
Cam.Davidson.Pilon
Dzięki, niestety wydaje się, że edytor nie obsługuje przesyłania w formacie PDF. Były wektorowe.
Simone,
2

Nie jestem ekspertem od CART, ale możesz wypróbować książkę „Elementy statystycznego uczenia się”, która jest dostępna bezpłatnie online (patrz rozdział 9 dotyczący CART). Myślę, że książka została napisana przez jednego z twórców algorytmu CART (Friedman).

Bitowe
źródło
To bardzo pomogło! +1 genialne znalezisko!
G Gr
@GarrithGraham nie ma problemu, myślałem, że ta darmowa książka jest „dobrze znaną tajemnicą”.
Bitowe