Metody Počítačového Vidění 8. přednáška: Strojové učení DRAFT

Podobné dokumenty
Lineární klasifikátory

Úloha - rozpoznávání číslic

Trénování sítě pomocí učení s učitelem

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Aplikovaná numerická matematika

5. Lokální, vázané a globální extrémy

Klasifikace a rozpoznávání. Lineární klasifikátory

ANALÝZA A KLASIFIKACE DAT

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Úvod do optimalizace, metody hladké optimalizace

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Státnice odborné č. 20

Odhad parametrů N(µ, σ 2 )

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

0.1 Úvod do lineární algebry

Základy matematické analýzy

STATISTICKÉ ODHADY Odhady populačních charakteristik

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

1 Linearní prostory nad komplexními čísly

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Numerická matematika 1

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

UČENÍ BEZ UČITELE. Václav Hlaváč

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

Kybernetika a umělá inteligence, cvičení 10/11

0.1 Úvod do lineární algebry

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Optimální rozdělující nadplocha 4. Support vector machine. Adaboost.

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice


Strukturální regresní modely. určitý nadhled nad rozličnými typy modelů

Metoda nejmenších čtverců Michal Čihák 26. listopadu 2012

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Lineární algebra : Metrická geometrie

10 Funkce více proměnných

Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,

AVDAT Mnohorozměrné metody, metody klasifikace

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Regresní analýza. Ekonometrie. Jiří Neubauer. Katedra ekonometrie FVL UO Brno kancelář 69a, tel

Hledání extrémů funkcí

Neuronové časové řady (ANN-TS)

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Derivace funkcí více proměnných

Úlohy nejmenších čtverců

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Odhad parametrů N(µ, σ 2 )

PRAVDĚPODOBNOST A STATISTIKA. Bayesovské odhady

Strojové učení Marta Vomlelová

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

RNDr. Eva Janoušová doc. RNDr. Ladislav Dušek, Dr.

oddělení Inteligentní Datové Analýzy (IDA)

1 Polynomiální interpolace

AVDAT Nelineární regresní model

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Regresní a korelační analýza

a způsoby jejího popisu Ing. Michael Rost, Ph.D.

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

5.3. Implicitní funkce a její derivace

stránkách přednášejícího.

Rozdělování dat do trénovacích a testovacích množin

logistická regrese Miroslav Čepek Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Diferenciální rovnice 3

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

3. Vícevrstvé dopředné sítě

Rozhodnutí / Skutečnost platí neplatí Nezamítáme správně chyba 2. druhu Zamítáme chyba 1. druhu správně

Odhady - Sdružené rozdělení pravděpodobnosti

9 Kolmost vektorových podprostorů

Lingebraické kapitolky - Analytická geometrie

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Statistická teorie učení

Náhodný vektor a jeho charakteristiky

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Limita a spojitost funkce a zobrazení jedné reálné proměnné

1 Projekce a projektory

Kapitola 1. Logistická regrese. 1.1 Model

Stavový model a Kalmanův filtr

3 Bodové odhady a jejich vlastnosti

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Přednáška 13 Redukce dimenzionality

Asociativní sítě (paměti) Asociace známého vstupního vzoru s daným výstupním vzorem. Typická funkce 1 / 44

Občas se používá značení f x (x 0, y 0 ), resp. f y (x 0, y 0 ). Parciální derivace f. rovnoběžného s osou y a z:

2. Schurova věta. Petr Tichý. 3. října 2012

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

1 Vektorové prostory.

KGG/STG Statistika pro geografy

Matematika pro informatiky

7. Funkce jedné reálné proměnné, základní pojmy

MATEMATICKÁ STATISTIKA - XP01MST

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Transkript:

: Strojové učení Ing. Lukáš Bureš Ing. Petr Zimmermann Plzeň Katedra kybernetiky 3. listopadu 204

Obsah Metody Počítačového Vidění:. Princip klasifikace.................................. Porovnání příznakových vektorů.................... 2..2 Míra podobnosti............................ 3..3 Míra odlišnosti............................. 3..4 Porovnání vektoru a třídy....................... 4..5 Reprezentant třídy........................... 5..6 Co je strojové učení?.......................... 6.2 Lineární regrese................................. 7.2. Motivace................................. 7.2.2 Učení s učitelem............................ 7.2.3 Ztrátová funkce............................. 9.2.4 Gradientní algoritmus......................... 0.2.5 Vícerozměrná lineární regrese..................... 2.2.6 Gradientní algoritmus - vícerozměrná verze.............. 3.2.7 Features scaling............................. 4.2.8 Analytické řešení............................ 4.2.9 Gradientní algoritmus vs. analytické řešení.............. 5.3 Binární regrese - klasifikace.......................... 6.3. Klasifikace................................ 6.3.2 Reprezentace hypotézy......................... 8.3.3 Rozhodovací hranice.......................... 20.3.4 Ztrátová funkce............................. 23.3.5 Zjednodušená ztrátová funkce a gradientní metoda......... 24.3.6 Pokročilé algoritmy optimalizace................... 26.3.7 Klasifikace do více tříd......................... 28.4 Regularizace................................... 30.4. Problém přetrénování.......................... 30.4.2 Ztrátová funkce............................. 32.4.3 Regularizace lineární regrese...................... 34.4.4 Regularizace binární regrese...................... 36.5 Učení s učitelem................................. 38.6 Učení bez učitele................................ 40.7 AdaBoost.................................... 43 I

.8 Kaskádní AdaBoost............................... 48.9 SVM....................................... 52.0 SVM - Kernel trick............................... 57. Zdroje...................................... 58 Verze.0.0, poslední úpravy: 3. listopadu 204 II

Kapitola Metody Počítačového Vidění:. Princip klasifikace Ve strojovém učení a statistice je klasifikace problém identifikace, ke kterému ze souboru kategorií patří nová pozorování a to na základě trénovací množiny dat. Příkladem by mohl být antispamový filtr, který na základě jména klasifikuje do složek je spam nebo není spam. V terminologii strojového učení je klasifikace za instanci učení s učitelem, tj učení, kde je k dispozici trénovací sada správně označených pozorování. Podobně, klasifikaci, kde není informace od učitele se říká shlukování a zahrnuje seskupování dat do kategorií na základě jisté míry přirozené podobnosti nebo vzdálenosti. Často mají jednotlivá pozorování sadu měřitelných vlastností. Tyto vlastnosti mohou představovat jednotlivé kategorie například typ krevní skupiny, pořadové číslo malé, střední, velké. Algoritmus, který provádí klasifikaci a to zejména v konkrétním provedení je známý jako klasifikátor. Termín klasifikátor někdy také odkazuje na matematické funkce, realizované klasifikačním algoritmem, který mapuje vstupní data do kategorií. Terminologie skrze vědecké oblasti je velice pestrá. Ve statistice, kde se klasifikace často provádí binární regresí nebo obdobným postupem se pozorované proměnné nazývají nezávislé proměnné a predikované kategorie jsou známé jako výsledky, které je možné považovat za závislé proměnné. Ve strojovém učení jsou pozorování známá jako instance a nezávislé proměnné jsou nazývány příznaky, které se sdružují do příznakových vektorů. Dále jsou kategorie nazývány třídami.

.. Porovnání příznakových vektorů Jednotlivé příznakové vektory mohou být chápány jako body v mnohodimenzionálním prostoru a úkolem klasifikace klasifikátoru) je rozdělení tohoto prostoru na podprostory představující klasifikační třídy ω,...,n. Cílem je tedy rozdělit množinu příznakových vektorů X na podmnožiny, tak aby platila následující podmínka ω,...,n X, N = X, ω i ω j =, pro i, j =,..., N, i j, Třídy shluky) v sobě sdružují vektory, které jsou si navzájem podobné viz Obr.. ). Podobnost vektorů je subjektivní pojem a výsledek klasifikace tak musí být ověřen expertem, který rozhodne, zda je výsledek klasifikace přípustný. Obecně platí, že pokud je vhodně sestaven příznakový vektor, lze vektory rozřazovat do shluků na základě tzv. míry podobnosti či odlišnosti. x 2 ω ω 2 x ω 2 Obrázek.: Klasifikace do tří tříd. Obě míry interpretují vzdálenost dvou vektorů v prostoru. Liší se pouze tím, že míra podobnosti pro dva stejné vektory dosahuje maximálních hodnot, naopak míra odlišnosti je pro takové vektory minimální. Verze.0.0, poslední úpravy: 3. listopadu 204 2

