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?
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:
Nakonfigurujte model tak, že zvolíte konkrétní typ algoritmu a pak definujete jeho parametry nebo hyperparametry.
Zadejte datovou sadu, která je označená a má data kompatibilní s algoritmem. Připojení dat i modelu Komponenta trénování modelu
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.
Hranice nelineární třídy: Spoléhání na algoritmus lineární klasifikace by vedlo k nízké přesnosti.
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
- Další informace o návrháři služby Azure Machine Učení
- Popis všech algoritmů strojového učení dostupných v návrháři služby Azure Machine Učení najdete v tématu Popis algoritmů a komponent návrháře machine Učení.
- Pokud chcete prozkoumat vztah mezi hlubokým učením, strojovým učením a AI, přečtěte si téma Hluboké Učení a strojové Učení