Udostępnij za pośrednictwem


Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne)

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Tworzy klasyfikator binarny przy użyciu algorytmu wzmacnianego drzewa decyzyjnego

Kategoria: Machine Learning/ Inicjowanie modelu/klasyfikacji

Uwaga

Dotyczy: tylko Machine Learning Studio (klasyczne)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano, jak za pomocą modułu Two-Class Boosted Decision Tree (Dwuklasowe wzmacniane drzewo decyzyjne) w programie Machine Learning Studio (wersja klasyczna) utworzyć model uczenia maszynowego oparty na algorytmie wzmacnianych drzew decyzyjnych.

Wzmacniane drzewo decyzyjne to metoda uczenia zespołowego, w której drugie drzewo koryguje błędy pierwszego drzewa, trzecie poprawia błędy pierwszego i drugiego drzewa itd. Przewidywania są oparte na całej kolekcji drzew, która tworzy przewidywanie. Aby uzyskać więcej informacji technicznych, zobacz sekcję Research (Badania) tego artykułu.

Ogólnie rzecz biorąc, prawidłowo skonfigurowane, wzmacniane drzewa decyzyjne to najprostsze metody, za pomocą których można uzyskać najwyższą wydajność w przypadku szerokiej gamy zadań uczenia maszynowego. Są one jednak również jednymi z osób uczących się intensywnie obciążających pamięć, a bieżąca implementacja przechowuje wszystko w pamięci. W związku z tym model wzmacnianego drzewa decyzyjnego może nie być w stanie przetworzyć bardzo dużych zestawów danych, które mogą obsłużyć niektórzy uczniowie liniowi.

How to configure Two-Class Boosted Decision Tree

Ten moduł tworzy nieprzeszkolony model klasyfikacji. Ponieważ klasyfikacja jest metodą uczenia nadzorowanego, do trenowania modelu potrzebny jest oznakowany zestaw danych, który zawiera kolumnę etykiety z wartością dla wszystkich wierszy.

Ten typ modelu można wytszkolić przy użyciu modułów Train Model (Trenowanie modelu ) lub Tune Model Hyperparameters (Dostrajanie modelu hiperparametrów ).

  1. W Machine Learning Studio (klasycznej) dodaj moduł Boosted Decision Tree do eksperymentu.

  2. Określ sposób trenowania modelu, ustawiając opcję Utwórz tryb szkoleniowy .

    • Pojedynczy parametr: jeśli wiesz, jak chcesz skonfigurować model, możesz podać określony zestaw wartości jako argumenty.

    • Zakres parametrów: jeśli nie masz pewności co do najlepszych parametrów, możesz znaleźć optymalne parametry przy użyciu modułu Hiperparametry modelu dostrajania. Należy podać pewien zakres wartości, a instruktor iteruje po wielu kombinacjach ustawień, aby określić kombinację wartości, które zapewniają najlepszy wynik.

  3. W przypadku wartości Maksymalna liczba liści na drzewo wskaż maksymalną liczbę węzłów końcowych (liści), które można utworzyć w dowolnym drzewie.

    Zwiększając tę wartość, możesz potencjalnie zwiększyć rozmiar drzewa i uzyskać lepszą precyzję, co jest narażone na ryzyko przesłożenia i dłuższego czasu trenowania.

  4. W przypadku minimalnej liczby próbek na węzeł liścia wskaż liczbę przypadków wymaganych do utworzenia dowolnego węzła terminalu (liścia) w drzewie.

    Zwiększając tę wartość, zwiększasz próg tworzenia nowych reguł. Na przykład jeśli wartość domyślna to 1, nawet pojedynczy przypadek może spowodować, że zostanie utworzona nowa reguła. W przypadku zwiększenia wartości do 5 dane szkoleniowe muszą zawierać co najmniej 5 przypadków, które spełniają te same warunki.

  5. Aby Edukacja, wpisz liczbę z zakresów od 0 do 1, która definiuje rozmiar kroku podczas nauki.

    Tempo nauki określa, jak szybko lub wolno uczeniu się zbliża się do optymalnego rozwiązania. Jeśli rozmiar kroku jest zbyt duży, możesz przekroczenie optymalnego rozwiązania. Jeśli rozmiar kroku jest zbyt mały, trenowania trwa dłużej, aby zbiegać się z najlepszym rozwiązaniem.

  6. W przypadku wartości Liczba skonstruowanych drzew wskaż łączną liczbę drzew decyzyjnych do utworzenia w zespole. Tworząc więcej drzew decyzyjnych, możesz potencjalnie uzyskać lepsze pokrycie, ale czas trenowania się zwiększy.

    Ta wartość kontroluje również liczbę drzew wyświetlanych podczas wizualizowania wytrenowany model. Jeśli chcesz wyświetlić lub wydrukować pojedyncze drzewo, ustaw wartość na 1. Jednak po wykonaniu tej czynności jest tylko jedno drzewo (drzewo z początkowym zestawem parametrów) i nie są wykonywane żadne dalsze iteracje.

  7. W przypadku opcji Losowy iniekt liczbowy opcjonalnie wpisz nieujemną liczbę całkowitą, która ma być wartością losowego iniekcyjną. Określenie iniekcyjności zapewnia odtwarzalność między przebiegami, które mają te same dane i parametry.

    Losowy inicjalizowany jest ustawiany domyślnie na 0, co oznacza, że początkowa wartość inicjuje jest uzyskiwana z zegara systemowego. Kolejne przebiegi używające losowego iniekcyju mogą mieć różne wyniki.

  8. Wybierz opcję Zezwalaj na nieznane poziomy kategorii , aby utworzyć grupę dla nieznanych wartości w zestawach trenowania i walidacji.

    Jeśli ta opcja zostanie odznaczona, model może akceptować tylko wartości zawarte w danych szkoleniowych.

    Jeśli zezwolisz na nieznane wartości, model może być mniej dokładny dla znanych wartości, ale prawdopodobnie może zapewnić lepsze przewidywania dla nowych (nieznanych) wartości.

  9. Trenowanie modelu.

    • Jeśli ustawisz tryb Tworzenie instruktora nawartość Pojedynczy parametr, połącz oznaczony zestaw danych i moduł Train Model (Trenowanie modelu ).

    • Jeśli ustawisz ustawienie Utwórz tryb instruktora na wartość Zakres parametrów, połącz oznakowany zestaw danych i wytrenuj model przy użyciu hiperparametrów dostrajania modelu.

    Uwaga

    Jeśli przekażemy zakres parametrów do funkcji Train Model, będzie używana tylko pierwsza wartość z listy zakresów parametrów.

    Jeśli przekażemy pojedynczy zestaw wartości parametrów do modułu Hiperparametry modelu dostrajania, gdy oczekuje on zakresu ustawień dla każdego parametru, zignoruje wartości i użyje wartości domyślnych dla uczących się.

    W przypadku wybrania opcji Zakres parametrów i wprowadzenia pojedynczej wartości dla dowolnego parametru określona pojedyncza wartość będzie używana podczas całej czyszczenie, nawet jeśli inne parametry zmienią się w zakresie wartości.