..2 Míra podobnosti Míra podobnosti s dvou vektorů z množiny X je definována jako s : X X R,.) kde R je množina reálných čísel, tak že s 0 R : < s x, y) s 0 < +, x, y X,.2) V praxi nejpoužívanější míry podobnosti jsou: Skalární součin s x, y) = s y, x), x, y X,.3) s x, x) = s 0, x X..4) l s skal.souč. x, y) = x y = x i y i,.5) kde l je dimenze vektorů x a y. Skalární součin je používán v případě, že jsou porovnávané vektory normalizované, což znamená, že mají stejnou délku. Míra s skal.souč. x, y) vyjadřuje úhel svíraný vektory x a y. Kosinová podobnost s cos x, y) = x y x y,.6) kde x = l x 2 i a y = l y 2 i je délka vektoru x, resp. y. Tanimotova míra..3 Míra odlišnosti s T x, y) = x y x 2 + y 2 x y..7) Míra podobnosti d dvou vektorů z množiny X je definována jako kde R je množina reálných čísel, tak že d : X X R,.8) d 0 R : d 0 < d x, y) < +, x, y X,.9) d x, y) = d y, x), x, y X,.0) d x, x) = d 0, x X..) Mezi nejčastěji používané míry odlišnosti patří: l p -norma l ) p d p x, y) = x i y i p..2) Verze.0.0, poslední úpravy: 3. listopadu 204 3

l -norma tzv. norma Manhattan) d x, y) = l x i y i..3) l -norma d x, y) = max i l x i y i..4) Výše uvedené míry mají i tzv. vážené formy. Ty získáme doplněním koeficientu w i 0 před jednotlivé absolutní hodnoty, koeficient pak vyjadřuje váhy příslušných prvků příznakového vektoru. Díky svému chování jsou míry odlišnosti často označovány jako vzdálenost dvou vektorů. Známá Euklidova vzdálenost je získána pouhou modifikací l p -normy...4 Porovnání vektoru a třídy V mnoha klasifikačních algoritmech dochází k začlenění příznakového vektoru x do třídy ω na základě porovnání ρ x, ω), přičemž porovnání ρ může představovat jakoukoli míru podobnosti, resp. odlišnosti. V praxi se porovnání mezi vektorem a třídou provádí dvěma způsoby. V prvním jsou při stanovení ρ x, ω) brány v potaz všechny vektory tvořící třídu ω. Mezi typické představitele prvního způsobu porovnání vektoru a třídy patří: Maximální podobnostní funkce Minimální podobnostní funkce Průměrná podobnostní funkce ρ max x, ω) = max ρ x, y)..5) y ω ρ min x, ω) = min ρ x, y)..6) y ω kde n ω značí počet vektorů tvořících třídu ω. ρ prům. x, ω) = ρ x, y),.7) n ω V druhém způsobu porovnání je třída zastoupena svým reprezentantem. Porovnání je v tomto případě stanoveno na základě vztahu ρ x, ω rep ), přičemž ω rep představuje vektor reprezentující třídu ω. Je zřejmé, že za ρ lze opět dosadit jakoukoli míru podobnosti či odlišnosti. y ω Verze.0.0, poslední úpravy: 3. listopadu 204 4

..5 Reprezentant třídy Mezi typické volby reprezentanta třídy patří: Průměr ω p = n ω y ω y,.8) kde n ω je počet prvků uvnitř třídy ω. Průměr je nejčastější volbou reprezentanta třídy, jelikož je velice jednoduché ho stanovit. Nevýhodou ovšem je, že průměr nemusí být součástí třídy. Pokud usilujeme o to, aby reprezentant byl opravdu prvkem dané třídy je vhodnější zvolit střed či medián. Střed ω c ω je vektor splňující: d ω c, bmy) d z, y), z ω,.9) y ω y ω kde d značí míru odlišnosti pokud by byla použita míra podobnosti s je nutné v předpisu otočit znaménka nerovnosti). Medián ω med ω je vektor splňující: med d ω med, y) y ω) med d z, y) y ω), z ω,.20) kde d je míra odlišnosti. Uvedené reprezentanty třídy lze použít pouze v případě, že je třída kompaktní viz Obr..2). Pokud jsou prvky uvnitř třídy uspořádané lineárně či do kružnice sféry) je vhodnější porovnávat vektory s těmito typy tříd na základě vzdálenosti od přímky roviny), resp. kružnice sféry). x 2 a) b) c) x Obrázek.2: Příklad třídy a) kompaktní, b) lineární a c) sférické.. Verze.0.0, poslední úpravy: 3. listopadu 204 5

..6 Co je strojové učení? Pojem strojové učení nemá dodnes pevně danou definici, můžeme si ukázat několik pokusů o jeho definování Arthur Samuel 959). Strojové učení: Obor, který dává počítačům schopnost učit se bez toho, aby byly přímo naprogramovány. Tom Mitchell 998): Dobře definovaný problém strojového učení: Předpokladem je, že se počítačový program učí ze zkušeností E s respektováním úlohy T a s měřičem výkonu P, pokud se jeho výkon na úloze T měřený pomocí P zvyšuje se zkušeností E. Pokusme se jednotlivé části rozebrat na příkladu: Předpokládejme, že náš emailový klient sleduje, které email označíme nebo neoznačíme jako spam. Na základě tohoto rozhodnutí se náš emailový klient učí lépe rozpoznávat co je a co není spam. Nyní si můžeme položit otázku co z následujících tvrzení je úloha T?. Klasifikace emailů jako spam nebo vyžádaný email. 2. Sledování značek od uživatele, který email označil jako spam nebo vyžádaný email. 3. Počet nebo poměr) emailů, které byly správně klasifikovány jako spam nebo vyžádaný email. 4. Nic z výše uvedeného - není to problém strojového učení. Pokud si rozebereme jednotlivé body výše, tak bod jedna je definice úlohy T, dále bod dva je zkušenost E a třetí bod je náš měřič výkonu P. Existuje několik rozdílných typů učících se algoritmů. Hlavní dva typy se nazývají učení s učitelem a učení bez učitele. Verze.0.0, poslední úpravy: 3. listopadu 204 6

.2 Lineární regrese Lineární regrese je matematická metoda používaná pro proložení souboru bodů v grafu přímkou. O bodech reprezentujících měřená data se předpokládá, že jejich x-ové souřadnice jsou přesné, zatímco y-nové souřadnice mohou být zatíženy náhodnou chybou, přičemž předpokládáme, že závislost y na x lze graficky vyjádřit přímkou. Pokud měřené body proložíme přímkou, tak při odečítání z grafu bude mezi y-novou hodnotou měřeného bodu a y-novou hodnotou ležící na přímce odchylka. Podstatou lineární regrese je nalezení takové přímky, aby součet druhých mocnin těchto odchylek byl co nejmenší. Lineární regresi lze zobecnit i pro prokládání jinou funkcí než přímkou..2. Motivace Jako motivaci můžeme použít příklad, kdy si budete chtít zakoupit byt v Plzni, proto by bylo dobré znát, kolik zaplatíte za jakou podlahovou plochu, v ideálním případě pro všechny velikosti bytů. Nebo-li se snažíte predikovat cenu bytu v závislosti na podlahové ploše. Na Obr..3 lze vidět vývoj ceny bytu v závislosti na podlahové ploše. Cena bytu v tis. Kc 6000 5000 4000 3000 2000 000 0 0 50 00 50 Podlahova plocha v m 2 Obrázek.3: Vývoj ceny bytu v závislosti na podlahové ploše..2.2 Učení s učitelem Učení s učitelem supervised learning) dává správnou odpověď pro každý příklad z množiny dat. Problém regrese: Na základě reálného spojitého) vstupu predikovat reálný spojitý) výstup. Problém klasifikace: Na základě diskrétního vstupu predikovat diskrétní výstup. Více formálně v případě učení s učitelem potřebujeme množinu dat nazývanou trénovací množina. V našem případě predikce ceny bytu máme trénovací množinu cen bytů a k nim odpovídající podlahovou plochu. Naším úkolem je naučit se z těchto dat jak predikovat ceny bytů. Verze.0.0, poslední úpravy: 3. listopadu 204 7

