Ladění hyperparametrů modelů

Tento článek popisuje, jak používat komponentu Tune Model Hyperparameters 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í.

Termíny parametr a hyperparametr můžou být matoucí. Parametry modelu jsou to, co nastavíte v pravém podokně komponenty. V podstatě tato komponenta provádí úklid parametrů přes zadané nastavení parametru. 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 vyhledání optimálního nastavení modelu: integrované trénování a ladění. V této metodě nakonfigurujete sadu parametrů, které se mají použít. Pak necháte komponentu iterovat v několika kombinacích. Komponenta měří přesnost, dokud nenajde "nejlepší" model. U většiny komponent, které se učí, můžete zvolit, které parametry se mají během 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 důkladně otestovat všechny kombinace. Nebo můžete proces zkrátit vytvořením mřížky kombinací parametrů a otestováním náhodné podmnožiny mřížky parametrů.

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

Tip

Můžete provést související úkol. Než začnete s laděním, pomocí výběru funkcí určete sloupce nebo proměnné, které mají nejvyšší informační hodnotu.

Postup konfigurace hyperparametrů tune model

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 Hyperparametry.

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

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

    Poznámka

    Hyperparametry ladění modelů se dají připojit jenom k integrovaným komponentám algoritmů strojového učení a nemůžou podporovat přizpůsobený model sestavený při vytváření 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ů tune model.

    Pokud máte datovou sadu označenou, 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 v části Ladění hyperparametrů modelu zvolte hodnotu pro režim úklidu parametrů. Tato možnost určuje, jak se parametry vyberou.

    • Celá mřížka: Když vyberete tuto možnost, komponenta přejde do mřížky předdefinované systémem, aby se vyzkoušely různé kombinace a identifikovaly nejlepšího uživatele. Tato možnost je užitečná, když nevíte, jaká jsou nejlepší nastavení parametrů, a chcete vyzkoušet všechny možné kombinace hodnot.

    • Náhodné úklid: Když vyberete tuto možnost, komponenta náhodně vybere hodnoty parametrů v rozsahu definovaném systémem. Musíte zadat maximální počet spuštění, která má komponenta spouštět. Tato možnost je užitečná, když chcete zvýšit výkon modelu pomocí metrik podle vlastního výběru, ale přesto šetřit výpočetní prostředky.

  5. V části Sloupec popisku otevřete volič sloupců a zvolte sloupec s jedním popiskem.

  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é uklidení, můžete určit, kolikrát se má model natrénovat, pomocí náhodné kombinace hodnot parametrů.
  7. V části Ranking (Hodnocení) zvolte jednu metriku, která se má použít pro řazení modelů.

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

    Metrika, kterou zvolíte, však určuje, jak budou modely seřazeny. Výstupem je pouze nejvyšší model seřazený podle zvolené metriky jako natrénovaný model, který se použije pro vyhodnocování.

  8. Pro náhodné počáteční hodnoty zadejte celé číslo jako stav generátoru pseudonáhodných čísel, který se používá k náhodnému výběru hodnot parametrů v předdefinované oblasti. Tento parametr je účinný pouze v případě, že je režim úklidu parametrůnáhodný.

  9. Odešlete kanál.

Výsledky ladění hyperparametrů

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

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

    Výsledky úklidu zahrnují všechny metriky úklidu parametrů a přesnosti, které se vztahují na typ modelu, a metrika, kterou jste vybrali pro hodnocení, 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žívat konečný počet náhodně vybraných parametrů. Nebo se může jednat o vyčerpávající hledání prostoru parametrů, který definujete.

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

    Zadáte rozsah hodnot pro iteraci a komponenta použije náhodně zvolenou podmnožinu těchto hodnot. Hodnoty jsou vybrány s nahrazením, což znamená, že čísla, která byla vybrána náhodně, nebudou odebrána z fondu dostupných čísel. Takže šance, že vyberete libovolnou hodnotu, zůstane ve všech průchodech stejná.

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

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

Iterace mnoha kombinací nastavení může být časově náročná, takže komponenta nabízí několik způsobů, jak tento 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í konkrétní datové sady a modelu.

Volba 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 použije k hodnocení 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 skutečných výsledků k celkovému počtu případů.

  • Přesnost je poměr skutečných a pozitivních výsledků.

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

  • F-score je míra, která vyrovnává přesnost a úplnost.

  • AUC je hodnota, která představuje oblast pod křivkou, když jsou falešně pozitivní výsledky vykresleny na ose X a pravdivě pozitivní výsledky 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 rozdělením 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 na MAE.

  • Odmocnina střední kvadratické chyby určuje průměr druhých mocnin chyb a potom převezme kořen této hodnoty. Často se zkracuje na RMSE.

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

  • Relativní kvadratická chyba normalizuje celkovou kvadratickou chybu vydělením celkovou kvadratickou chybou predikovaných hodnot.

  • Koeficient determinace je jedno číslo, které udává, jak dobře data vyhovují modelu. Hodnota jednoho znamená, že model přesně odpovídá datům. Hodnota nula znamená, že data jsou náhodná nebo jinak nemůžou být pro model vhodná. Často se označuje jako r2, R2 nebo r-čtvercový.

Komponenty, které nepodporují úklid parametrů

Téměř všichni, kteří se učí v Azure Machine Learning, podporují křížové ověřování pomocí integrovaného úklidu parametrů, který umožňuje zvolit parametry, se kterými se mají kanálovat. Pokud se učící se nepodporuje nastavení rozsahu hodnot, můžete ho přesto použít při křížovém ověřování. 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.