Skip to content

MachinesWhoLearn/workshops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MWL: Machine Learning Resources

Textbooks

The ISL and ESL textbooks are both FREE to download (legally!). See links below.

Software

Q: Should I use Python or R? A: It depends on what you're doing, both langauges have their strengths; R is arguably better for Statistical Modeling, but for general machine learning/data science Python has a variety of robust libraries all at different levels of abstraction. Lectures will be taught in Python.

Machine Learning for Python

  • We recommend you install the free Anaconda Python distribution, which will automatically install Python along with all of the machine learning and scientific computing libraries you need.

  • Here are some resources for getting started with both the Python language in general and Python for data science specifically:

  • The following are indispensable tools for any type of data analysis in the Python environment:

    • scikit-learn – Python's primary machine learning library
    • NumPy – an optimized Python numerical library. A quick intro to NumPy can be found here
    • matplotlib – graphing and plots
    • SciPy – domain specific scientific functions
    • Pandas – data analytics
    • Git – version control for software
    • Jupyter Notebook – interactive computing
  • This collection of online notebooks created by UW faculty member Jake VanderPlas is an excellent resource for becoming familiar with the above development stack. 00_intro.ipynb and 01_basic_training.ipynb introduce the Python programming language. Subsequent notebooks cover the aforementioned list of tools.

Machine Learning for R

Subfields of Machine Learning

Reinforcement Learning

Reinforcement learning is a fascinating subfield of machine learning with connections to artificial intelligence, control theory and behavioral psychology.

  • For an introduction to the field, read the first chapter of Sutton and Barto's classic book, "Reinforcement Learning: An Introduction". It's really an excellent book, fun to read, and available online in PDF or HTML.

  • Deep Reinforcement Learning online course notes from Berkeley

  • Reinforcement Learning course videos and slides from David Silver of Google DeepMind/University College London

  • The Berkeley AI course offers great introductory online lectures on reinforcement learning and a fun PacMan reinforcement learning project, which will be familiar to those who took CSE 473 (Intro to Artificial Intelligence) at UW.

Deep Learning

The term "deep learning" most commonly refers to "neural nets with multiple hidden layers", and is currently an extremely active area of research.

Other Resources

ML Related Courses at UW

  • STAT 391 (Spring, non-majors okay) - Probability and Statistics for Computer Scientists. MATH/STAT 394 or 390 comes in incredibly handy for this class. MATH/STAT 395 doesn't hurt either. Prerequisite: minimum grade of 2.5 in MATH 126; 2.5 in MATH 308; either CSE 326, CSE 332, CSE 373, CSE 417, or CSE 421.

  • CSE 446 (Winter/Spring, majors only) - Machine Learning. Prerequisite: CSE 332; either STAT 390, STAT 391, or CSE 312.

  • STAT 535 (Autumn, non-majors okay) - Foundations of Machine Learning. Prerequisite: "experience with programming in a high level language", but in reality you need to have taken at least STAT 391 or CSE 446. Intended for grads and newly anointed Phd candidates, but some undergrads take it as well.

Related courses that cover stuff you will need to know eventually anyways:

  • MATH 124/125/126 - calculus
  • MATH 308 - linear algebra
  • CSE 142/143 - intro to programming
  • STAT 311 - intro statistics
  • MATH/STAT 394 or MATH/STAT 390 or CSE 312 or STAT 340 (all majors only) - probability
  • MATH 300 or CSE 311 (both majors only) - basically "Welcome to Actual Math"

Helpful but not necessary:

  • CSE 332 (majors) or CSE 373 (non-majors) - data structures or "Welcome to Actual Computer Science"
  • CSE 415/473 Artificial Intelligence, offered by the CSE department in both majors and non-majors flavors
  • CSE 414/344 Databases, both majors and non-majors
  • MATH/STAT 491 Stochastic Processes (majors only), if you are interested in eventually learning about graphical probability models
  • Being a Statistics, ACMS or Computer Science major

Other Cool Stuff

ML and Video Games

Computational Creativity

ML and Music

This material would more accurately fall under artificial intelligence, a superfield of machine learning, but it's beautiful nonetheless.

  • Emily Howell, a computer program that composes music by listening to recordings of performances by humans.

  • EMI "Experiments in Musical Intelligence" is another program by David Cope. Here is an eerily well composed symphony in the style of Mozart.

Artificial General Intelligence

Artificial General Intelligence, which is defined as "the capacity of an engineered system to display the same rough sort of general intelligence as humans; or, display intelligence that is not tied to a highly specific set of tasks", depends heavily on the field on machine learning.

ML and "Practical" Stuff

Other links will be posted as they pertain to lectures!