SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Strojové učení
  z rychlíku
  Devel.cz 2013


 Michal Illich
Dnešní menu
●   Co to je a k čemu vůbec?
●   Obecný princip strojového učení
●   Neuronové sítě
●   Rozhodovací stromy a lesy
Klasické problémy
●   Rozpoznávání obrazu
    OCR      vizuální klasifikace     self driving cars

●   Rozpoznávání řeči
    voice dial   voice search       siri

●   Inteligentní agenti
    roboti   autonomní systémy



O tomhle tahle přednáška nebude...
Kde se používá na webu - I
Kde se používá na webu - II
Kde se používá na webu - III
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á
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
K čemu? → Jak?
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   ...
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.
Od obecného k algoritmům...
Umělé neuronové sítě
Neuron
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
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
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/
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
Příklad
Trénovací data (zjednodušená)
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
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
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/
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
Díky!

      michal@illich.cz

        @michalillich



PS: Přijímáme: C, Python, PHP
www.doporucim.cz/mobile/DEVELMICHAL
Zdroje ilustračních obrázků:
http://www.cs.toronto.edu/~kriz/cifar.html
http://code.google.com/p/cuda-convnet/
http://cl.naist.jp/~kevinduh/notes/duh12deeplearn.pdf
http://www.positscience.com/media-gallery/detail/161/94

+ pozadí koupené ve fotobance

Contenu connexe

Similaire à Strojové učení z rychlíku

node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)almadcz
 
Jak rozpoznat hodnotné informace
Jak rozpoznat hodnotné informaceJak rozpoznat hodnotné informace
Jak rozpoznat hodnotné informaceMartin Paták
 
Obhajoba absolventské práce
Obhajoba absolventské práceObhajoba absolventské práce
Obhajoba absolventské práceOndřej Brejla
 
Učící se společnost 8
Učící se společnost 8Učící se společnost 8
Učící se společnost 8Michal Černý
 
25. 2. 2016 produktivita a efektivita v digitálním světě - v1.01
25. 2. 2016   produktivita a efektivita v digitálním světě - v1.0125. 2. 2016   produktivita a efektivita v digitálním světě - v1.01
25. 2. 2016 produktivita a efektivita v digitálním světě - v1.01Jan Janca
 
Testing ppt
Testing pptTesting ppt
Testing pptTouldin
 
Extrakce strukturovaných dat z webových stránek
Extrakce strukturovaných dat z webových stránekExtrakce strukturovaných dat z webových stránek
Extrakce strukturovaných dat z webových stránekmichalillich
 
Jiří Štěpán: Personalizace digitální komunikace
Jiří Štěpán: Personalizace digitální komunikaceJiří Štěpán: Personalizace digitální komunikace
Jiří Štěpán: Personalizace digitální komunikaceKISK FF MU
 
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...Taste
 
Softwarově definované úložiště
Softwarově definované úložištěSoftwarově definované úložiště
Softwarově definované úložištěLudek Safar
 
Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?
Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?
Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?Targito
 
2020: AutoML, aneb nahradí roboti analytiky?
2020: AutoML, aneb nahradí roboti analytiky?2020: AutoML, aneb nahradí roboti analytiky?
2020: AutoML, aneb nahradí roboti analytiky?Taste Medio
 
Social media monitoring
Social media monitoringSocial media monitoring
Social media monitoringJosef Šlerka
 
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...Taste
 
Žijeme s uživateli
Žijeme s uživateliŽijeme s uživateli
Žijeme s uživateliPetr Stedry
 
Jak počítače myslí
Jak počítače myslíJak počítače myslí
Jak počítače myslíMichal Černý
 
Výběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí clouduVýběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí clouduJan Kodera
 

Similaire à Strojové učení z rychlíku (20)

node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)node.js: zápisky z fronty (Battle guide to node.js)
node.js: zápisky z fronty (Battle guide to node.js)
 
Jak rozpoznat hodnotné informace
Jak rozpoznat hodnotné informaceJak rozpoznat hodnotné informace
Jak rozpoznat hodnotné informace
 
Obhajoba absolventské práce
Obhajoba absolventské práceObhajoba absolventské práce
Obhajoba absolventské práce
 
Učící se společnost 8
Učící se společnost 8Učící se společnost 8
Učící se společnost 8
 
25. 2. 2016 produktivita a efektivita v digitálním světě - v1.01
25. 2. 2016   produktivita a efektivita v digitálním světě - v1.0125. 2. 2016   produktivita a efektivita v digitálním světě - v1.01
25. 2. 2016 produktivita a efektivita v digitálním světě - v1.01
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
P2021
P2021P2021
P2021
 
Extrakce strukturovaných dat z webových stránek
Extrakce strukturovaných dat z webových stránekExtrakce strukturovaných dat z webových stránek
Extrakce strukturovaných dat z webových stránek
 
Jiří Štěpán: Personalizace digitální komunikace
Jiří Štěpán: Personalizace digitální komunikaceJiří Štěpán: Personalizace digitální komunikace
Jiří Štěpán: Personalizace digitální komunikace
 
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
AI Restart 2024: Vojtěch Dlouhý - Automatizace komunikace za pomoci konverzač...
 
Softwarově definované úložiště
Softwarově definované úložištěSoftwarově definované úložiště
Softwarově definované úložiště
 
Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?
Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?
Janek Žežula - V čem je platforma Targito unikátní a jak vám usnadní práci?
 
Myslenkove mapy
Myslenkove mapyMyslenkove mapy
Myslenkove mapy
 
2020: AutoML, aneb nahradí roboti analytiky?
2020: AutoML, aneb nahradí roboti analytiky?2020: AutoML, aneb nahradí roboti analytiky?
2020: AutoML, aneb nahradí roboti analytiky?
 
Social media monitoring
Social media monitoringSocial media monitoring
Social media monitoring
 
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
AI Restart 2024: Lukáš Kostka - Automatizace analýzy klíčových slov aneb změn...
 
Žijeme s uživateli
Žijeme s uživateliŽijeme s uživateli
Žijeme s uživateli
 
06 Cvičení.pptx
06 Cvičení.pptx06 Cvičení.pptx
06 Cvičení.pptx
 
Jak počítače myslí
Jak počítače myslíJak počítače myslí
Jak počítače myslí
 
Výběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí clouduVýběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí cloudu
 

Strojové učení z rychlíku

  • 1. Strojové učení z rychlíku Devel.cz 2013 Michal Illich
  • 2. Dnešní menu ● Co to je a k čemu vůbec? ● Obecný princip strojového učení ● Neuronové sítě ● Rozhodovací stromy a lesy
  • 3. Klasické problémy ● Rozpoznávání obrazu OCR vizuální klasifikace self driving cars ● Rozpoznávání řeči voice dial voice search siri ● Inteligentní agenti roboti autonomní systémy O tomhle tahle přednáška nebude...
  • 4. Kde se používá na webu - I
  • 5. Kde se používá na webu - II
  • 6. Kde se používá na webu - III
  • 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
  • 10.
  • 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.
  • 13. Od obecného k algoritmům...
  • 16.
  • 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
  • 25.
  • 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
  • 30. Díky! michal@illich.cz @michalillich PS: Přijímáme: C, Python, PHP