Sdílet prostřednictvím


Ladění hyperparametrů modelů

Tento článek popisuje, jak používat komponentu Ladění hyperparametrů modelu v návrháři služby Azure Machine Learning. Cílem je určit optimální hyperparametry pro model strojového učení. Komponenta sestavuje a testuje více modelů pomocí různých kombinací nastavení. Porovnává metriky ve všech modelech, aby získal kombinace nastavení.

Parametr termínů a hyperparametr můžou být matoucí. Parametry modelu jsou to, co jste nastavili v pravém podokně komponenty. V podstatě tato komponenta provádí úklid parametrů přes zadané nastavení parametrů. Zjistí optimální sadu hyperparametrů, které se můžou lišit pro každý konkrétní rozhodovací strom, datovou sadu nebo regresní metodu. Proces nalezení optimální konfigurace se někdy označuje jako ladění.

Komponenta podporuje následující metodu pro nalezení optimálního nastavení modelu: integrovaný trénování a ladění. V této metodě nakonfigurujete sadu parametrů, které se mají použít. Potom necháte komponentu iterovat více kombinací. Komponenta měří přesnost, dokud nenajde "nejlepší" model. U většiny komponent učení můžete zvolit, které parametry se mají během procesu trénování změnit a které by měly zůstat pevné.

V závislosti na tom, jak dlouho má proces ladění běžet, se můžete rozhodnout, že všechny kombinace důkladně otestujete. Nebo můžete proces zkrátit tak, že vytvoříte mřížku kombinací parametrů a otestujete randomizovanou podmnožinu mřížky parametrů.

Tato metoda vygeneruje natrénovaný model, který můžete uložit pro opakované použití.

Tip

Související úkol můžete provést. Než začnete ladit, použijte výběr funkce k určení sloupců nebo proměnných, které mají nejvyšší hodnotu informací.

Konfigurace hyperparametrů ladění modelu

Učení optimálních hyperparametrů pro model strojového učení vyžaduje značné využití kanálů.

Trénování modelu pomocí úklidu parametrů

Tato část popisuje, jak provést základní úklid parametrů, který trénuje model pomocí komponenty Tune Model Hyperparameters.

  1. Přidejte do kanálu v návrháři komponentu Tune Model Hyperparameters.

  2. Připojte nevytrénovaný model ke vstupu úplně vlevo.

    Poznámka:

    Ladění hyperparametrů modelu se dá připojit pouze k integrovaným komponentám algoritmů strojového učení a nemůže podporovat přizpůsobený model integrovaný v modelu Pythonu.

  3. Přidejte datovou sadu, kterou chcete použít pro trénování, a připojte ji k prostřednímu vstupu hyperparametrů ladění modelu.

    Pokud máte označenou datovou sadu, můžete ji volitelně připojit ke vstupnímu portu úplně vpravo (volitelná ověřovací datová sada). To vám umožní měřit přesnost při trénování a ladění.

  4. Na pravém panelu hyperparametrů Ladění modelu zvolte hodnotu pro režim úklidu parametrů. Tato možnost určuje, jak jsou vybrané parametry.

    • Celá mřížka: Když vyberete tuto možnost, smyčka komponent přes mřížku předdefinovanou systémem, aby vyzkoušela různé kombinace a identifikovala nejlepšího žáka. Tato možnost je užitečná, když nevíte, jaká je nejlepší nastavení parametrů, a chcete vyzkoušet všechny možné kombinace hodnot.

    • Náhodné uklidení: Když vyberete tuto možnost, komponenta náhodně vybere hodnoty parametrů v systémovém rozsahu. Je nutné zadat maximální počet spuštění, která má komponenta provést. Tato možnost je užitečná, když chcete zvýšit výkon modelu pomocí metrik podle vašeho výběru, ale přesto ušetřit výpočetní prostředky.

  5. U sloupce Popisek otevřete selektor sloupců a vyberte jeden sloupec popisku.

  6. Zvolte počet spuštění:

    • Maximální počet spuštění při náhodném úklidu: Pokud zvolíte náhodný úklid, můžete určit, kolikrát má být model natrénován, pomocí náhodné kombinace hodnot parametrů.
  7. Pro řazení vyberte jednu metriku, která se má použít pro řazení modelů.

    Když spustíte úklid parametrů, komponenta vypočítá všechny příslušné metriky pro typ modelu a vrátí je v sestavě výsledků úklidu. Komponenta používá samostatné metriky pro regresi a klasifikační modely.

    Metrika, kterou zvolíte, ale určuje pořadí modelů. Výstupem je pouze top model seřazený podle zvolené metriky jako natrénovaný model, který se má použít k bodování.

  8. Jako náhodné počáteční číslo zadejte celočíselné číslo jako stav generátoru pseudonáhodných čísel, který se používá pro náhodný výběr hodnot parametrů v předdefinované oblasti. Tento parametr je efektivní pouze v případě, že režim úklidu parametrů je náhodný úklid.

  9. Odešlete kanál.

Výsledky ladění hyperparametrů

