Sdílet prostřednictvím


Výběr algoritmů pro Azure Machine Learning

Pokud vás zajímá, který algoritmus strojového učení se má použít, odpověď závisí především na dvou aspektech vašeho scénáře datových věd:

  • Co chcete se svými daty dělat? Konkrétně co je obchodní otázka, na kterou chcete odpovědět tím, že se učíte z minulých dat?

  • Jaké jsou požadavky vašeho scénáře datových věd? Jaké jsou funkce, přesnost, doba trénování, linearita a parametry, které vaše řešení podporuje?

Diagram znázorňující aspekty výběru algoritmů strojového učení

Poznámka:

Návrhář služby Azure Machine Learning podporuje dva typy komponent: klasické předem připravené komponenty (v1) a vlastní komponenty (v2). Tyto dva typy součástí nejsou kompatibilní.

Klasické předem připravené komponenty jsou primárně určené pro zpracování dat a tradiční úlohy strojového učení, jako je regrese a klasifikace. Tento typ komponenty se podporuje i nadále, ale nebudou se přidávat žádné nové komponenty.

Vlastní komponenty umožňují zabalit vlastní kód jako součást. Podporují sdílení komponent mezi pracovními prostory a bezproblémové vytváření obsahu napříč rozhraními Studio, CLI v2 a SDK v2.

U nových projektů důrazně doporučujeme používat vlastní komponenty, které jsou kompatibilní s AzureML V2 a budou dostávat nové aktualizace.

Tento článek se týká klasických předem připravených komponent a není kompatibilní s rozhraním příkazového řádku v2 a sadou SDK v2.

Stručná nápověda k algoritmům služby Azure Machine Learning

Stručná nápověda k algoritmům služby Azure Machine Learning vám pomůže při prvním zvážení: Co chcete se svými daty dělat? Na taháku vyhledejte úkol, který chcete provést, a vyhledejte algoritmus návrháře služby Azure Machine Learning pro řešení prediktivní analýzy.

Poznámka:

Tahák k algoritmům strojového učení si můžete stáhnout.

Návrhář poskytuje komplexní portfolio algoritmů, jako je struktura rozhodování s více třídami, systémy doporučení, regrese neurálních sítí, vícetřídní neurální síť a clustering K-Means. Každý algoritmus je navržený tak, aby řešil jiný typ problému strojového učení. Úplný seznam najdete v referenční dokumentaci k algoritmům a komponentě a dokumentaci o tom, jak jednotlivé algoritmy fungují a jak ladit parametry pro optimalizaci algoritmu.

Spolu s tímto doprovodným materiálem mějte na paměti i další požadavky při výběru algoritmu strojového učení. Následují další faktory, které je potřeba vzít v úvahu, jako je přesnost, doba trénování, linearita, počet parametrů a počet funkcí.

Porovnání algoritmů strojového učení

Některé algoritmy dělají konkrétní předpoklady o struktuře dat nebo požadovaných výsledcích. Pokud najdete ten, který vyhovuje vašim potřebám, může vám poskytnout užitečnější výsledky, přesnější předpovědi nebo rychlejší časy trénování.

Následující tabulka shrnuje některé z nejdůležitějších charakteristik algoritmů z klasifikace, regrese a skupin clusteringu:

Algoritmus Přesnost Čas trénování Linearita Parametry Poznámky
Klasifikační rodina
Logistická regrese ve dvou třídách Dobré Rychlé Ano 4
Rozhodovací doménová struktura se dvěma třídami Vynikající Střední No 5 Zobrazuje pomalejší doby bodování. Doporučujeme nepracovat s více třídami One-vs-All, protože kvůli pomalejším bodovacím časům způsobeným zamykáním vláken v souhrnných předpovědích stromu
Rozhodovací strom se dvěma třídami Vynikající Střední No 6 Velké nároky na paměť
Neurální síť se dvěma třídami Dobré Střední No 8
Perceptron s průměrem ve dvou třídách Dobré Střední Ano 4
Dvoutřídní podpůrný vektorový stroj Dobré Rychlé Ano 5 Vhodné pro velké sady funkcí
Logistická regrese s více třídami Dobré Rychlé Ano 4
Rozhodovací doménová struktura s více třídami Vynikající Střední No 5 Zobrazuje pomalejší doby vyhodnocování.
Rozhodovací strom s více třídami Vynikající Střední No 6 Má tendenci zlepšit přesnost s určitým malým rizikem menšího pokrytí.
Neurální síť s více třídami Dobré Střední No 8
One-vs-all multiclass - - - - Zobrazit vlastnosti vybrané metody se dvěma třídami
Regresní rodina
Lineární regrese Dobré Rychlé Ano 4
Regrese rozhodovacího doménového struktury Vynikající Střední No 5
Zvýšení regrese rozhodovacího stromu Vynikající Střední No 6 Velké nároky na paměť
Regrese neurální sítě Dobré Střední No 8
Řada clusteringů
Clustering K-means Vynikající Střední Ano 8 Algoritmus clusteringu

Požadavky na scénář datových věd

Jakmile víte, co chcete s daty dělat, musíte určit další požadavky pro váš scénář datových věd.

Proveďte volby a možná kompromisy pro následující požadavky:

  • Přesnost
  • Doba trénování
  • Linearita
  • Počet parametrů
  • Počet funkcí

Přesnost