Wyniki

Po zakończeniu szkolenia:

  • Aby wyświetlić drzewo, które zostało utworzone w każdej iteracji, kliknij prawym przyciskiem myszy moduł Train Model (Trenowanie modelu ) i wybierz pozycję Trained model to visualize (Wytrenowany model do wizualizacji). Jeśli używasz hiperparametrów modelu dostrajania, kliknij prawym przyciskiem myszy moduł i wybierz pozycję Wytrenowany najlepszy model , aby zwizualizować najlepszy model.

    Kliknij każde drzewo, aby przejść do szczegółów podziałów i wyświetlić reguły dla każdego węzła.

  • Aby użyć modelu do oceniania, połącz go z modelem Score Model (Ocena modelu) w celu przewidywania wartości dla nowych przykładów wejściowych.

Przykłady

Przykłady sposobu, w jaki wzmacniane drzewa decyzyjne są używane w uczeniu maszynowym, Azure AI Gallery:

  • Marketing bezpośredni: używa algorytmu two-Class Boosted Decision Tree (Dwuklasowe, wzmacniane drzewo decyzyjne) do przewidywania przyswojenia klientów.

  • Przewidywanie opóźnień lotów: w tym przykładzie użyto algorytmu two-Class Boosted Decision Tree (Dwuklasowe wzmacniane drzewo decyzyjne) w celu określenia, czy lot prawdopodobnie będzie opóźniony.

  • Ryzyko związane z kartami kredytowymi: w tym przykładzie do przewidywania ryzyka używany jest algorytm two class Boosted Decision Tree (Dwuklasowe zwiększone drzewo decyzyjne).

Uwagi techniczne

Ta sekcja zawiera szczegóły implementacji i często zadawane pytania.