Po dokončení trénování:

  • Pokud chcete zobrazit výsledky úklidu, můžete na komponentu kliknout pravým tlačítkem myši a pak vybrat Vizualizovat nebo kliknout pravým tlačítkem myši na levý výstupní port komponenty, který chcete vizualizovat.

    Výsledky uklidit zahrnují všechny metriky úklidu a přesnosti parametrů, které se vztahují na typ modelu, a metrika, kterou jste vybrali pro řazení, určuje, který model se považuje za nejlepší.

  • Pokud chcete uložit snímek natrénovaného modelu, vyberte na pravém panelu komponenty Trénování modelu kartu Výstupy a protokoly. Výběrem ikony Zaregistrovat datovou sadu uložte model jako opakovaně použitelnou komponentu.

Technické poznámky

Tato část obsahuje podrobnosti o implementaci a tipy.

Jak funguje úklid parametrů

Při nastavování úklidu parametrů definujete rozsah hledání. Hledání může použít konečný počet vybraných náhodně vybraných parametrů. Nebo může být vyčerpávajícím vyhledáváním v prostoru parametrů, který definujete.

  • Náhodné úklid: Tato možnost trénuje model pomocí nastaveného počtu iterací.

    Zadáte rozsah hodnot, který se má iterovat, a komponenta používá náhodně zvolenou podmnožinu těchto hodnot. Hodnoty se vyberou s nahrazením, což znamená, že čísla, která byla vybrána náhodně, se z fondu dostupných čísel neodeberou. Takže šance, že se vybere jakákoli hodnota, zůstane stejná napříč všemi průchody.

  • Celá mřížka: Možnost použít celou mřížku znamená, že se testuje každá kombinace. Tato možnost je nejpodrobnější, ale vyžaduje nejvíce času.

Řízení délky a složitosti trénování

Iterace v mnoha kombinacích nastavení může být časově náročná, takže tato komponenta nabízí několik způsobů, jak proces omezit:

  • Omezte počet iterací použitých k otestování modelu.
  • Omezte prostor parametrů.
  • Omezte počet iterací i prostor parametrů.

Doporučujeme vytvořit kanál s nastavením, abyste určili nejúčinnější metodu trénování pro konkrétní datovou sadu a model.

Výběr metriky vyhodnocení

Na konci testování model zobrazí sestavu, která obsahuje přesnost jednotlivých modelů, abyste mohli zkontrolovat výsledky metrik:

  • Pro všechny binární klasifikační modely se používá jednotná sada metrik.
  • Přesnost se používá pro všechny klasifikační modely s více třídami.
  • Pro regresní modely se používá jiná sada metrik.

Během trénování ale musíte zvolit jednu metriku, která se má použít při řazení modelů generovaných během procesu ladění. Možná zjistíte, že nejlepší metrika se liší v závislosti na vašem obchodním problému a nákladech na falešně pozitivní a falešně negativní výsledky.

Metriky používané pro binární klasifikaci

  • Přesnost je poměr pravdivých výsledků k celkovým případům.

  • Přesnost je poměr pravdivých výsledků k pozitivním výsledkům.

  • Úplnost je zlomek všech správných výsledků ve všech výsledcích.

  • Skóre F je míra, která vyrovnává přesnost a úplnost.

  • AUC je hodnota, která představuje oblast pod křivkou, pokud jsou falešně pozitivní hodnoty vykresleny na ose x a skutečné pozitivní hodnoty jsou vykresleny na ose y.

  • Průměrná ztráta protokolu je rozdíl mezi dvěma rozděleními pravděpodobnosti: skutečným rozdělením a druhou v modelu.

Metriky používané pro regresi

  • Střední absolutní chyba průměruje všechny chyby v modelu, kde chyba znamená vzdálenost předpovězené hodnoty od skutečné hodnoty. Často se zkracuje jako MAE.

  • Kořen střední kvadratické chyby měří průměr čtverců chyb a potom převezme kořen této hodnoty. Často se zkracuje jako RMSE.

  • Relativní absolutní chyba představuje chybu jako procento skutečné hodnoty.

  • Relativní kvadratická chyba normalizuje celkovou kvadratická chybu vydělením celkové kvadratická chyby predikovaných hodnot.

  • Koeficient určení je jedno číslo, které označuje, jak dobře data odpovídají modelu. Hodnota jednoho znamená, že model přesně odpovídá datům. Hodnota nuly znamená, že data jsou náhodná nebo jinak se do modelu nevejdou. Často se tomu říká r2, R2 nebo r-squared.

Komponenty, které nepodporují úklid parametrů

Téměř všichni studenti ve službě Azure Machine Learning podporují křížové ověřování pomocí integrovaného úklidu parametrů, který umožňuje zvolit parametry pro kanál. Pokud learner nepodporuje nastavení rozsahu hodnot, můžete ho přesto použít při křížovém ověření. V tomto případě je pro úklid vybrán rozsah povolených hodnot.

Další kroky

Podívejte se na sadu komponent dostupných pro Azure Machine Learning.