Nyní zavedeme notaci nechť m je velikost trénovací sady, x jsou vstupní proměnné neboli příznaky a y jsou výstupní proměnné neboli příznaky. Jeden trénovací vzorek budeme označovat jako x, y) a odpovídá jednomu řádku v tabulce.. Dále x i), y i)) označuje i-tý trénovací vzorek. Velikost bytu v m 2 x) Cena bytu v tis. Kč y) 9 500 22 490 25 568...... Tabulka.: Příklady trénovacích vzorků. Trénovací množina, v našem případě ceny bytů, je potřebná pro natrénování učícího se algoritmu, jehož výstupem je funkce hypotézy), která se většinou označuje h. Účelem funkce hypotézy) h je ze vstupu x velikost bytu) odhadnout výstup y cena bytu). Tedy h je funkce, která mapuje x na y. Schéma je naznačeno na Obr..4. Velikost bytu Trénovací sada Učící se algoritmus Hypotéza Odhadnutá cena Obrázek.4: Schéma učení s učitelem. Když navrhujeme učící se algoritmy, další věc kterou potřebujeme rozhodnout je jak budeme reprezentovat hypotézu h. V našem motivačním příkladě si vystačíme s hypotézou v následujícím tvaru lineární funkce: h Θ x) = ϑ 0 + ϑ x,.2) zkráceně h x). Jedná se tedy o lineární regresi s jednou proměnnou. V případě komplexnějšího učícího se algoritmu je nutné použít složitější nelineární model. Poznámka ϑ je malá théta a Θ je velká théta. Verze.0.0, poslední úpravy: 3. listopadu 204 8

.2.3 Ztrátová funkce Pro nejlepší napasování našeho lineárního modelu na trénovací data budeme potřebovat určit parametr ϑ 0 a ϑ v naší hypotéze: h Θ x) = ϑ 0 + ϑ x,.22) Snažíme se zvolit parametry ϑ 0 a ϑ tak, aby hypotéza h Θ x) byla co nejblíže k y pro naše trénovací vzorky x, y). Jinými slovy snažíme se minimalizovat kvadratickou chybu: kde min 2m ϑ 0,ϑ Přesněji označíme ztrátovou funkci: a minimalizujeme m ) hθ x i) y i)) 2,.23) h Θ x i) ) = ϑ 0 + ϑ x i)..24) J ϑ 0, ϑ ) = 2m m ) hθ x i) y i)) 2.25) min J ϑ 0, ϑ )..26) ϑ 0,ϑ Tato ztrátová funkce J je také občas nazývána kvadratická chyba nebo ztrátová funkce kvadratické chyby. Ztrátová funkce ve formě kvadratické chyby je nejčastěji používanou ztrátovou funkcí při řešení regresních problémů. Verze.0.0, poslední úpravy: 3. listopadu 204 9

.2.4 Gradientní algoritmus V kapitole.2.3 jsme definovali ztrátovou funkci J. V této kapitole bude popsán gradientní algoritmus pro minimalizaci ztrátové funkce J. Gradientní algoritmus není omezen jen a pouze na lineární regresi nalézá uplatnění v optimalizaci a v dalších oblastech strojového učení. Máme ztrátovou funkci J ϑ 0, ϑ ) a chtěli bychom jí minimalizovat. Proto zvolíme náhodně ϑ 0 a ϑ, dále v každé iteraci měníme hodnoty ϑ 0 a ϑ, tak abychom redukovali J ϑ 0, ϑ ) dokud, v nejlepším případě, nedokonvergujeme do globálního minima. Obecně lze gradientní algoritmus použít na jakoukoliv ztrátovou funkci: a snažíme se minimalizovat: J ϑ 0,, ϑ n ).27) min ϑ 0,...,ϑ n J ϑ 0,..., ϑ n ).28) Definice gradientního algoritmu: opakuj dokud není dosaženo konvergence ϑ j = ϑ j α ϑ j J ϑ 0, ϑ ),.29) pro j = {0, }, pro náš příklad lineární regrese jedné proměnné) v sekci.2.. V rovnici.29 proměnná α určuje, jak velké kroky bude gradientní algoritmus dělat při hledání minima a nazývá se rychlost učení. V případě velké hodnoty α bude algoritmus postupovat velkými kroky, rychle, ale není zajištěna konvergence, jelikož se může stát, že algoritmus bude kroužit kolem minima, ale nedosáhne ho, nebo bude divergovat. V případě malé hodnoty α bude algoritmus velice pomalý a nemusí dosáhnout minima pro stanovený počet iterací. Gradientní algoritmus může konvergovat do lokálního minima v případě, že je rychlost učení α konstantní. Proto se v reálných aplikacích volí nejdříve větší α, které se s rostoucí hodnotou iterací nebo času zmenšuje. Poznámka Pro implementaci: je nutné aktualizovat všechny Θ současně temp 0 = ϑ 0 α ϑ 0 J ϑ 0, ϑ ),.30) temp = ϑ α J ϑ 0, ϑ ), ϑ.3) ϑ 0 = temp 0,.32) ϑ = temp..33) Nyní budeme aplikovat gradientní algoritmus na náš problém lineární regrese ϑ j J ϑ 0, ϑ ) = ϑ j 2m m ) hθ x i) y i)) 2,.34) Verze.0.0, poslední úpravy: 3. listopadu 204 0

po dosazení z rovnice.24 dostáváme ϑ j J ϑ 0, ϑ ) = ϑ j 2m po zderivování podle jednotlivých parametrů Θ získáme m ϑ0 + ϑ x i) y i)) 2,.35) ϑ 0 J ϑ 0, ϑ ) = m J ϑ 0, ϑ ) = ϑ m m ) hθ x i) y i)),.36) m Výsledný konkrétní tvar rovnice.29 pro ϑ 0 a ϑ ϑ 0 ϑ = ϑ 0 α m = ϑ α m hθ x i) ) y i)) x i)..37) m ) hθ x i) y i)),.38) m hθ x i) ) y i)) x i)..39) Gradientnímu algoritmu popsanému výše se také někdy říká dávkový gradientní algoritmus, protože využívá všechna trénovací data, při součtu přes všech m vzorků, v každém kroku. Cena bytu v tis. Kc 6000 5000 4000 3000 2000 000 Trenovaci data Linearni regrese 0 0 50 00 50 Podlahova plocha v m 2 Obrázek.5: Výsledná lineární regrese našeho úvodního příkladu po výpočtu gradientním algoritmem. Verze.0.0, poslední úpravy: 3. listopadu 204

.2.5 Vícerozměrná lineární regrese V sekci.2.2 byla představena lineární regrese o jedné proměnné na příkladě predikce ceny bytu výstup y) v závislosti na velikosti podlahové plochy m 2 vstup x). V případě vícerozměrné lineární regrese si můžeme představit, že nemáme pouze velikost podlahové plochy bytu, ale výsledná cena závisí i dalších parametrech bytu, viz tabulka.2. Velikost bytu Počet místností Počet poschodí Stáří bytu Cena bytu x x 2 x 3 x 4 y 9 5 45 500 22 3 2 40 490 25 2 30 568............... Tabulka.2: Příklady vícerozměrných trénovacích vzorků. Proměnnou n budeme označovat počet příznaků v našem případě v tabulce.2 x,...,4, proto n = 4.) Dále budeme stále jako u jednorozměrného případu označovat vstupní příznaky všechny = sloupcový vektor) x i) pro i-tý trénovací vzor. A hodnota jednotlivého j-tého příznaku i-tého trénovacího vzoru bude označována x i) j. V případě jednorozměrné lineární regrese byla naše hypotéza h Θ reprezentována v našem vícerozměrném případě nabývá tvaru h Θ x) = ϑ 0 + ϑ x,.40) h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 + ϑ 3 x 3 + ϑ 4 x 4..4) V případě.40 i.4 je možné si všimnout, že x 0 = čehož dále využijeme, přesněji x i) 0 = z důvodu dodržení konvence. Proto x R n+ a to samé platí pro parametry Θ R n+. Poznámka V našem příkladě odpovídají a x = [x 0, x, x 2, x 3, x 4 ].42) Θ = [ϑ 0, ϑ, ϑ 2, ϑ 3, ϑ 4 ]..43) Obecněji lze vícerozměrnou hypotézu zapsat jako h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 +... + ϑ n x n,.44) neboli jednoduše jako součin vektorů vnitřní produkt) h Θ x) = Θ x..45) Verze.0.0, poslední úpravy: 3. listopadu 204 2

