Machine learning

Machine learning je sada nástrojů, jak přimět stroje používat schopnosti typické převážně pro lidi. Mezi takové schopnosti může patřit například učení se, schopnost abstrakce, schopnost zjednodušení zanedbáním nepodstatných věcí…

Robot

K čemu tyto algoritmy mohou sloužit?

Predikce
Klasifikace
Clusterování
Detekce anomálií
Optimalizace
A mnoho dalšího

Mezi nejčastěji používané nástroje a algoritmy patří

Neuronové sítě v mnoha podobách (konvoluční, rekurentní, deep, autoenkodéry)
Rozhodovací stromy
Analýza hlavních komponent (PCA)
Genetické algoritmy
Support vector machine
Mnoho typů regresí (lineární, polynomická, lasso, ridge)
T-SNE
K-means clusterování
SOM (Samoorganizační mapy)
Random forest
Bayesovské přístupy
ANOVA a mnoho mnoho dalšího…

Robot s balónkem

Zdroje

Výukové materiály k tomu co bude třeba. Lineární algebra, statistika… Stačí se vracet až když budete potřebovat.

Youtube playlist s názvem Machine learning od velmi pěkně udělaného youtube kanálu.

Dalším obrovským zdrojem inspirace je Siraj raval. Siraj má mnoho konkrétních ukázek aplikací neuronových sítí, mnoho videí o různých knihovnách. Nutno podotknout, že je vše ve velmi svižném tempu a velmi líbivou formou. Jedním z mnoha videí může být např. Neuronové sítě během 4 minut.

Jako poslední zdroj uvedu Sentdexe.

Jednou z prvních věcí, na kterou narazíme snad u všech ML metod, je rozdělení na trénovací množinu, na které vybudujeme svůj model a testovací množinu, na které ověříme, zda je model dobrý. Jednou z možných rozdělení je 80/20. To jak rozdělení zvolíme můžeme nazývat Cross validace. Dalším možným rozdělením je tzv. Leave one out kde vybereme jako trénovací množinu jen jeden prvek (zato ale mnohokrát prostřídáme, takže vytvoříme hodně modelů, což je výpočetně náročné).

Dalším důležitým pojmem je underfitting a overfitting. Možná pomůže s objasněním následující obrázek. Pro vyhodnocení správnosti modelu potřebujeme nějaké hodnotící kritérium. Velmi často to je čtverec chyb, tzv LSE (least square error). LSE je součet všech odchylek odhadovaných hodnot od skutečnosti na druhou.

Variance Bias

Na obrázku vidíme, že jedna má sice menší množství chyby, ale pro jiný vzorek dat je tomu naopak.

Další věcí, které se v ML nevyhnete, je příprava a čištění dat, což zabere velkou část času.

Např Windows má na svém cloudovém Azuru systém, kde můžeme udělat poměrně solidní machine learning velmi rychle pouze pomocí wizarda. Problém, že na to má málokdo (není to zadarmo… a navíc to neni taková sranda).

Pokud máte nějaké zajímavé materiály, sem s nimi. Já budu přidávat postupně to, na co zrovna narazím.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.