Porady dotyczące użycia

  • Aby wytszkolić model wzmacnianego drzewa decyzyjnego, należy udostępnić wiele wystąpień danych. Jeśli zestaw danych zawiera zbyt mało wierszy, podczas trenowania jest generowany błąd.

  • Jeśli w danych brakuje wartości, należy dodać wskaźniki dla funkcji.

  • Ogólnie rzecz biorąc, wzmacniane drzewa decyzyjne dają lepsze wyniki, gdy funkcje są nieco powiązane. Jeśli cechy mają duży stopień entropii (czyli nie są powiązane), współdzielą one niewiele informacji lub nie zawierają żadnych informacji, a kolejność ich w drzewie nie daje dużego znaczenia predykcyjnego. Jeśli tak nie jest, możesz wypróbować model lasów losowych.

    Wzmacnianie działa również dobrze, gdy masz o wiele więcej przykładów niż funkcji, ponieważ model jest podatny na zbytnie dopasowanie.

  • Nie normalizuj zestawu danych. Ponieważ leczenie cech jest proste, nieparametryczne, mniejsze niż lub większe, normalizacja lub dowolna forma funkcji transformacji nie monotonicznej może mieć niewielki wpływ.

  • Funkcje są dyskretyzowane i pojemnikowane przed trenowaniem, więc rozważany jest tylko stosunkowo mały zestaw kandydatów progowych, nawet w przypadku funkcji ciągłych.

Szczegóły implementacji

Aby uzyskać szczegółowe informacje na temat algorytmu wzmacnianego drzewa decyzyjnego, zobacz Greedy Function Approximation: A Gradient Boost Machines (Przybliżenie funkcji zachłannych: maszyny zwiększające gradient).

Algorytm wzmacnianego drzewa decyzyjnego w Machine Learning używa następującej metody zwiększania:

  1. Zacznij od pustej zespołów słabych uczniów.

  2. Dla każdego przykładu trenowania pobierz bieżące dane wyjściowe zespołu. Jest to suma danych wyjściowych wszystkich słabych uczniów w zespole.

  3. Oblicz gradient funkcji straty dla każdego przykładu.

    Zależy to od tego, czy zadanie jest problemem klasyfikacji binarnej, czy też problemem regresji.

    • W binarnym modelu klasyfikacji jest używana utrata dziennika, podobnie jak w przypadku regresji logistycznej.

    • W modelu regresji używana jest strata kwadratowa, a gradient to bieżące dane wyjściowe minus cel.

  4. Skorzystaj z przykładów, aby dopasować się do słabego uczących się, używając gradientu zdefiniowanego właśnie jako funkcja docelowa.

  5. Dodaj tego słabego uczących się do zespołu o sile wskazywanej przez tempo nauki i w razie potrzeby przejdź do kroku 2.

    W tej implementacji słabi uczący się są drzewami regresji najmniejszych kwadratów na podstawie gradientów obliczonych w kroku 3. Drzewa podlegają następującym ograniczeniom:

    • Są one wytrenowane do maksymalnej liczby liści.

    • Każdy liścia ma minimalną liczbę przykładów, aby chronić przed zbytnim dopasowywem.

    • Każdy węzeł decyzyjny jest pojedynczą funkcją porównywaną z pewnym progiem. Jeśli ta funkcja jest mniejsza lub równa wartości progowej, przechodzi w dół o jedną ścieżkę, a jeśli jest większa niż wartość progowa, przechodzi w dół do drugiej ścieżki.

    • Każdy węzeł liścia jest wartością stałą.

  6. Algorytm budowania drzewa zachłannie wybiera funkcję i próg, dla których podział minimalizuje straty kwadratowe w odniesieniu do gradientu obliczonego w kroku 3. Wybór podziału podlega minimalnej liczbie przykładów trenowania na liściu.

    Algorytm jest wielokrotnie dzielony do momentu osiągnięcia maksymalnej liczby liści lub do momentu, gdy nie będzie dostępny prawidłowy podział.

Parametry modułu

Nazwa Zakres Typ Domyślny Opis
Maksymalna liczba liści na drzewo >= 1 Liczba całkowita 20 Określ maksymalną dozwoloną liczbę liści na drzewo
Minimalna liczba próbek na węzeł liścia >= 1 Liczba całkowita 10 Określ minimalną liczbę przypadków wymaganych do formularza liścia
Tempo nauki [double. Epsilon;1.0] Float 0,2 Określanie początkowego kursu nauki
Liczba skonstruowanych drzew >= 1 Liczba całkowita 100 Określ maksymalną liczbę drzew, które można utworzyć podczas trenowania
Iniekt liczb losowych Dowolne Liczba całkowita Wpisz wartość, aby zainicjować generator liczb losowych, który jest używany przez model. Pozostaw wartość domyślną pustą.
Zezwalaj na nieznane poziomy kategorii Dowolne Boolean Prawda W przypadku wartości True dla każdej kolumny kategorii jest tworzony dodatkowy poziom. Wszystkie poziomy w testowym zestawie danych, które nie są dostępne w zestawie danych treningowych, są mapowane na ten dodatkowy poziom.

Dane wyjściowe

Nazwa Typ Opis
Nie wytrenowany model ILearner, interfejs Nieprzeszkolony binarny model klasyfikacji

Zobacz też

Klasyfikacja
Regresja wzmocnionego drzewa decyzyjnego
Lista modułów A–Z