.2.6 Gradientní algoritmus - vícerozměrná verze Budeme potřebovat hypotézu h Θ x) = Θ x = ϑ 0 x 0 + ϑ x + ϑ 2 x 2 +... + ϑ n x n,.46) kde x 0 =, dále parametry Θ = [ϑ 0, ϑ, ϑ 2,..., ϑ 4 ] a vícerozměrnou ztrátovou funkci J Θ) = 2m m ) hθ x i) y i)) 2..47) Gradientní algoritmus pak bude mít tvar: opakuj současně aktualizovat parametry pro všechny j = 0,..., n. Vztah z rovnice.48 lze zapsat jako J Θ) = ϑ j m a po spojení rovnic.48 a.49 získáváme výsledný tvar ϑ j = ϑ j α m ϑ j = ϑ j α ϑ j J Θ),.48) m m hθ x i) ) y i)) x i) j.49) hθ x i) ) y i)) x i) j,.50) pokud bychom výslednou rovnici.50 rozepsali pro první dva parametry ϑ 0 a ϑ dostali bychom ϑ 0 ϑ. = ϑ 0 α m ) hθ x i) y i)) x i) 0, m x i) 0 =.5) = ϑ α m ) hθ x i) y i)) x i) m.52) Verze.0.0, poslední úpravy: 3. listopadu 204 3

.2.7 Features scaling V této podkapitole si řekneme něco o velikosti příznaků. První a nejdůležitější věcí je normování velikostí příznaků na stejnou velikost. Neboli, pokud použijeme opět náš příklad nákupu bytu a definujeme si velikost bytu v dm 2 příznak x ) a počet místností bytu příznak x 2 ) a řekněme že: x 5000, 20000, x 2, 5, tak bude pro gradientní metodu velmi obtížné a více výpočetně náročné bude nutno spočítat více iterací) nalézt minimum. Proto je důležité, aby všechny příznaky měli stejné škálování. V našem případě by to znamenalo x x 2 velikost bytu =, 20000 počet místností =. 5 Více obecně lze říci, že se většinou volí normování na interval,. Mean normalization Velice častá normalizace střední hodnotou µ, konkrétně pro i-tý příznak nebo std = Standard deviation)..2.8 Analytické řešení x i x i µ i max min x i x i µ i std.53).54) V této sekci si ukážeme jak lze vypočítat minimum naší ztrátové funkce J Θ) analyticky. Příklad: Předpokládejme D příklad ϑ R), kdy máme ztrátovou funkci J ϑ), která je funkcí jedné reálné proměnné J ϑ) = aϑ 2 + bϑ + c.55) Pro minimalizaci naší kvadratické ztrátové funkce využijeme hledání extrému položíme derivaci rovnou nule) d J ϑ) =... 0.56) dϑ a vyřešíme pro parametr ϑ. Verze.0.0, poslední úpravy: 3. listopadu 204 4

Více obecněji pro Θ R n+ bude naše ztrátová funkce nabývat tvaru J ϑ 0, ϑ,..., ϑ m ) = 2m m ) hθ x i) y i)) 2.57) dále položíme parciální derivace podle jednotlivých parametrů rovny nule pro všechny j) ϑ j =... 0.58) a vyřešíme pro parametry ϑ 0, ϑ,..., ϑ m. Pro složení obyčejné rovnice budeme potřebovat matici X R m n+), která v řádcích obsahuje jednotlivé vektory x i)) a výstupní sloupcový vektor y R m. Kde m je počet trénovacích vzorků velikost trénovací množiny) a n je počet příznaků, kde x i) 0 = 0. Nyní můžeme zapsat předpis pro výpočet parametrů Θ analyticky Θ = X X ) X y..59) Pro analytické řešení není nutné příznaky normovat, jako v případě gradientního algoritmu, na stejné měřítko, jak je popsáno v sekci.2.7..2.9 Gradientní algoritmus vs. analytické řešení V této sekci budou zmíněny výhody a nevýhody gradientního algoritmu versus analytického řešení. Velikost trénovací množiny m a počet příznaků n. Gradientní algoritmus Analytické řešení Nutno zvolit konstantu učení α. Není nutné volit konstantu učení α. Potřebuje mnoho iterací. Nepotřebuje iterovat. Pracuje dobře, když je n velké. Pomalé pokud je n velké. Nutnost vypočítat inverzi X X ). Složitost O n 3 )). Zvolit pokud n > 0 6. Zvolit pokud n < 0 4. Verze.0.0, poslední úpravy: 3. listopadu 204 5

.3 Binární regrese - klasifikace Logistická regrese je označení metody matematické statistiky zabývající se problematikou odhadu pravděpodobnosti nějakého jevu závisle proměnné) na základě určitých známých skutečností nezávisle proměnných), které mohou ovlivnit výskyt jevu. Událost, zda zkoumaný jev nastal, se modeluje pomocí náhodné veličiny, která nabývá hodnoty 0, pokud jev nenastal, nebo, pokud jev nastal..3. Klasifikace Na úvod si uveďme několik klasifikačních příkladů: Spam: je spam / není spam? Online transakce: podvodné ano / ne? Nádor: zhoubný / nezhoubný? Z příkladů je zřejmé, že se jedná o rozhodnutí mezi dvěma možnostmi, tedy y {0, }, kde 0 je negativní třída nezhoubný nádor) a je pozitivní třída zhoubný nádor). Pokud máme y {0, } jedná se o klasifikaci do dvou tříd, dále existuje klasifikace do více tříd, kde y {0,, 2, 3,...}. V následujících kapitolách se budeme zabývat klasifikací do dvou tříd. Nyní se dostáváme k problému jak vyvinout klasifikační algoritmus, což si můžeme ukázat na příkladu trénovací sady pro úlohu klasifikace nádorů. Nádor může být buď zhoubný nebo nezhoubný, tedy buďto nebo 0. Dostupná data pro náš příklad jsou na obrázku.6. Zhoubnost? Ano Ne 0 Vzorky 0 2 4 6 8 0 2 4 Velikost nadoru Obrázek.6: Trénovací data. Verze.0.0, poslední úpravy: 3. listopadu 204 6

Jedna z věcí, kterou bychom mohli udělat, je aplikace algoritmu lineární regrese, který známe z kapitoly.2. Výsledek aplikace hypotézy h Θ x) = Θ x.60) Zhoubnost? lze vidět na Obr..7. Pokud bychom chtěli udělat predikci ze získané hypotézy, tak můžeme využít klasifikátoru na základě prahování. Tedy hodnotu po jejíž překročení vzorek spadá již do druhé třídy, v případě binární regrese je to hodnota 0.5. Chceme tedy určit Tento poznatek je reprezentován na Obr..8. Ano Ne 0 0 2 4 6 8 0 2 4 Velikost nadoru Obrázek.7: Lineární regrese. h Θ x) 0.5, predikuj y =,.6) h Θ x) < 0.5, predikuj y = 0..62) Vzorky h Θ Zhoubnost? Ano Ne 0 0 2 4 6 8 0 2 4 Velikost nadoru Vzorky h Θ Prah Obrázek.8: Lineární regrese - určení rozhodovacího prahu. V tomto příkladě jsme si ukázali, že lineární regrese dělá něco co by se dalo považovat za řešení klasifikačního problému. Na následujícím rozšíření našeho příkladu bude ukázáno, že tomu tak není. Rozšíříme náš příklad o další vzorky viz Obr..9, kde nám přibyly dva vzorky více vpravo. Po aplikování lineární regrese, na rozšířená data, získáváme výsledek, který lze vidět na Obr..0. Aktuální hypotéza h Θ2 již nesplňuje podmínky definované vztahy.6 a.62, jelikož první vzorek, který má být vyhodnocen jako zhoubný by v tomto případě byl vyhodnocen jako nezhoubný, což může zásadně ovlivnit něčí život. V tomto příkladě, lépe řečeno protipříkladě jsme si ukázali, proč je nevhodné využívat lineární regresi jako klasifikační algoritmus. Ve většině případů nefunguje správně. Pro klasifikaci na základě lineární regrese můžeme získat výsledek hypotézy h Θ > nebo h Θ < 0, přičemž výsledek binární klasifikace je pouze y = 0 nebo y = 0. Proto bude nutné v dalších kapitolách přijít se sofistikovanějším postupem binární regrese klasifikace), která splňuje podmínku 0 h Θ. Verze.0.0, poslední úpravy: 3. listopadu 204 7

