Výběr algoritmů pro službu Azure Machine Učení

Běžnou otázkou je "Který algoritmus strojového učení mám použít?". Algoritmus, který vyberete, závisí především na dvou různých aspektech 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? Konkrétně jaká je přesnost, doba trénování, linearita, počet parametrů a počet funkcí, které vaše řešení podporuje?

Considerations for choosing algorithms: What do you want to know? What are the scenario requirements?

Poznámka:

Návrhář 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 poskytují předem připravené komponenty 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. Podporuje sdílení komponent mezi pracovními prostory a bezproblémové vytváření v rozhraních Studio, CLI v2 a SDK v2.

Pro nové projekty důrazně doporučujeme používat vlastní komponentu, která je kompatibilní s AzureML V2 a bude nadále přijímat nové aktualizace.

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

Obchodní scénáře a stručná nápověda k algoritmům strojového Učení

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

Návrhář strojového Učení poskytuje komplexní portfolio algoritmů, jako je struktura vícetřídové rozhodovací struktury, systémy doporučení, regrese neurálních sítí 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 informací o tom, jak jednotlivé algoritmy fungují a jak ladit parametry pro optimalizaci algoritmu, najdete v referenční dokumentaci k algoritmu machine Učení návrháře a komponent.

Poznámka:

Stáhněte si tahák zde: Machine Učení Algorithm Cheat Sheet (11x17 in.)

Spolu s pokyny v taháku algoritmů azure Machine Učení mějte při výběru algoritmu strojového učení pro vaše řešení na paměti i další požadavky. 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 učení 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 se dvěma třídami Good Rychlé Ano 4
Rozhodovací doménová struktura se dvěma třídami Vynikající Střední No 5 Zobrazuje pomalejší doby bodování. Navrhujte, aby nefungovala s více třídami One-vs-All, protože kvůli pomalejším vyhodnocování časům způsobeným uzamčením běhounu 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 Good Střední No 8
Perceptron s průměrem ve dvou třídách Good Střední Ano 4
Dvoutřídní podpůrný vektorový stroj Good Rychlé Ano 5 Vhodné pro velké sady funkcí
Logistická regrese s více třídami Good 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 Good Střední No 8
One-vs-all multiclass - - - - Zobrazit vlastnosti vybrané metody se dvěma třídami
Regresní rodina
Lineární regrese Good 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ě Good 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 na vaše řešení.

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 strojového Učení vypočítá komponenta Vyhodnotit model 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 zkrátit dobu zpracování dramaticky 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:

  • Generování skóre pro trénovací data za účelem vyhodnocení modelu
  • Vygenerujte skóre modelu, ale porovnejte tato skóre s skóre u rezervované testovací sady.
  • Porovnání 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 strojového Učení je vytváření a používání 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řipojení dat i modelu Komponenta 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 Učení patří:

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.

Nonlinear class boundary

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

Data with a nonlinear trend

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 strojového Učení: 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řesahovali prostor parametrů, doba potřebná k trénování modelu se exponenciálně zvyšuje 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. Stroje podpůrných vektorů jsou zvláště 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 strojového Učení 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 využít k určení nejlepších funkcí, které se mají použít v modelu.

Další kroky