Co je strojové učení?

Dokončeno

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í.

Diagram znázorňující fáze trénování a odvozování ve strojovém učení

  1. 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).
  2. 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.

  3. 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)

  4. 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").