Přesnost ve strojovém učení měří efektivitu modelu jako poměr skutečných výsledků k celkovým případům. V návrháři komponenta Vyhodnotit model vypočítá sadu standardních metrik vyhodnocení. Tuto komponentu můžete použít k měření přesnosti natrénovaného modelu.

Získání nejpřesnější možné odpovědi není vždy nutné. Někdy je odpovídající aproximace v závislosti na tom, k čemu ho chcete použít. V takovém případě možná budete moct výrazně zkrátit dobu zpracování tím, že se přilepíte k více přibližným metodám. Přibližné metody také přirozeně mají tendenci vyhnout se přeurčení.

Komponentu Vyhodnotit model můžete použít třemi způsoby:

  • Vygenerujte skóre trénovacích dat, abyste mohli model vyhodnotit.
  • Vygenerujte skóre modelu, ale porovnejte je s skóre u rezervované testovací sady.
  • Porovnejte skóre dvou různých, ale souvisejících modelů pomocí stejné sady dat.

Úplný seznam metrik a přístupů, které můžete použít k vyhodnocení přesnosti modelů strojového učení, najdete v tématu Vyhodnocení komponenty Modelu.

Doba trénování

Při učení pod dohledem trénování znamená použití historických dat k vytvoření modelu strojového učení, který minimalizuje chyby. Počet minut nebo hodin potřebných k trénování modelu se mezi algoritmy značně liší. Čas trénování je často úzce svázaný s přesností; jeden obvykle doprovází druhý.

Kromě toho jsou některé algoritmy citlivější na počet datových bodů než jiné. Můžete zvolit konkrétní algoritmus, protože máte časové omezení, zejména pokud je sada dat velká.

V návrháři je vytvoření a použití modelu strojového učení obvykle třístupňový proces:

  1. Nakonfigurujte model tak, že zvolíte konkrétní typ algoritmu a pak definujete jeho parametry nebo hyperparametry.

  2. Zadejte datovou sadu, která je označená a má data kompatibilní s algoritmem. Připojte data i model k komponentě Trénování modelu.

  3. Po dokončení trénování použijte trénovaný model s jednou z hodnoticích komponent k předpovědím na nových datech.

Linearita

Linearita ve statistikách a strojovém učení znamená, že mezi proměnnou a konstantou v datové sadě existuje lineární vztah. Například algoritmy lineární klasifikace předpokládají, že třídy mohou být odděleny přímkou (nebo jeho vyšší-dimenzionální analog).

Mnoho algoritmů strojového učení využívá linearitu. V návrháři služby Azure Machine Learning zahrnují:

Algoritmy lineární regrese předpokládají, že trendy dat následují přímkou. Tento předpoklad není pro některé problémy špatný, ale pro jiné snižuje přesnost. Navzdory jejich nevýhodám jsou lineární algoritmy oblíbené jako první strategie. Obvykle jsou algoritmicky jednoduché a rychlé k trénu.

Graf znázorňující nelineární hranici třídy

Hranice nelineární třídy: Spoléhání na algoritmus lineární klasifikace by vedlo k nízké přesnosti.

Graf znázorňující data s nelineárním trendem

Data s nelineárním trendem: Použití metody lineární regrese by vygenerovalo mnohem větší chyby, než je nutné.

Počet parametrů

Parametry jsou uzly, které datový vědec při nastavování algoritmu změní. Jedná se o čísla, která ovlivňují chování algoritmu, jako je tolerance chyb nebo počet iterací nebo možnosti mezi variantami chování algoritmu. Čas a přesnost trénování algoritmu může být někdy citlivá na získání správných nastavení. Algoritmy s velkým počtem parametrů obvykle vyžadují k nalezení vhodné kombinace nejvíce pokusů a chyb.

Alternativně existuje komponenta Ladění hyperparametrů modelu v návrháři. Cílem této komponenty 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í.

I když se jedná o skvělý způsob, jak zajistit, že jste přesahli prostor parametrů, doba potřebná k trénování modelu se exponenciálně zvýší s počtem parametrů. Nevýhodou je, že mnoho parametrů obvykle značí, že algoritmus má větší flexibilitu. Často dokáže dosáhnout velmi dobré přesnosti, za předpokladu, že najdete správnou kombinaci nastavení parametrů.

Počet funkcí

Ve strojovém učení je funkce kvantifikovatelnou proměnnou jevu, který se pokoušíte analyzovat. U určitých typů dat může být počet funkcí ve srovnání s počtem datových bodů velmi velký. Často se jedná o genetická data nebo textová data.

Velký počet funkcí může zpomalovat některé algoritmy učení, což znepokojuje trénování času. Počítače s podpůrnými vektory jsou vhodné pro scénáře s velkým počtem funkcí. Z tohoto důvodu se v mnoha aplikacích používaly od načítání informací až po klasifikaci textu a obrázků. Podpůrné vektory lze použít pro úlohy klasifikace i regrese.

Výběr funkce odkazuje na proces použití statistických testů na vstupy vzhledem k zadanému výstupu. Cílem je určit, které sloupce jsou pro výstup prediktivní. Komponenta Výběr funkcí na základě filtru v návrháři poskytuje několik algoritmů výběru funkcí, ze které si můžete vybrat. Součástí jsou metody korelace, jako je Pearsonova korelace a hodnoty chí-kvadvadly.

Komponentu Důležitost funkce Permutation můžete použít také k výpočtu sady skóre důležitosti funkcí pro vaši datovou sadu. Tyto skóre pak můžete použít k určení nejlepších funkcí, které se mají použít v modelu.