Trace Id is missing
Přeskočit na hlavní obsah

Algoritmy strojového učení

Úvod do matematiky a logiky stojící za strojovým učením

Co jsou algoritmy strojového učení?

Algoritmy strojového učení jsou části kódu, které lidem pomáhají zkoumat, analyzovat a najít význam ve složitých datových sadách. Každý algoritmus je konečnou sadou jednoznačných podrobných instrukcí, podle kterých může počítač postupovat, aby dosáhl konkrétního cíle. U modelu strojového učení je cílem vytvořit nebo zjistit vzory, které můžou lidé používat k vytváření predikcí nebo kategorizaci informací. Co je strojové učení?

Algoritmy strojového učení používají parametry založené na trénovacích datech, což je podmnožina dat, která představují větší sadu. Jak se trénovací data rozšiřují, aby představovala svět realističtěji, algoritmus počítá přesnější výsledky.

Různé algoritmy analyzují data různými způsoby. Často se seskupují technikami strojového učení, které jsou používány pro učení s dohledem, učení bez dohledu a zpětnovazební učení. Nejčastěji používané algoritmy využívají regresi a klasifikaci k predikování cílových kategorií, hledání neobvyklých datových bodů, predikování hodnot a zjišťování podobností.

Techniky strojového učení

Jak se budete víc seznamovat s algoritmy strojového učení, zjistíte, že obvykle spadají do jedné ze tří technik strojového učení:


Učení pod dohledem

Při učení pod dohledem algoritmy vytvářejí predikce na základě sady označených příkladů, které poskytnete. Tato technika je užitečná, když víte, jak by měl výsledek vypadat.
 

Například poskytnete datovou sadu, která obsahuje počet obyvatel měst v každém roce za posledních 100 let, a chcete zjistit, kolik obyvatel bude mít konkrétní město od teď za čtyři roky. Výsledek používá popisky, které už existují v datové sadě: počet obyvatel, město a rok.
 

Učení bez dohledu

Při učení bez dohledu nejsou datové body označené. Algoritmus je označí za vás uspořádáním dat nebo popisem jejich struktury. Tato technika je užitečná, když nevíte, jak by měl výsledek vypadat.

 

Například když poskytnete zákaznická data a chcete vytvářet segmenty zákazníků, kteří mají rádi podobné produkty. Data, která poskytujete, nejsou označená a popisky ve výsledku jsou vygenerované podle zjištěných podobností mezi datovými body.

 

Zpětnovazební učení

Zpětnovazební učení používá algoritmy, které se učí z výsledků a rozhodují, jakou akci provést příště. Po každé akci algoritmus obdrží zpětnou vazbu, která pomůže určit, zda byla zvolená volba správná, neutrální, nebo nesprávná. Jedná se o dobrou techniku k použití pro automatizované systémy, které musí dělat velká množství malých rozhodnutí bez lidského vedení.

 

Můžete například navrhovat autonomní automobil a chcete zajistit, aby dodržoval předpisy a zajišťoval bezpečnost lidí. Když automobil získá zkušenosti a historii zpětné vazby, naučí se, jak se udržet v jízdním pruhu, nepřekračovat omezení rychlosti a brzdit před chodci.

Co můžete s algoritmy strojového učení dělat

Algoritmy strojového učení vám pomůžou odpovědět na otázky, které jsou moc složité, aby se na ně dalo odpovědět pomocí ruční analýzy. Existuje mnoho různých typů algoritmů strojového učení, ale případy použití pro algoritmy strojového učení obvykle spadají do jedné z těchto kategorií.

Predikce cílové kategorie

Algoritmy klasifikace se dvěma třídami (binární) rozdělují data do dvou kategorií. Jsou užitečné pro otázky s pouze dvěma možnými odpověďmi, které se vzájemně vylučují, jako jsou otázky typu ano/ne. Příklad:

  • Dojde k defektu této pneumatiky během příštích 1 000 kilometrů: ano, nebo ne?
  • Co přináší více doporučení: kredit 10 USD, nebo 15% sleva?

 

Algoritmy klasifikace s více třídami (multinominální) rozdělují data do tří nebo více kategorií. Jsou užitečné pro otázky se třemi nebo více možnými odpověďmi, které se vzájemně vylučují. Příklad:

  • V jakém měsíci nakupuje většina cestovatelů letenky?
  • Jaké emoce ukazuje osoba na této fotografii?

Hledání neobvyklých datových bodů

