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

Teaching Machine Learning

Teaching Machine Learning

Insights on how to teach machine learning and deep learning.
The entry barrier is not that high!
Video: https://www.youtube.com/watch?v=dyoxtDhUR74
Conference: https://pydata.org/warsaw2017/

Piotr Migdał

October 19, 2017
Tweet

More Decks by Piotr Migdał

Other Decks in Programming

Transcript

  1. Teaching
    Machine
    Learning
    Piotr Migdał, PhD
    http://p.migdal.pl @pmigdal
    PyData Warsaw Conference
    19 Oct 2017

    View Slide

  2. PhD in quantum physics theory
    (2014, ICFO, Barcelona)
    data scientist
    (deepsense.ai / consultant)

    machine learning
    deep learning
    data-viz (D3.js)

    View Slide

  3. I teach…

    View Slide

  4. View Slide

  5. Outline
    • Everything is easy
    • Typical problems
    • Getting pragmatic

    View Slide

  6. View Slide

  7. A person first learns
    classical mechanics
    • …by playing with balls, blocks?
    • …by learning Newton laws, differential calculus?

    View Slide

  8. A person first learns
    natural numbers
    • …by counting apples, toys?
    • …by the von Neumann construction?

    View Slide

  9. i
    ~ ˙ =

    ~2
    2m
    r2 +
    V
    (
    x
    )

    ˆ
    H = E

    View Slide

  10. A person first learns
    quantum mechanics
    • ...by learning linear algebra, complex numbers?

    View Slide

  11. http://p.migdal.pl/2016/08/15/quantum-mechanics-for-high-school-students.html

    View Slide

  12. http://quantumgame.io/

    View Slide

  13. A person first learns
    machine learning
    • ...by studying computer science, mathematics

    and statistics for years?

    View Slide

  14. you don’t understand
    Machine Learning
    unless you can teach it with pen&paper
    (or at least - JavaScript)

    View Slide

  15. View Slide

  16. https://generalabstractnonsense.com/2017/03/A-quick-look-at-Support-Vector-Machines/

    View Slide

  17. Machine Learning
    https://twitter.com/b0rk/status/821922905890103298/photo/1

    View Slide

  18. Decision trees, visually
    http://www.r2d3.us/visual-intro-to-machine-learning-part-1/

    View Slide

  19. http://p.migdal.pl/2017/01/06/king-man-woman-queen-why.html
    Julia Bazińska’s talk “Exploring word2vec vector space" - tomorrow at 15:00
    Word2vec

    View Slide

  20. Matrix factorizaton
    http://p.migdal.pl/matrix-decomposition-viz/, work in progress

    View Slide

  21. https://distill.pub/

    View Slide

  22. …but at least
    Deep Learning
    is hard, isn’t it?

    View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. Spreadsheet-based
    deep learning
    http://www.deepexcel.net/

    View Slide

  27. http://setosa.io/ev/image-kernels/

    View Slide

  28. Things which are not
    problems
    • I don’t know Python
    • They are only high-school
    • They are not from STEM

    View Slide

  29. Trypophobia detector
    by high-school students
    https://github.com/cytadela8/trypophobia

    View Slide

  30. Trypophobia detector
    by high-school students
    https://github.com/cytadela8/trypophobia

    View Slide

  31. Problems with teachers
    • Too much math details & too little insight
    • Too much historical inertia
    • No plots
    • Too little real data

    (e.g. all np.random.randn(n, m))

    View Slide

  32. Real data, plots > arrays

    View Slide

  33. Pragmatic algorithms
    • kNN
    • Linear + Logistic

    Regression
    • Random Forest
    • XGBoost
    • Neural Networks

    View Slide

  34. Problems with clients
    • Everyone is an “expert”
    • Squeezing one semester (or a few)

    into a few days (or just one)
    • Deep learning will solve all our problems
    • Installation!!!

    View Slide

  35. Logistic Regression

    vs Random Forest
    vs Deep Learning
    https://github.com/szilard/benchm-ml
    http://datascience.la/benchmarking-random-forest-implementations/

    View Slide

  36. Easy setup
    • Python 3 with Anaconda
    • Jupyter Notebook
    • Neptune.ML

    View Slide

  37. Thank you!
    Questions?
    more on my blog

    http://p.migdal.pl/ @pmigdal

    View Slide