Ano Ano Zhoubnost? Zhoubnost? Ne 0 Vzorky h Θ Prah 0 2 4 6 8 0 2 4 6 8 20 22 Velikost nadoru Obrázek.9: Rozšíření trénovací množiny dat o dva vzorky vpravo..3.2 Reprezentace hypotézy Ne 0 0 2 4 6 8 0 2 4 6 8 20 22 Velikost nadoru Vzorky h Θ h Θ2 Prah 2 Obrázek.0: Lineární regrese - určení rozhodovacího prahu a zobrazení jeho selhání při predikci. V této kapitole si ukážeme, jak správně reprezentovat hypotézu, tedy jakou funkci je vhodné použít v případě problému klasifikace. V sekci.3. jsme zjistili, že bychom si pro binární regresní model přáli, aby platilo 0 h Θ x),.63) tedy aby výstupní hodnota byla mezi 0 a včetně). Pro reprezentaci hypotézy lineární regrese platí h Θ x) = Θ x,.64) tuto hypotézu upravíme na tvar kde funkce g je definována následovně h Θ x) = g Θ x ),.65) g z) =,.66) + e z tato funkce se nazývá sigmoid funkce Sigmoid function) nebo logistická/binární funkce Logistic function). Jméno logistická funkce je důvod, proč vznik termín logistická/binární regrese. Pokud spojíme rovnice.65 a.66 získáme tvar h Θ x) = + e Θ x a průběh grafu funkce g z) lze vidět na Obr... Poznamenejme, že.67) lim z + lim z g z) =, g z) = 0. Verze.0.0, poslední úpravy: 3. listopadu 204 8

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0. Sigmoid funkce gz) 0 6 4 2 0 2 4 6 z Obrázek.: Sigmoidní funkce g z). Nyní je potřeba, stejně jako dříve, přizpůsobit parametry Θ našim datům, tedy pomocí trénovací množiny zvolit hodnoty parametrů Θ a využít tyto parametry pro výpočet predikce. Dále si povíme něco o interpretaci výstupu hypotézy. Hypotéza h Θ x) = odhadnutá pravděpodobnost, že výstup y = na základě vstupních dat x. Příklad Pokud x = [x 0, x ] = [, velikost nádoru] a h Θ x) = 0.7, což říká pacientovi, že šance, že je nádor zhoubný je 70%. Nyní naše tvrzení zapíšeme formálněji h Θ x) = P y = x; Θ),.68) neboli, pravděpodobnost, že y =, na základě dat x, parametrizovaná parametry Θ. V případě klasifikace víme, že výstup y může nabývat pouze hodnot 0 nebo, proto platí neboli P y = 0 x; Θ) + P y = x; Θ) =,.69) P y = 0 x; Θ) = P y = x; Θ)..70) Poznámka Pravděpodobnost může nabývat hodnot 0, neboli 0 00%. Verze.0.0, poslední úpravy: 3. listopadu 204 9

.3.3 Rozhodovací hranice V této kapitole si povíme něco o rozhodovací hranici, abychom získali větší ponětí o výpočtu hypotézy binární regrese klasifikace). V kapitole.3.2 jsme si ukázali tvar hypotézy sigmoid funkce) h Θ x) = g Θ x ),.7) kde a graf lze vidět na Obr..2. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0. g z) = + e z.72) Sigmoid funkce gz) 0 6 4 2 0 2 4 6 z Obrázek.2: Sigmoidní funkce g z). Podrobněji vysvětlíme, kdy naše hypotéza bude predikovat na výstupu 0 nebo. Konkrétně naše hypotéza bude na výstupu predikovat y = v případě h Θ x) = g Θ x ) = P y = x; Θ)..73) Předpokládejme, že klasifikátor predikuje výstup y = pokud h Θ x) 0.5, což platí pro Θ x 0 a klasifikátor predikuje výstup y = 0 pokud h Θ x) < 0.5, což platí pro Θ x < 0. Verze.0.0, poslední úpravy: 3. listopadu 204 20

Příklad - lineárně separabilní třídy Předpokládejme, že máme trénovací sadu, která je znázorněna na Obr..3 a naše hypotéza má tvar h Θ x) = g ϑ 0 + ϑ x + ϑ 2 x 2 )..74) Nyní se nebudeme zabývat tím, jak přizpůsobit parametry tomuto modelu. Předpokládejme, že Θ = [ϑ 0, ϑ, ϑ2] = [ 3,, ]. x 2 3.5 3 2.5 2.5 0.5 0 0 0.5.5 2 2.5 3 3.5 x Obrázek.3: Vizualizace dvou tříd. x 2 3.5 3 2.5 2.5 0.5 Rozhodovací hranice 0 0 0.5.5 2 2.5 3 3.5 x Obrázek.4: Vizualizace rozhodovací hranice. Na příkladu si ukážeme, kdy hypotéza bude predikovat, jako výstup 0 a kdy. Hypotéza bude predikovat výstupní hodnotu y = pokud 3 + x + x 2 0.75) Θ x 0), jinými slovy pro všechna x a x 2, které splňují rovnici.75 bude naše hypotéza predikovat výstup y =. Řešení rovnice.75 je naznačeno na Obr..4 a odpovídají mu červené křížky nad rozhodovací hranicí. V případě, kdy x + x 2 = 3, tak to odpovídá přesně h Θ x) = 0.5. Jinak řečeno řešení odpovídá přesně rozhodovací hranici mezi třídami. Verze.0.0, poslední úpravy: 3. listopadu 204 2

Příklad - lineárně neseparabilní třídy Předpokládejme složitější příklad, kde nelze jednoduše použít binární regresi lineární rozhodovací hranici) a musíme využít polynomiální regrese, tedy musíme využít vyšší stupně polynomů jako příznaky viz Obr..5. 2 2 Rozhodovací hranice.5.5 x 2 0.5 0 0.5.5 2 2.5 2.5 0.5 0 0.5.5 2 2.5 x Obrázek.5: Vizualizace lineárně neseparabilních tříd. x 2 0.5 0 0.5.5 2 2.5 2.5 0.5 0 0.5.5 2 2.5 x Obrázek.6: Vizualizace lineárně neseparabilních tříd společně s rozhodovací hranicí. Naše hypotéza má tvar h Θ x) = g ϑ 0 + ϑ x + ϑ 2 x 2 + ϑ 3 x 2 + ϑ 4 x 2 2), kde jsme oproti předcházejícímu příkladu rovnice.74) přidali dva příznaky x 2 a x 2 2 a máme 5 parametrů ϑ 0,...,4. Nebudeme zabývat tím, jak vypočítat parametry Θ bude popsáno v následujících sekcích), řekněme, že Θ = [ϑ 0, ϑ, ϑ 2, ϑ 3, ϑ 4 ] = [, 0, 0,, ]. Což znamená, že naše hypotéza bude predikovat výstup y = pokud + x 2 + x 2 2 0 pro směr ven od rozhodovací hranice), tato rovnice odpovídá rovnici kružnice x 2 + x 2 2 = o poloměru r =. Rozhodovací hranice je vidět na Obr..6. Poznámka Rozhodovací hranice je vlastnost hypotézy, konkrétně parametrů Θ, není to vlastnost trénovací sady. Trénovací sada je pouze využita k nalezení parametrů hypotézy Θ. Verze.0.0, poslední úpravy: 3. listopadu 204 22

.3.4 Ztrátová funkce V této sekci si povíme jak vypočítat parametry Θ pro binární regresi / klasifikaci. Definujme problém učení s učitelem pro binární regresní model. Mějme trénovací množinu { x ), y )), x 2), y 2)),..., x m), y m)) }.76) o velikosti m vzorků, kde x i) R n+ a x 0 =, y {0, }. Naše hypotéza má tvar x i) = [x 0, x,..., x n ],.77) h Θ x) = + e Θ x..78) Nyní si položme zásadní otázku, jak zvolit parametry Θ v závislosti na naší trénovací množině? Připomeňme si ztrátovou funkci J Θ) pro lineární regresi viz sekce.2.3), kterou zapíšeme v následujícím tvaru dále můžeme ztrátovou funkci přepsat do tvaru kde J Θ) = m ) hθ x i) y i)) 2,.79) m 2 J Θ) = m Cena h ) Θ x i), y i)),.80) m Cena h Θ x i) ), y i)) = 2 hθ x i) ) y i)) 2..8) Nyní lze z rovnice.80 lépe vidět, že ztrátová funkce je krát součet Cen přes trénovací m sadu. Rovnici.8 lze dále zjednodušit vynecháním horních indexů Cena h Θ x), y) = 2 h Θ x) y) 2.82) a říká nám jakou Cenu zaplatíme pokud výstupní hodnota hypotézy bude h Θ x) a výstupní informace od učitele bude hodnota y. Tento předpis.8 pro výpočet Ceny platí pro lineární regresi. Avšak v této sekci se zajímáme o binární regresi. Pokud bychom chtěli minimalizovat tuto ztrátovou funkci v rovnici.80, tak tato funkce může být nekonvexní vzhledem k parametrům Θ není zaručeno, že dosáhneme globálního minima, jako v případě konvexní ztrátové funkce). Uveďme si ztrátovou funkci, která se využívá při binární regresi Cena h Θ x), y) = { log h Θ x)), pro y = log h Θ x)), pro y = 0.83) jinými slovy lze říci, že se jedná jakou ztrátu kolik nás stojí) utrpíme pokud y = 0 nebo y =. Verze.0.0, poslední úpravy: 3. listopadu 204 23

