Upgrade to Pro — share decks privately, control downloads, hide ads and more …

{Machine, Deep} Learning for software engineers

{Machine, Deep} Learning for software engineers

An opinionated recommendation for data science: Python environemnt, scikit-learn for Machine Learning and Keras for Deep Learning. At Product Tech Stories Meetup @ Codility

Piotr Migdał

November 30, 2016
Tweet

More Decks by Piotr Migdał

Other Decks in Programming

Transcript

  1. {Machine, Deep} Learning for software engineers dr Piotr Migdał freelancer

    / deepsense.io Product Tech Stories Meetup @ Codility
 Warsaw, 30 Nov 2016
  2. ML and DL progress • image recognition, neural style, word

    analogies, per-char translations, playing ATARI games, Go, [no idea what’s next] • fast-paced (more than my quantum physics PhD):
 6 month ago a breakthrough, now a baseline • (no questions about Singularity please!)
  3. Challenges • data science is both statistics and programming •

    ML algorithms base on randomness and data • trying a wide array of options & parameters • unavoidable research-production overlap
  4. What I {use, teach}? • general Machine Learning:
 scikit-learn (in

    Python) • general Deep Learning:
 Keras (in Python) • spaCy+gensim, SparkML, Neptune, …
  5. Why Python? • de facto standard for ML/DL • sane

    language + new stuff + Jupyter Notebook • not R, MATLAB or Julia?
 http://sebastianraschka.com/blog/2015/why-python.html • not JavaScript? oh, wait…
 http://cs.stanford.edu/people/karpathy/convnetjs/ • warning: Python 2.7 is still the default :/
  6. scikit-learn
 http://scikit-learn.org • many popular techniques with the same interface

    • fast, reliable • good documentation • XGBoost has its interface • not much for time series (statsmodels, R forecast) • or natural language processing (spaCy, gensim)
  7. http://arxiv.org/abs/1508.06576 research paper on arXiv code on GitHub online tools

    (e.g. deepart.io) Aug ‘15 Dec ‘15 Oct ‘15 movies Apr ‘16
  8. Keras https://keras.io/ • Theano or TensorFlow backend • abstraction at

    the right level
 (the rule of least power) • a LOT of EASY examples for NEW techniques • (yes, we can do a sparse Matrix Factorisation) • also for JavaScript, with GPU support :)
 https://github.com/transcranial/keras-js
  9. Neptune http://neptune.deepsense.io and Try Neptune (private beta) and wait a

    few days… or drop me an email of you want it now :)
  10. Where to learn…? • scikit-learn:
 http://p.migdal.pl/2016/03/15/data-science-intro-for-math-phys-background.html 
 and the Machine

    Learning section • Keras:
 https://gist.github.com/stared/70daf8e0334abf6e7527259e7221f568 
 and references there • everything:
 http://workshops.deepsense.io
  11. Thank you! http://p.migdal.pl [email protected] “linear space of words (word2vec vis)”

    “dating for nerds” coming soon: see: data science stuff + quantum game