Základy matematiky a statistiky pro humanitní obory II Vojtěch Kovář Fakulta informatiky, Masarykova univerzita Botanická 68a, 602 00 Brno, Czech Republic xkovar3@fi.muni.cz část 9 Vojtěch Kovář (FI MU Brno) PLIN004 část 9 1 / 15 Obsah přednášky Obsah přednášky Derivace Integrál Parciální derivace Strojové učení Neuronová síť Vojtěch Kovář (FI MU Brno) PLIN004 část 9 2 / 15 Derivace Derivace ▶ Základní pojem diferenciálního počtu ▶ Směrnice tečny ke grafu funkce v určitém bodě ▶ směrnice je číslo vyjadřující sklon přímky: y = ax + b ▶ definována přes limitu: f ′(a) = limx→a f (x)−f (a) x−a ▶ Pro všechny body: nová (odvozená = derivovaná) funkce ▶ např. f : y = x2 → f ′ : y = 2x ▶ např. f : y = 4x + 1 → f ′ : y = 4 ▶ Využití: vyšetřování průběhu funkce ▶ kladná derivace = funkce roste ▶ záporná derivace = funkce klesá ▶ nulová derivace = lokální minimum nebo maximum Vojtěch Kovář (FI MU Brno) PLIN004 část 9 3 / 15 Derivace Příklad: derivace v tomto bodě je záporná Vojtěch Kovář (FI MU Brno) PLIN004 část 9 4 / 15 Integrál Integrál ▶ Inverzní operace k derivaci ▶ tzv. základní věta integrálního počtu ▶ Opět z dané funkce „vyrábíme” jinou funkci ▶ Neurčitý integrál = primitivní funkce ▶ množina funkcí, jejichž derivací dostaneme danou funkci ▶ Určitý integrál ▶ změna primitivní funkce na daném intervalu ▶ odpovídá ploše pod křivkou funkce ▶ viz též Riemannův integrál ▶ využití: výpočet obsahů, objemů, ... Vojtěch Kovář (FI MU Brno) PLIN004 část 9 5 / 15 Integrál Určitý integrál: příklad zdroj: https://commons.wikimedia.org/wiki/File:Integral_as_region_under_curve.svg Vojtěch Kovář (FI MU Brno) PLIN004 část 9 6 / 15 Parciální derivace Parciální derivace ▶ U funkcí více proměnných ▶ např. f : z = 4y − 2x + 5 ▶ např. f : y = 4x1 + 8x2 + x3 + 5x4 − 8 ▶ Všechny proměnné až na jednu bereme jako konstanty ▶ např. f (x, y) = 4y2 − 2x + 5 ▶ df dy = 8y ▶ df dx = 2 ▶ směrnice tečny v bodě „ve směru dané osy” Vojtěch Kovář (FI MU Brno) PLIN004 část 9 7 / 15 Strojové učení Strojové učení (supervised = s učitelem) ▶ Zobecnění z (mnoha) konkrétních příkladů ▶ 2 základní typy problémů: ▶ Klasifikace ▶ cílem je přiřadit objekt do třídy ▶ na základě jeho atributů (tzv. features) ▶ features jsou číselné nebo řetězcové hodnoty ▶ často mluvíme o vektoru hodnot ▶ např. „umět rozlišit jabka a hrušky na základě barvy a tvaru” ▶ Regrese ▶ cílem je na základě atributů přiřadit číselnou hodnotu ▶ např. „na základě parametrů automobilu přiřadit cenu” Vojtěch Kovář (FI MU Brno) PLIN004 část 9 8 / 15 Strojové učení Lineární regrese Vojtěch Kovář (FI MU Brno) PLIN004 část 9 9 / 15 Strojové učení Lineární regrese ▶ Snažíme se co nejlépe proložit přímku množinou bodů ▶ např. ve dvourozměrném prostoru ▶ přímka: y = ax + b ▶ snažíme se najít parametry a a b ▶ tak, abychom minimalizovali chybovou funkci (loss function) ▶ Chybová funkce e ▶ součet rozdílů (čtverců) odchylek od přímky ▶ pro každou dvojici a a b dostaneme číselnou hodnotu chyby ▶ e je tedy funkcí dvou proměnných, a a b ▶ potřebujeme najít a a b tak, že chyba e(a, b) je minimální Vojtěch Kovář (FI MU Brno) PLIN004 část 9 10 / 15 Strojové učení Lineární regrese ▶ Steepest gradient descent ▶ začneme v náhodném bodě (a, b) ▶ spočítáme parciální derivace chybové funkce de da a de db ▶ vektor (de da (a), de db (b)) se nazývá gradient ▶ posuneme náš odhad (a, b) opačným směrem a opakujeme ▶ (tedy de da (a) říká, kam máme posunout parametr a) ▶ ( de db (b) říká, kam máme posunout parametr b) ▶ obě derivace nulové = jsme v lokálním minimu ▶ a tedy chyba je nejmenší možná ▶ (v některých příznivých situacích) ▶ Totéž lze dělat pro libovolnou funkci a libovolný počet dimenzí Vojtěch Kovář (FI MU Brno) PLIN004 část 9 11 / 15 Strojové učení Steepest gradient descent Vojtěch Kovář (FI MU Brno) PLIN004 část 9 12 / 15 Neuronová síť Neuron výpočet: Z = x1w1 + x2w2 + ... + xnwn + w0 (neuron je tedy jednoduchá lineární funkce) trénování: optimalizace (w0..wn) pomocí steepest gradient descent Vojtěch Kovář (FI MU Brno) PLIN004 část 9 13 / 15 Neuronová síť Neuronová síť Vojtěch Kovář (FI MU Brno) PLIN004 část 9 14 / 15 Neuronová síť Trénování neuronové sítě ▶ Backpropagation: algoritmus zpětné propagace chyby ▶ začneme s náhodnými vahami wij ▶ provedeme výpočet na trénovacích příkladech ▶ provedeme gradient descent a úpravy parametrů wij ▶ opakujeme, dokud nedosáhneme minima (nulových derivací podle všech parametrů wij ) ▶ Proč „zpětná propagace” ▶ chyba e je složená funkce ▶ derivace složené funkce je součinem derivací jejích částí ▶ např. pro de dw11 musíme tedy nejdřív spočítat de dZ ▶ potom df3 dy1 a df3 dy2 ▶ a nakonec df1 dw11 , df1 dw12 , ..., df2 dw21 atd. ▶ postupujeme tedy zprava doleva, opačně než výpočet Vojtěch Kovář (FI MU Brno) PLIN004 část 9 15 / 15