Posílená regrese rozhodovacího stromu
Důležité
Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.
Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).
- Podívejte se na informace o přesunu projektů strojového učení z ML Studia (klasického) do Azure Machine Learning.
- Další informace o Azure Machine Learning.
Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.
Vytvoří regresní model pomocí algoritmu posílené rozhodovacího stromu.
Kategorie: Machine Learning / Inicializace modelu / regrese
Poznámka
Platí pro: Machine Learning Studio (classic)
Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.
Přehled modulu
Tento článek popisuje, jak pomocí modulu Boosted Decision Tree Regression (Posílená regrese rozhodovacího stromu) v Machine Learning Studiu (klasickém) vytvořit soubor regresních stromů pomocí zvýšení. Zvýšení znamená , že každý strom je závislý na předchozích stromech. Algoritmus se učí fitování reziduí stromů, které mu předcházely. Proto zvýšení ve struktury rozhodovacího stromu má tendenci ke zlepšení přesnosti s malým rizikem menšího pokrytí.
Tato regresní metoda je metoda učení pod dohledem, a proto vyžaduje datovou sadu s popiskem. Sloupec popisků musí obsahovat číselné hodnoty.
Poznámka
Tento modul používejte pouze s datovými sadami, které používají číselné proměnné.
Po nadefinování modelu ho vytrénování pomocí modulů Trénování modelu nebo Ladění hyperparametrů modelu.
Tip
Chcete se dozvědět více o vytvořených stromech? Po vytrénování modelu klikněte pravým tlačítkem na výstup modulu Trénování modelu (nebo na modul Vyladit hyperparametry modelu) a vyberte Vizualizovat, abyste viděli strom vytvořený při každé iteraci. Můžete přejít k podrobnostem rozdělení pro jednotlivé stromy a zobrazit pravidla pro jednotlivé uzly.
Další informace o posílených regresních stromech
Zvýšení výkonu je jednou z několika klasických metod pro vytváření souborových modelů spolu s baggingem, náhodnými doménovými strukturami atd. V Machine Learning Studio (classic) používají posílené rozhodovací stromy efektivní implementaci algoritmu TRŽ gradient boosting algoritmu. Gradientní zvýšení výkonu je technika strojového učení pro regresní problémy. Sestaví každý regresní strom krokovaným způsobem, pomocí předdefinované ztrátové funkce změří chybu v každém kroku a v dalším kroku ji opraví. Proto je predikční model ve skutečnosti souborem slabších predikčních modelů.
V případě regresních problémů se zvýšením postupně sestaví řada stromů a pak pomocí libovolně odlišitelné ztrátové funkce vybere optimální strom.
Další informace najdete v těchto článcích:
https://wikipedia.org/wiki/Gradient_boosting#Gradient_tree_boosting
Tento článek na Wikipedii gradient boosting poskytuje základní informace o posílených stromech.
https://research.microsoft.com/apps/pubs/default.aspx?id=132652
Microsoft Research: From RankNet to LambdaRank to LambdaMART: An Overview. J. C. Burges.
Metodu gradient boosting lze použít také pro problémy klasifikace jejich snížením na regresi pomocí vhodné ztrátové funkce. Další informace o implementaci posílených stromů pro úlohy klasifikace najdete v tématu Posílený rozhodovací strom se dvěma třídami.
Konfigurace posílené regrese rozhodovacího stromu
Přidejte do experimentu modul Posílený rozhodovací strom. Tento modul najdete v části Machine Learning, Inicializovat, v kategorii Regrese.
Nastavením možnosti Vytvořit režim školitele určete, jak chcete model vytrénovat.
Jeden parametr: Tuto možnost vyberte, pokud víte, jak chcete model nakonfigurovat, a zadejte konkrétní sadu hodnot jako argumenty.
Rozsah parametrů: Tuto možnost vyberte, pokud si nejste jistí nejlepšími parametry a chcete spustit úklid parametrů. Vyberte rozsah hodnot, které chcete iterovat, a funkce Vyladit model Hyperparametry iteruje přes všechny možné kombinace nastavení, které jste poskytli, aby se určily hyperparametry, které produkují optimální výsledky.
Maximální počet listů na strom: Označuje maximální počet terminálových uzlů (listů), které lze vytvořit v libovolném stromu.
Zvýšením této hodnoty můžete potenciálně zvětšit velikost stromu a získat lepší přesnost s rizikem přeučení a delší doby trénování.
Minimální počet vzorků na uzel typu list: Určete minimální počet případů nutných k vytvoření libovolného koncového uzlu (list) ve stromu.
Zvýšením této hodnoty zvýšíte prahovou hodnotu pro vytváření nových pravidel. Například s výchozí hodnotou 1 může i jeden případ způsobit vytvoření nového pravidla. Pokud zvýšíte hodnotu na 5, trénovací data musí obsahovat alespoň 5 případů, které splňují stejné podmínky.
Učení rychlosti: Zadejte číslo v rozmezí 0 až 1, které definuje velikost kroku při učení. Rychlost učení určuje, jak rychle nebo pomalu se učící proces konverguje na optimální řešení. Pokud je velikost kroku příliš velká, můžete optimální řešení řešit. Pokud je velikost kroku příliš malá, trvá trénování déle, než se zkonverguje nejlepší řešení.
Počet vytvořených stromů: Označuje celkový počet rozhodovacích stromů, které se vytvoří ve směsi. Vytvořením dalších rozhodovacích stromů můžete potenciálně získat lepší pokrytí, ale doba trénování se prodlužuje.
Tato hodnota také určuje počet stromů zobrazených při vizualizaci natrénovaných modelů. Pokud chcete zobrazit nebo vytisknout strom ingle, můžete hodnotu nastavit na 1. To však znamená, že je vytvořen pouze jeden strom (strom s počáteční sadu parametrů) a nejsou provedeny žádné další iterace.
Přediména náhodného čísla: Zadejte volitelné nezá záporné celé číslo, které se použije jako náhodná hodnota seedu. Zadáním předsázky zajistíte reprodukovatelnost napříč spuštěními, která mají stejná data a parametry.
Ve výchozím nastavení je náhodná počáteční hodnota nastavená na 0, což znamená, že počáteční počáteční hodnota se získá ze systémových hodin.
Povolit neznámé úrovně kategorií: Tuto možnost vyberte, pokud chcete vytvořit skupinu pro neznámé hodnoty v trénovací a ověřovací skupině. Pokud výběr této možnosti zrušíte, může model přijmout pouze hodnoty, které jsou obsaženy v trénovací data. Model může být pro známé hodnoty méně přesný, ale může poskytovat lepší předpovědi pro nové (neznámé) hodnoty.
Přidejte trénovací datovou sadu a jeden z trénovacích modulů:
Pokud jste nastavili možnost Vytvořit režim školitele na Jeden parametr, použijte modul Trénování modelu.
Pokud nastavíte Vytvořit režim školitelena Rozsah parametrů, použijte modul Tune Model Hyperparameters (Vyladit model hyperparametrů ).
Poznámka
Pokud předáte rozsah parametrů do trénového modelu, použije se pouze první hodnota v seznamu rozsahů parametrů.
Pokud modulu Vyladění modelu hyperparametrů předáte jednu sadu hodnot parametrů, bude modul, který očekává rozsah nastavení pro každý parametr, ignorovat tyto hodnoty a použije výchozí hodnoty pro toho, kdo se učí.
Pokud vyberete možnost Rozsah parametrů a zadáte jednu hodnotu pro libovolný parametr, tato jedna hodnota se použije v průběhu úklidu, i když se jiné parametry v rozsahu hodnot změní.
Spusťte experiment.
Výsledky
Po dokončení trénování:
Pokud chcete zobrazit strom, který byl vytvořen při každé iteraci, klikněte pravým tlačítkem na Modul Trénování modelu a vyberte Vytrénovaný model , který chcete vizualizovat. Pokud používáte možnost Tune Model Hyperparameters (Vyladit hyperparametry modelu), klikněte pravým tlačítkem na modul a vyberte Trained best model (Vytrénovaný nejlepší model) a vizualizujte nejlepší model.
Kliknutím na jednotlivé stromy můžete přejít k podrobnostem rozdělení a zobrazit pravidla pro jednotlivé uzly.
Pokud chcete použít model pro bodování, připojte ho ke score modelu, abyste předpověděli hodnoty pro nové vstupní příklady.
Pokud chcete uložit snímek natrénovaný model, klikněte pravým tlačítkem na výstup trénování modelu a vyberte Uložit jako. Kopie vytrénovaný model, který uložíte, se při následných spuštěních experimentu ne aktualizována.
Příklady
Příklady použití posílených stromů ve strojové učení najdete v Azure AI Gallery:
Odhad poptávky: Pomocí posílené regrese rozhodovacího stromu předpovídá počet pronájmu pro konkrétní čas.
Analýza mínění na Twitteru: Pomocí regrese vygeneruje predikované hodnocení.
Technické poznámky
Tato část obsahuje podrobnosti o implementaci, tipy a odpovědi na nejčastější dotazy.
Tip
Obecně platí, že rozhodovací stromy přináší lepší výsledky, když jsou vlastnosti poněkud související. Pokud mají funkce velký stupeň entropie (to znamená, že nejsou související), sdílejí jen málo vzájemných informací nebo žádné vzájemné informace a jejich řazení ve stromu nepřidá příliš prediktivní význam.
Podrobnosti o implementaci
Soubor stromů se v každém kroku produkuje výpočtem regresní strom, který přibližuje gradient ztrátové funkce a přidá ho do předchozího stromu s koeficienty, které minimalizují ztrátu nového stromu. Výstupem souboru vytvořeného TRŽištěm v dané instanci je součet výstupů stromu.
V případě problému s binární klasifikací se výstup převede na pravděpodobnost pomocí nějaké formy látky.
V případě regresních problémů je výstupem předpovězená hodnota funkce.
Pro problémy s řazením jsou instance seřazené podle výstupní hodnoty kompletu.
Parametry modulu
Name | Rozsah | Typ | Výchozí | Description |
---|---|---|---|---|
Maximální počet pochodů na strom | >= 1 | Integer | 20 | Zadejte maximální počet pochodů na strom. |
Minimální počet vzorků na uzel na list | >= 1 | Integer | 10 | Zadejte minimální počet případů vyžadovaných k vytvoření uzlu na úrovni listu. |
Rychlost učení | klepat. Epsilon; 1,0] | Float | 0.2 | Zadat počáteční rychlost učení |
Celkový počet konstruovaných stromů | >= 1 | Integer | 100 | Zadejte maximální počet stromů, které se dají vytvořit během školení. |
Počáteční počáteční číslo | Libovolný | Integer | Poskytněte základ pro generátor náhodných čísel používaný modelem. Ve výchozím nastavení ponechte prázdné. | |
Povolení neznámých úrovní kategorií | Libovolný | Logická hodnota | true | Pokud má hodnotu true, vytvořte další úroveň pro každý sloupec kategorií. Úrovně v testovací sadě, které nejsou k dispozici v datové sadě školení, jsou namapovány na tuto další úroveň. |
Výstupy
Název | Typ | Description |
---|---|---|
Nevlakový model | Rozhraní ILearner | Nevýukový model regrese |