7. Je jen pro velké?
● Ano i ne.
● víceméně všechny velké firmy jej používají
● potřebuje dost dat
● pomůže skoro na všech projektech
● není to tak složité, jak to vypadá
8. Kdy použít strojové učení?
1. Máte víc dat, než zvládne zanalyzovat člověk.
to je u navštěvovaných webů skoro vždy...
2. Jste schopni definovat a změřit cíl.
víc objednávek víc prokliků méně odchodů víc konverzí
víc dat přesnější predikce žádané věci na skladě ...
3. Jste v konkurenčním prostředí.
strojové učení není zázrak, „jen“ vám dá náskok
11. Dvě základní použití
supervidovaného strojového učení
● Předpovídá (číslo)
CTR reklamy Hodnocení filmu Relevanci …
● Třídí (kategorie)
Spam/ham Rubrika Téma Pohlaví Věk ...
12. Kde je to „učení“
Data rozdělíte na (minimálně) 2 hromádky:
● Trénovací
Na nich se strojové učení „učí“.
To jest hledá vztahy a vytvoří si z nich „model“.
● Testovací
Na nich ověřujeme, jak dobře model funguje.
Tedy zda jsou ty „znalosti“ přenositelné na nová data.
17. Deep learning
● Klasické neuronové sítě ze 70. let
trénují jen přes „backpropagation“
neumí dobře natrénovat >2 hidden vrstvy
● Convolutional networks
ručně navržená topologie sítí, výborná na rozpoznávání obrazu
● 2006+ Hinton a další – deep learning
umí po vrstvách trénovat velmi hluboké sítě
dokáží využít i neoznačkovaná vstupní data (pre-training)
RBM, stacked autoencoders a další algoritmy
18.
19.
20. NN jsou univerzální
● Nejenom na rozpoznávání obrazu
● Na vstupu libovolné pole čísel
všechna data jde převést na čísla...
● Na výstupu opět pole čísel
může být jeden výstup: predikce
nebo mnoho výstupů označující kategorie
21. Kde začít – dobré knihovny:
● FANN (C)
http://leenissen.dk/fann/wp/
● cuda-convnet (C++, GPU)
http://code.google.com/p/cuda-convnet/
● Theano (Python, GPU)
http://deeplearning.net/software/theano/
22. Rozhodovací stromy (a lesy)
● jiná technika strojového učení
● není tak cool jako neuronové sítě
● ale má i výhody:
– rychleji se učí
– není potřeba upravovat vstupní data
– model je pochopitelný pro člověka
26. Od stromu k lesům
● takových stromů si uděláme třeba 100
● jejich výsledky zprůměrujeme
● boosting: větší váhu přikládáme datům, u
kterých se předchozí stromy spletly
27. I rozhodovací lesy jsou univerzální
● na vstupu libovolná data
není potřeba normalizovat či převádět texty na čísla
● rychlé a s dobrou přesností
● použitelné na mnoho problémů
i na fulltext
28. Kde začít – dobré knihovny:
● gbm (R)
http://cran.r-project.org/web/packages/gbm/
● Weka (Java)
http://www.cs.waikato.ac.nz/ml/weka/
● Scikit-learn (Python)
http://scikit-learn.org/
29. Na co nezbyl čas
● SVM (support vector machines)
rychlé, přesné
ideálně na klasifikaci, z číselných vstupů
● CRF / HMM
značkování textů, named entity recognition
● Naive Bayes, lineární regrese
základní statistické techniky
jednoduché, ale dost dobré na spoustu úloh