Zwiększanie drzewa gradientowego, jak zaproponował Friedman, używa drzew decyzyjnych z J
węzłami końcowymi (= liśćmi) jako podstawowych uczniów. Istnieje wiele sposobów, aby wyhodować drzewo z dokładnie J
węzłami, na przykład można je wyhodować w pierwszej kolejności w głębokości lub w pierwszej kolejności, ...
Czy istnieje ustalony sposób uprawy drzew z dokładnie J
końcowymi węzłami w celu wzmocnienia drzewa gradientowego?
Zbadałem procedurę uprawy drzewa gbm
pakietu R i wydaje się, że rozszerza ona drzewo w pierwszej kolejności i używa heurystyki opartej na poprawie błędów, aby wybrać, czy rozwinąć lewy czy prawy węzeł potomny - czy to prawda?
gbm
ma parametrn.minobsinnode
kontrolujący minimalną liczbę obiektów na węzeł. Oczywiście liczba węzłów jest mniejsza lub równa NumberOfPoints / n.minobsinnodeOdpowiedzi:
Rozwiązanie w R
gbm
nie jest typowe.Inne pakiety, takie jak
scikit-learn
lubLightGBM
używają tzw. (W scikit-learn)BestFirstTreeBuilder
, gdy liczba liści jest ograniczona. Obsługuje kolejkę priorytetową wszystkich liści i przy każdej iteracji dzieli liść, który przynosi najlepszy spadek zanieczyszczenia. Tak więc nie jest to ani pierwszy, ani pierwszy, ale trzeci algorytm oparty na obliczeniach w liściach.źródło