Algoritmy detekce anomálií identifikují datové body, které spadají mimo definované parametry určující, co je „normální“. Algoritmy detekce anomálií byste například měli použít k zodpovězení otázek typu:

  • Kde jsou vadné části této dávky?
  • Které nákupy pomocí kreditní karty můžou být podvodné?

Predikování hodnot

Regresní algoritmy predikují hodnotu nového datového bodu na základě historických dat. Pomůžou vám odpovídat na otázky typu:

  • Kolik bude příští rok stát průměrný dům se dvěma ložnicemi v mém městě?
  • Kolik pacientů přijde na kliniku v úterý?

Podívejte se, jak se hodnoty v čase mění

Algoritmy časových řad ukazují, jak se daná hodnota mění v čase. Při analýze časových řad a prognóze časových řad se data průběžně shromažďují v pravidelných intervalech a využívají se k vytváření predikcí a identifikaci trendů, sezónnosti, cyklů a nepravidelností. Algoritmy časových řad slouží k zodpovězení otázek následujících typů:

  • Je pravděpodobné, že cena za dané akcie bude v nadcházejícím roce stoupat, nebo klesat?
  • Jaké budou moje výdaje příští rok?

Zjištění podobnosti

Algoritmy clusteringu rozdělují data do více skupin určením úrovně podobnosti mezi datovými body. Algoritmy clusteringu fungují dobře pro otázky typu:

  • Kteří diváci mají rádi stejné typy filmů?
  • Které modely tiskárny selžou stejným způsobem?

Klasifikace

Algoritmy klasifikace využívají prediktivní výpočty k zařazení dat do přednastavených kategorií. Algoritmy klasifikace jsou trénovány na vstupních datech a slouží k zodpovězení otázek následujících typů:

  • Je tato e-mailová zpráva nevyžádanou poštou?
  • Jaké je zabarvení (kladné, záporné nebo neutrální) daného textu?

Algoritmy lineární regrese znázorňují nebo predikují vztah mezi dvěma proměnnými nebo faktory proložením přímky daty. Přímka se často počítá pomocí nákladové funkce kvadratické chyby. Lineární regrese je jedním z nejoblíbenějších typů regresní analýzy.

Algoritmy logistické regrese přizpůsobují datům spojitou křivku. Logistická regrese je další oblíbený typ regresní analýzy.

Naivní Bayesovi algoritmy počítají pravděpodobnost, že k události dojde, a to na základě výskytu související události.
Metoda podpůrných vektorů proloží mezi dvěma nejbližšími datovými body nadrovinu. Tím se marginalizují třídy a maximalizují vzdálenosti mezi nimi, aby bylo zřejmé jejich rozlišení.

Algoritmy rozhodovacího stromu rozdělí data do dvou nebo více homogenních sad. Používají pravidla typu když-tak k oddělení dat na základě nejvýznamnějšího rozdílu mezi datovými body.

Algoritmy K-Nearest neighbor ukládají všechny dostupné datové body a klasifikují každý nový datový bod na základě datových bodů, které jsou k němu nejblíže na základě funkce vzdálenosti.

Algoritmy náhodného lesa vycházejí z rozhodovacích stromů, ale místo vytvoření jednoho stromu vytvoří les stromů a pak stromy v tomto lese randomizují. Poté agregují hlasy z různých náhodných formací rozhodovacích stromů, aby určily konečnou třídu objektu testu.

Algoritmy gradient boostingu vytvoří model predikce, který spojuje slabé modely predikce (obvykle rozhodovací stromy) prostřednictvím procesu sdružování, který vylepšuje celkový výkon modelu.

Algoritmy K-Means klasifikují data do clusterů, kde K se rovná počet clusterů. Datové body v jednotlivých clusterech jsou homogenní a jsou heterogenní vzhledem k datovým bodům v jiných clusterech.

Co jsou knihovny strojového učení?

Knihovna strojového učení je sada funkcí, architektur, modulů a rutin napsaných v daném jazyce. Vývojáři používají kód v knihovnách strojového učení jako stavební bloky pro vytváření řešení strojového učení, která můžou provádět složité úlohy. Místo ručního kódování každého algoritmu a vzorce v řešení strojového učení můžou vývojáři najít funkce a moduly, které potřebují, v jedné z mnoha dostupných knihoven strojového učení a použít je k sestavení řešení, které splňuje jejich požadavky.

Začněte experimentovat s Azure Machine Learning

Podívejte se, jak různé algoritmy analyzují data, vytvořením a nasazením vlastních modelů strojového učení pomocí Azure Machine Learning.