Nyní si ztrátovou funkci pro binární regresi, z rovnice.83, rozebereme podrobněji. Na Obr..7 lze vidět průběh ztrátové funkce. 5 4.5 logh Θ x)) log h Θ x)) 4 3.5 3 2.5 2.5 0.5 0 0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 h Θ x) Obrázek.7: Průběh ztrátové funkce. Pokud bude y = a naše hypotéza h Θ x) =, tak utrpíme ztrátu rovnu Cena = 0. Ale pokud se bude hodnota hypotézy zmenšovat h Θ x) 0, tak se utrpěná ztráta bude zvětšovat Cena. V druhém případě pokud h Θ x) = 0 predikce P y = x; Θ) = 0), ale y =, tak utrpěná ztráta bude velmi velká. Pro y = 0 platí obdobně druhá část rovnice.83..3.5 Zjednodušená ztrátová funkce a gradientní metoda Naše ztrátová funkce J Θ) ve tvaru kde J Θ) = m Cena h ) Θ x i), y i)),.84) m Cena h Θ x), y) = { log h Θ x)), pro y = log h Θ x)), pro y = 0 poznamenejme že y = 0 nebo y = pokaždé, žádná jiná možnost není). Naší Cenu z rovnice.85 můžeme zapsat v jedné rovnici, která má tvar.85) Cena h Θ x), y) = y log h Θ x)) y) log h Θ x)),.86) pokud y =, tak rovnice.86 přechází na první část rovnice.85 a pokud y = 0, tak rovnice.86 přechází na druhou část rovnice.85. Po spojení a úpravě rovnic.86 a.84 získáme výsledný tvar J Θ) = [ m y i) log h )) Θ x i) + y i)) log h ))] Θ x i)..87) m Verze.0.0, poslední úpravy: 3. listopadu 204 24

Cílem je nalézt takové parametry Θ, které minimalizují ztrátovou funkci J min J Θ),.88) Θ a následně pro vypočítáme predikci naší hypotézy na základě nového vstupu x) h Θ x) = + e Θ x..89) Nyní můžeme konečně zapsat celý gradientní algoritmus, opakuj ϑ j = ϑ j α ϑ j J Θ),.90) po každé iteraci aktualizuj všechny parametry ϑ j najednou dokud algoritmus nedokonverguje. Poznámka V rovnici.90 bude využit tvar J Θ) = ϑ j m m a proto je výhodnější psát rovnici.90 ve tvaru ϑ j = ϑ j α m hθ x i) ) y i)) x i) j..9) hθ x i) ) y i)) x i) j..92) Algoritmus vypadá totožně jako v případě lineární regrese viz.50) s rozdílnou hypotézou h Θ x), v případě lineární regrese a v případě binární regrese se jedná o h Θ x) = Θ x.93) h Θ x) = + e Θ x..94) Poznámka Při výpočtu parametrů Θ pomocí gradientního algoritmu v případě binární regrese je také vhodné využít Features scaling, jako v případě lineární regrese viz sekce.2.7). Verze.0.0, poslední úpravy: 3. listopadu 204 25

.3.6 Pokročilé algoritmy optimalizace V této sekci si uvedeme příklady několika pokročilejších algoritmů optimalizace, které jsou lépe využitelné pro velké problémy strojového učení, kde je například velký počet příznaků. Připomeňme náš optimalizační problém, máme ztrátovou funkci J Θ) a chceme jí minimalizovat min J Θ)..95) Θ Musíme tedy znát rovnice pro výpočet J Θ) a ϑ j J Θ) následně můžeme využít zmíněný gradientní algoritmus, nebo nějakou z pokročilejších optimalizačních metod jako jsou například Příklad Název algoritmu Výhody Nevýhody Conjugate gradient Nemusí se volit Více složité BFGS konstanta učení α. L-BFGS Rychlejší než gradientní metoda. Tabulka.3: Příklady pokročilejších optimalizačních algoritmů. Nyní si uvedeme příklad společně s jeho implementací v MATLABu. Mějme vektor parametrů Θ = [ϑ, ϑ 2 ] a ztrátovou funkci J Θ) = ϑ 5) 2 + ϑ 2 5) 2, dále vypočteme parciální derivace ztrátové funkce ϑ J Θ) = 2 ϑ 5),.96) ϑ 2 J Θ) = 2 ϑ 2 5)..97) Program v prostředí MATLAB by mohl vypadat následovně, nejprve je nutné si vytvořit funkci pro výpočet ztrátové funkce, která bude vracet hodnotu ztrátové funkce a jednotlivé gradienty. function [jval, grad] = costfunctiontheta) 2 3 jval = theta, ) 5)^2 + theta2, ) 5)^2; 4 5 grad = zerossizetheta, ), ); 6 grad, ) = 2 * theta, ) 5); 7 grad2, ) = 2 * theta2, ) 5); 8 9 end Verze.0.0, poslední úpravy: 3. listopadu 204 26

Optimalizaci ztrátové funkce hledání minima) můžeme spustit následovně. initialtheta = [; 2]; 2 options = optimset'gradobj', 'on', 'MaxIter', 00); 3 [opttheta, functionval, exitflag] =... 4 fminunc@costfunction, initialtheta, options); Výsledné hodnoty pro ϑ,2 = 5, což lze pro tento jednoduchý případ vidět z rovnic.96 a.97. Jak lze vidět z příkladu, nebylo nutné nastavovat parametr α, funkce fminunc v MATLABu si jej nastavila sama. Verze.0.0, poslední úpravy: 3. listopadu 204 27

.3.7 Klasifikace do více tříd V této sekci si povíme o klasifikaci do více tříd. Tento problém lze uchopit tak, že budeme klasifikovat jednu třídu proti všem ostatním, náš klasifikační algoritmus by se dal nazvat jeden proti všem. Nejdříve si popišme náš klasifikační problém, lze ho demonstrovat na příkladu klasifikace emailů. Představme si, že bychom rádi příchozí emaily rozdělovali do složek, nebo označovali podle skupiny lidí, od kterých nám email přišel, například pracovní emaily, emaily od kamarádů, emaily od rodiny a emaily od známých, s kterými sdílíme koníčky. Neboli chceme klasifikovat do tříd y = {, 2, 3, 4}. Na Obr..8 a.9 je vidět rozdíl v klasifikaci do dvou a více tříd. x 2 6 5 4 3 2 Trida Trida 2 0 0 2 3 4 5 6 x Obrázek.8: Klasifikace do dvou tříd. x 2 6 5 4 3 2 Trida Trida 2 Trida 3 0 0 2 3 4 5 6 x Obrázek.9: Klasifikace do více tříd. Z předešlých sekcí víme jak klasifikovat do dvou tříd. Nyní tento přístup použijeme při řešení problému klasifikace do více tříd. Na Obr..20 je znázorněno rozložení tříd a následně na Obr..2 je ukázána klasifikace třídy proti třídě, která je zkonstruována spojením všech ostatních tříd v našem případě tříd 2 a 3). Na dalších Obr..22 a.23 jsou naznačeny zbylé kombinace.pro jednotlivé klasifikace je nutné vytvořit hypotézu která odpovídá pravděpodobnostem h i) Θ x), i {, 2, 3},.98) h i) Θ x) = P y = i x; Θ)..99) Verze.0.0, poslední úpravy: 3. listopadu 204 28

6 6 5 5 4 4 x 2 3 x 2 3 x 2 2 Trida Trida 2 Trida 3 0 0 2 3 4 5 6 x Obrázek.20: Rozložení tříd y = {, 2, 3}. 6 5 4 3 2 Trida 2 Ostatni Delici primka 0 0 2 3 4 5 6 x Shrnutí Obrázek.22: Klasifikace třídy 2. x 2 2 Trida Ostatni Delici primka 0 0 2 3 4 5 6 x 6 5 4 3 2 Obrázek.2: Klasifikace třídy. Trida 3 Ostatni Delici primka 0 0 2 3 4 5 6 x Obrázek.23: Klasifikace třídy 3. Nejdříve je nutné natrénovat binární klasifikátory h i) Θ x) pro všechny třídy i pro predikci pravděpodobnosti, že vzorek bude patřit do třídy y = i. Následně pro nový vstup x klasifikovat podle všech hypotéz a vybrat takovou třídu i, která maximalizuje pravděpodobnost hypotézy max h i) i Θ x)..00) Verze.0.0, poslední úpravy: 3. listopadu 204 29

