Strojové učení je v poslední době velmi skloňovaný pojem. Ale jak vlastně funguje?
Jednoduše řečeno jde o to naučit počítač rozpoznávat vzorce v datech a dělat na jejich základě rozhodnutí. Místo ručního psaní programů se algoritmy trénují na velkém množství dat, aby se samy “naučily” určité úkoly.
Existuje řada technik strojového učení. Některé z nich si přiblížíme v tomto článku.
Regrese – předpovídání číselných hodnot
Regresní modely se používají v případech, kdy chceme na základě vstupních údajů předpovědět spojitou číselnou hodnotu. Například předpovídat cenu nemovitosti na základě její velikosti, umístění apod. Nejznámější regresní technikou je lineární regrese, která prokládá body přímkou tak, aby byla chyba predikce co nejmenší.
Klasifikace – roztřiďování do tříd
Na rozdíl od regrese se klasifikační modely snaží roztřídit objekty do tříd nebo kategorií. Například rozpoznávat, zda je na fotce pes nebo kočka. Nebo podle chování zákazníka určit, jestli odejde od firmy, nebo zůstane. Běžné klasifikační techniky jsou rozhodovací stromy, neuronové sítě nebo metoda podpůrných vektorů.
Shlukování – hledání podobných bodů
Shlukovací algoritmy se snaží najít ve velkém množství dat body, které jsou si podobné. Na základě této podobnosti je pak seskupují do shluků nebo clusterů. Shlukování se používá například při segmentaci zákazníků pro cílený marketing. Nebo pro organizaci velkého množství dokumentů do tématicky podobných skupin.
Redukce dimenze – zjednodušení dat
Často se setkáváme s daty, která mají velké množství atributů. To komplikuje jejich zpracování a analýzu. Techniky redukce dimenze se snaží počet atributů snížit při zachování maximální informace. Například metoda hlavních komponent dokáže nahradit velkou sadu původních atributů malým počtem nových proměnných.
Ensemble metody – síla v množství
Místo spoléhání se na jeden model vytvoříme více modelů a necháme je hlasovat. Například místo jednoho rozhodovacího stromu použijeme sadu stromů, z nichž každý trénujeme na jiné části dat. Výsledky pak zkombinujeme například hlasováním nebo průměrováním. Tento přístup často vede k přesnějším výsledkům.
Neuronové sítě – inspirace mozkem
Neuronové sítě napodobují strukturu mozku. Skládají se z jednoduchých výpočetních uzlů propojených vazbami. Vhodným nastavením vah těchto vazeb lze síť natrénovat k řešení komplexních problémů. Speciální typ neuronových sítí, tzv. hluboké učení, v posledních letech zaznamenal obrovský pokrok v úkolech jako je rozpoznávání obrazu nebo řeči.
Transfer learning – přenos znalostí
Namísto trénování modelu od nuly můžeme využít znalosti získané při řešení podobného problému. Například neuronovou síť natrénovanou k rozpoznávání obličejů můžeme “přeučit” na rozpoznávání psů a koček. Přenesení naučených vlastností do nové domény často urychluje trénování a zlepšuje výsledky.
Viděli jsme několik příkladů, jak strojové učení funguje. Klíčem je najít techniku nejlépe odpovídající danému typu problému a kvalitní data k trénování modelů. I když jsou principy poměrně jednoduché, v praxi je úspěšné nasazení strojového učení velmi náročné. Přesto stojí za to se do tohoto oboru pustit, protože otevírá fascinující možnosti pro analýzu dat i praktické aplikace.