Co je strojové učení?
Strojové učení má svůj původ ve statistikách a matematickém modelování dat. Základní myšlenkou strojového učení je použití dat z minulých pozorování k předpovídání neznámých výsledků nebo hodnot. Příklad:
- Majitel obchodu se zmrzlinou může použít aplikaci, která kombinuje historické záznamy o prodeji a počasí, aby předpovídal, kolik zmrzlin bude pravděpodobně prodávat v daný den na základě předpovědi počasí.
- Lékař může použít klinické údaje od minulých pacientů ke spuštění automatizovaných testů, které předpovídají, zda je nový pacient ohrožen cukrovkou na základě faktorů, jako je hmotnost, hladina glukózy v krvi a další měření.
- Výzkumný pracovník v Antarktidě může použít minulé pozorování automatizuje identifikaci různých druhů tučňáků (jako je Adelie, Gentoo nebo Chinstrap) na základě měření ptačích překlopení, faktury a dalších fyzických atributů.
Strojové učení jako funkce
Vzhledem k tomu, že strojové učení je založené na matematikách a statistikách, je běžné uvažovat o modelech strojového učení z matematických pojmů. Model strojového učení je softwarová aplikace, která zapouzdřuje funkci k výpočtu výstupní hodnoty na základě jedné nebo více vstupních hodnot. Proces definování této funkce se označuje jako trénování. Po definování funkce ji můžete použít k predikci nových hodnot v procesu označovaného jako odvozování.
Pojďme se podívat na kroky, které se týkají trénování a odvozování.
Trénovací data se skládají z minulých pozorování. Ve většině případů pozorování zahrnují pozorované atributy nebo vlastnosti pozorované věci a známou hodnotu věci, kterou chcete vytrénovat, aby předpověděl model (označovaný jako popisek).
V matematických termínech se často zobrazí funkce, na které se odkazuje, pomocí názvu zkratky x a popisku označovaného jako y. Pozorování se obvykle skládá z více hodnot vlastností, takže x je ve skutečnosti vektor (matice s více hodnotami), například: [x1,x 2,x 3,...].
Abychom to zpřesnily, podívejme se na výše popsané příklady:
- Ve scénáři prodeje zmrzliny je naším cílem vytrénovat model, který dokáže předpovědět počet prodejů zmrzliny na základě počasí. Měření počasí pro den (teplota, srážky, rychlost větru atd.) by byly vlastnosti (x) a počet zmrzlin prodaných každý den by byl popisek (y).
- V lékařském scénáři je cílem předpovědět, zda je pacient ohrožen cukrovkou na základě jejich klinických měření. Měření pacienta (hmotnost, hladina glukózy v krvi atd.) jsou vlastnosti (x) a pravděpodobnost cukrovky (například 1 pro rizika, 0 pro neriskovaná) je popisek (y).
- Ve scénáři výzkumu Antarktidy chceme předpovědět druh tučňáka na základě jeho fyzických atributů. Klíčové rozměry tučňáka (délka jeho překlopení, šířka faktury atd.) jsou vlastnosti (x) a druh (například 0 pro Adelie, 1 pro Gentoo nebo 2 pro Chinstrap) je popisek (y).
Na data se použije algoritmus, který se pokusí určit vztah mezi vlastnostmi a popiskem a zobecní tuto relaci jako výpočet, který lze provést s x k výpočtu y. Použitý konkrétní algoritmus závisí na druhu prediktivního problému, který se pokoušíte vyřešit (více o tom později), ale základním principem je pokus o přizpůsobení funkce datům, ve kterém se dají hodnoty funkcí použít k výpočtu popisku.
Výsledkem algoritmu je model, který zapouzdřuje výpočet odvozený algoritmem jako funkci – pojďme ho volat f. V matematickém zápisu:
y = f(x)
Teď, když je trénovací fáze dokončená, je možné trénovaný model použít k odvozování. Model je v podstatě softwarový program, který zapouzdřuje funkci vytvořenou trénovacím procesem. Můžete zadat sadu hodnot funkcí a přijmout jako výstup predikci odpovídajícího popisku. Vzhledem k tomu, že výstup z modelu je predikce, která byla vypočítána funkcí, a ne pozorovaná hodnota, často uvidíte výstup funkce jako ŷ (což je spíše nádherně ústní jako "y-hat").