.4 Regularizace.4. Problém přetrénování Nyní když známe algoritmy lineární a binární regrese, které se hodí pro řešení mnoha úloh strojového učení, musíme si říci něco o problému zvaném přetrénování. Tento problém způsobuje, že dané algoritmy ve výsledku fungují velmi špatně. V této sekci si vysvětlíme v čem problém přetrénování spočívá a v následujících sekcích bude popsán postup jak se s daným problémem vypořádat. Vraťme se k našemu problému predikce ceny velikosti bytu, ve kterém jsme využili algoritmu lineární regrese. Na Obr..24 jsou znázorněná trénovací data. Pokud využijeme lineární regresi společně s hypotézou h Θ x) = ϑ 0 + ϑ x, tak získáme predikci ve tvaru, který lze vidět na Obr..25. V tomto případě naše zvolená hypotéza h Θ x) nerespektuje dostatečně tvar našich trénovacích dat. Přesnější anglický termín pro takto nastalou situaci zní underfit nebo high bias, což se dá vysvětlit jako problém, kdy se snažíme použít regresi na trénovací data s málo komplexní hypotézou. Tedy hypotéza nemůže dostatečně přesně vystihovat tvar dat nezobecňuje). Cena bytu v tis. Kc Podlahova plocha v m 2 Obrázek.24: Trénovací data. Data Cena bytu v tis. Kc Podlahova plocha v m 2 Data Hypoteza: h Θ x) = ϑ 0 + ϑ x Obrázek.25: Lineární regrese underfit, high bias). Verze.0.0, poslední úpravy: 3. listopadu 204 30

Na Obr..26 lze vidět regresi s hypotézou ve tvaru h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2, která velmi dobře zobecňuje trénovací data a proto by byla v tomto případě nejlepší volbou. Dále na Obr..27 lze vidět regresi s hypotézou h Θ x) = ϑ 0 +ϑ x+ϑ 2 x 2 +ϑ 2 x 3 +ϑ 2 x 4, jejíž chování je velmi divoké a nezobecňuje trénovací data. V tomto případě se snaží hypotéza co nejvíce respektovat trénovací data za cenu ztráty obecnosti. Tento problém se nazývá přetrénování, anglicky overfitting nebo high variance. Cena bytu v tis. Kc Podlahova plocha v m 2 Data Hypoteza: h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 Obrázek.26: Regrese pomocí hypotézy ve tvaru polynomu druhého stupně just right). Přetrénování overfitting): Cena bytu v tis. Kc Podlahova plocha v m 2 Data Hypoteza: h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 + ϑ 3 x 3 + ϑ 4 x 4 Obrázek.27: Regrese pomocí hypotézy ve tvaru polynomu čtvrtého stupně overfitting, high variance). 2m V případě, že máme příliš mnoho příznaků, hypotéza může velmi dobře respektovat trénovací data J Θ) = ) ) m hθ x i) y i)) 2 0, ale nebude schopna správně klasifikovat nově příchozí vzorky. Nebude schopna generalizovat, tedy predikce na nově příchozích vzorcích selže. Možnosti odstranění přetrénování:. Redukovat počet příznaků. Manuálně zvolit příznaky, které budou zachovány. Automatická redukce příznaků například PCA. 2. Regularizace. Zachovat všechny příznaky, ale redukovat velikost / váhu parametrů ϑ j. Funguje správně pokud máme velké množství příznaků, kde každý malou měrou přispívá k predikci y. Verze.0.0, poslední úpravy: 3. listopadu 204 3

.4.2 Ztrátová funkce V sekci.4. jsme si ukázali jak lze pomocí kvadratické hypotézy h Θ x) = ϑ 0 +ϑ x+ϑ 2 x 2 dobře zobecnit naše trénovací data. Dále již víme, že hypotéza ve tvaru h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 + ϑ 2 x 3 + ϑ 2 x 4 nezobecňuje naší trénovací množinu dat dobře. Cena bytu v tis. Kc Podlahova plocha v m 2 Data Hypoteza: h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 Obrázek.28: Regrese pomocí hypotézy ve tvaru polynomu druhého stupně just right). Cena bytu v tis. Kc Podlahova plocha v m 2 Data Hypoteza: h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 + ϑ 3 x 3 + ϑ 4 x 4 Obrázek.29: Regrese pomocí hypotézy ve tvaru polynomu čtvrtého stupně overfitting, high variance). Předpokládejme, že budeme penalizovat parametry ϑ 3 a ϑ 4 jejich hodnoty budou malé). V rovnici.0 je ukázána naše známá optimalizace min Θ 2m m ) hθ x i) y i)) 2,.0) kterou můžeme upravit na tvar m min ) hθ x i) y i)) 2 + 000ϑ 2 Θ 2m 3 + 000ϑ 2 4,.02) kde hodnoty 000 jsou pouze ilustrativní a reprezentují velká čísla velké váhy). Tedy pokud bychom chtěli minimalizovat rovnici.02, tak to lze za předpokladu, že ϑ 3 a ϑ 4 budou malá čísla. V případě, že ϑ 3 0 a ϑ 4 0, tak získáme opět náš minimalizační problém jako v rovnici.0. Ještě větší dopad to má na tvar hypotézy h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2 + ϑ 2 x 3 + ϑ 2 x 4, která dříve vedla k přetrénování. Ta v případě, že ϑ 3 0 a ϑ 4 0 přejde na tvar h Θ x) = ϑ 0 + ϑ x + ϑ 2 x 2. Tímto se zbavíme problému přetrénování a získáme tvar hypotézy, který dobře zobecňuje trénovací data. Regularizace Čím jsou menší hodnoty parametrů ϑ 0, ϑ,..., ϑ n, tím jednodušší tvar hypotézy získáme a tím méně je tvar hypotézy náchylný k přetrénování. Zapsáno rovnicí J Θ) = m ) hθ x i) y i)) 2 n + λ ϑ 2 j,.03) 2m Verze.0.0, poslední úpravy: 3. listopadu 204 32 j=

kde je nejdříve podotknout, že nová suma s indexem j má jinou mez n než první suma. To je způsobeno tím, že se regularizace vztahuje pouze na parametry ϑ, ϑ 2,..., ϑ m, tedy parametr ϑ 0 není regularizován, protože je vždy násoben jedničkou, nepřijde do kontaktu s příznaky vzorků. Dále parametr λ je takzvaný regularizační parametr, který kontroluje vyvážení mezi tím, jak hodně bude regularizace ovlivňovat původní ztrátovou funkci J Θ). Regularizace je dána vztahem Našim cílem je jako dříve minimalizovat ztrátovou funkci n λ ϑ 2 j..04) j= min J Θ).05) Θ Co se stane, pokud bude regularizační parametr λ příliš velký? Řekněme, že λ = 0 0. Poté hypotéza ve tvaru h Θ x) = ϑ 0 +ϑ x+ϑ 2 x 2 +ϑ 2 x 3 +ϑ 2 x 4 přejde na tvar h Θ x) = ϑ 0 a výsledný průběh lze vidět na Obr..30 Cena bytu v tis. Kc Podlahova plocha v m 2 Data Hypoteza: h Θ x) = ϑ 0 Obrázek.30: Použití regularizace k získání underfit hypotézy. Z uvedeného vyplývá, že je nutné volit regularizační parametr λ velmi opatrně. S velkým λ dosáhneme underfit problému a s malým λ neodstraníme overfit problém. Verze.0.0, poslední úpravy: 3. listopadu 204 33

.4.3 Regularizace lineární regrese Pro lineární regresi máme odvozen gradientní algoritmus a analytické řešení. V této sekci oba algoritmy zobecníme s využitím regularizace. Regularizace gradientního algoritmu lineární regrese Máme naší optimalizační úlohu lineární regrese společně s regularizací J Θ) = m ) hθ x i) y i)) 2 n + λ ϑ 2 j,.06) 2m snažíme se minimalizovat ztrátovou funkci j= min J Θ).07) Θ Připomeňme si dříve představený gradientní algoritmus lineární regrese. Opakuj ϑ j = ϑ j α m ) hθ x i) y i)) x i) j, j = 0,,..., n..08) m Tento algoritmus je možno rozdělit do dvou kroků. Rozdělit výpočet pro ϑ 0 a ϑ,...,n. Opakuj ϑ 0 = ϑ 0 α m ) hθ x i) y i)) x i) 0,.09) m ϑ j = ϑ j α m m hθ x i) ) y i)) x i) j, j =, 2,..., n..0) Doposud na algoritmu nebylo nic změněno, pouze byl rozepsán do dvou kroků. Protože víme, že na parametr ϑ 0 se regularizace nevztahuje, proto můžeme algoritmus pozměnit a přidat regularizační člen. Následně bude mít gradientní algoritmus tvar. Opakuj ϑ 0 ϑ j = ϑ 0 α m = ϑ j α m kde platí J Θ) = ϑ 0 m J Θ) = ϑ j m m m hθ x i) ) y i)) x i) 0,.) ) hθ x i) y i)) x i) + λ ) m ϑ j, j =, 2,..., n,.2) j m ) ) hθ x i) y i)) x i) 0,.3) m ) hθ x i) y i)) x i) j + λ ) m ϑ j, j =, 2,..., n..4) Rovnice.2 lze přepsat do tvaru ϑ j = ϑ j α λ ) α m m kde platí α λ m m hθ x i) ) y i)) x i) j,.5) <..6) Verze.0.0, poslední úpravy: 3. listopadu 204 34

Regularizace analytického řešení lineární regrese Připomeňme si [ x ) X = ) ),..., x m) ], X R m n+).7) a Analytické řešení pro výpočet Θ má tvar Cílem je minimalizovat ztrátovou funkci y = [ y ),..., y m)], y R m..8) Θ = X X ) X y..9) min J Θ)..20) Pokud využijeme regularizaci, tak naše analytické řešení přejde na tvar Θ 0 0 0 0 0 0 0 0 0 Θ = X X + λ 0 0 0 0 0 0 0. X y.2)... 0 0 0 kde nová matice má velikost R n+) n+) Rozšíření Předpokládejme, že m n, kde m je počet vzorků a n je počet příznaků a Θ = X X ) X y,.22) pak je matice X X neinvertovatelná / singulární. Pro výpočet lze v tomto případě využít pseudoinverze, konkrétně v MATLABu k tomuto účelu slouží funkce pinv). Theta = pinvx' * X) * X' * y; Pokud λ > 0 0 Θ = X X + λ... }{{} Matice musí být invertovatelná X y.23) Verze.0.0, poslední úpravy: 3. listopadu 204 35

.4.4 Regularizace binární regrese Pro binární regresi jsme dříve mluvili o dvou typech optimalizace. Mluvili jsme o tom, jak použít gradientní algoritmus a jak použít pokročilé metody optimalizace. V této sekci si ukážeme, jak tyto přístupy upravit, aby využily regularizace. Regularizace binární regrese Dříve jsme si ukázali, že binární regrese je náchylná na přetrénování v případě, kdy zvolíme vysoký stupeň polynomu reprezentující naší hypotézu, například h Θ x) = g ϑ 0 + ϑ x + ϑ 2 x 2 + ϑ 3 x 2 x 2 + ϑ 4 x 2 x 2 2 + ϑ 5 x 2 x 3 2 +... ),.24) pro takovouto složitou hypotézu můžeme dostat dělící křivku velmi variabilní a velmi respektující rozdělení trénovacích dat, tedy křivku, která nedostatečně zobecňuje. x 2 Trida Trida 2 Rozdelovaci nadrovina Obrázek.3: Možný výsledek s použitím hypotézy z rovnice.24. x Ztrátová funkce pro binární regresi má tvar [ m J Θ) = y i) log h )) Θ x i) + y i)) log h ))] Θ x i).25) m a její modifikací získáme regularizovaný tvar ztrátové funkce [ m J Θ) = y i) log h )) Θ x i) + y i)) log h ))] Θ x i) + λ n ϑ 2 j m 2m j=.26) přidaná suma je jen do n, jelikož se neregularizuje složka ϑ 0, která je vždy rovna jedné a není v součinu se žádnou proměnnou x, y. Tvar ztrátové funkce společně s regularizací bude naší rozdělovací nadrovinu více zobecňovat a pomůže nám řešit problém přetrénování. Implementace bude provedena následovně: opakuj ϑ 0 ϑ j = ϑ 0 α m [ = ϑ j α m m m hθ x i) ) y i)) x i) 0.27) hθ x i) ) y i)) x i) j + λ m ϑ j ], j =, 2, 3,..., n,.28) Verze.0.0, poslední úpravy: 3. listopadu 204 36

kde Z rovnice.28 lze vidět, že platí ϑ j J Θ) = m h Θ x) = m + e Θ x..29) hθ x i) ) y i)) x i) j + λ m ϑ j..30) Regularizace pokročilé optimalizace Nyní bude nastíněno jak využit pokročilé optimalizace v MATLABu. Nechť náš vektor parametrů Θ odpovídá Θ = [ϑ 0, ϑ,..., ϑ n ] = [theta), theta2),..., thetan + )].3) z důvodu, že MATLAB indexuje od jedničky). function [jval, gradient] = costfunctiontheta) 2 jval = [code to compute JTheta)]; [ J Θ) = m y i) log h )) Θ x i) + y i)) log h ))] Θ x i) + λ n ϑ 2 j m 2m j=.32) dále výpočet gradientu gradient) = [code to compute gradient)]; J Θ) = ϑ 0 m gradient2) = [code to compute gradient2)]; [ J Θ) = ϑ m m hθ x i) ) y i)) x i) 0,.33) m ) ] hθ x i) y i)) x i) + λ m ϑ,.34) gradient3) = [code to compute gradient3)]; [ J Θ) = ϑ 2 m gradientn+) = [code to compute gradientn+)]; m ) ] hθ x i) y i)) x i) 2 + λ m ϑ 2,.35)....36) Verze.0.0, poslední úpravy: 3. listopadu 204 37

.5 Učení s učitelem Učení s učitelem je metoda strojového učení pro učení funkce z trénovacích dat. Trénovací data sestávají ze dvojic vstupních objektů typicky vektorů příznaků) a požadovaného výstupu. Výstup funkce může být spojitá hodnota při regresi) anebo může předpovídat označení třídy vstupního objektu při klasifikaci). Úloha algoritmu učení je předpovídat výstupní hodnotu funkce pro každý platný vstupní objekt poté, co zpracuje trénovací příklady tj. dvojice vstup a požadovaný výstup). Aby to dokázal, musí algoritmus zobecnit prezentovaná data na nové situace vstupy) smysluplným způsobem. Analogická úloha v lidské a zvířecí psychologii se často nazývá učení konceptů. Přetrénování anglicky overfitting) je stav, kdy je systém příliš přizpůsoben množině trénovacích dat, ale nemá schopnost generalizace a selhává na testovací validační) množině dat. To se může stát například při malém rozsahu trénovací množiny nebo pokud je systém příliš komplexní například příliš mnoho skrytých neuronů v neuronové síti). Řešením je zvětšení trénovací množiny, snížení složitosti systému nebo různé techniky regularizace, zavedení omezení na parametry systému, které v důsledku snižuje složitost popisu naučené funkce, nebo předčasné ukončení průběžné testování na validační množině a konec učení ve chvíli, kdy se chyba na této množině dostane do svého minima). Při učení se používají trénovací data nebo trénovací množina), testovací data a často validační data. Příklady algoritmů: rozhodovací stromy, AdaBoost, náhodné rozhodovací lesy, metoda nejbližšího souseda, metoda K-nejbližších sousedů, lineární regrese, Bayesův klasifikátor, neuronové sítě, binární regrese, support vector machine SVM), atd. Metoda minimální vzdálenosti V každé třídě se snažíme najít typický prvek, který nazýváme etalon. Obraz klasifikovaného objektu pak porovnáme s etalony všech tříd a zařadíme jej do třídy, jejíž etalon je klasifikovanému obrazu nejpodobnější. Protože obrazy etalonu i klasifikovaného objektu jsou n-rozměrné vektory, můžeme podobnost definovat jako Euklidovu vzdálenost mezi nimi. Metoda nejbližšího souseda Klasifikace podle nejbližších sousedů spadá mezi neparametrické metody klasifikace. Tyto metody jsou založeny na podstatně slabších předpokladech než metody parametrické. Nepředpokládáme znalost tvaru pravděpodobnostních charakteristik tříd. Metoda nejbližšího souseda je založena na hledání přímo aposteriorní pravděpodobnosti. Je myšlenkovým rozšířením metody klasifikace podle nejbližší vzdálenosti od etalonu. Známe trénovací množinu x i, ω i ),...,K. Kde x i je vzorek, kterému je přiřazena třída ω i a K je velikost trénovací množiny. Pro neznámý prvek x hledáme x i takové, že x k x = min x k x,...,k. Prvek zařadíme do stejné třídy, do jaké náleží x k. Nejčastější je klasifikace podle jednoho souseda -NN), ale existuje i klasifikace pro obecně k sousedů. Verze.0.0, poslední úpravy: 3. listopadu 204 38