Machine Learning / Deep Learning

Short / Introductory Courses

These are probably enough (combined with some tutorials) if you just want to be able to play with and tweak existing ML/DL code and algorithms.

Machine Learning by Andrew Ng @ Coursera

https://www.coursera.org/learn/machine-learning

Fantastic introductory course and foundation for ML. Covers basics of ML from linear and logistic regression to artificial neural networks. Gives great insight into concepts and techniques with minimal maths. Requires basic knowledge of linear algebra and differential calculus. Note: doesn’t cover specifities of current deep learning (e.g. convolutional neural networks, recurrent neural networks etc.), so is mainly a great foundation for more advanced studies. Andrew Ng was co-founder of Google Brain and now chief scientist at Baidu research. He is great at giving intuition.

Deep Learning by Google @ Udacity

https://www.udacity.com/course/deep-learning--ud730

Brief introduction to DL for those who are familiar with ML. This is a very short course, I think I went through the whole thing in under 2 hours. It’s almost a reading of the tensorflow tutorials (https://www.tensorflow.org/versions/master/tutorials/index.html ). It gives a top level summary of basic DL techniques. Assumes you’re comfortable with ML and related concepts. So at least Andrew Ng’s coursera (or equivalent knowledge) is a must. Don’t expect to be a DL wizard after this, but at least you might know what a CNN or RNN is. If you’re going to look at any of the advanced ML courses below, watch this DL course after them.

Longer / Advanced Courses

These will help you understand what’s actually going on, perhaps even understand some DL papers (I say ‘some’ DL papers because others are just insanely theoretical and dense).

CS188 Introduction to Artificial Intelligence by Pieter Abbeel @ Berkeley

(some videos have audio issues, so below are a bunch of playlists from different years, I had to pick and choose from different playlists depending on audio problems).

https://www.youtube.com/channel/UCDZUttQj8ytfASQIcvsLYgg (Spring 2015)

https://www.youtube.com/channel/UCB4_W1V-KfwpTLxH9jG1_iA (Spring 2014)

https://www.youtube.com/channel/UCshmLD2MsyqAKBx8ctivb5Q (Fall 2013)

https://www.youtube.com/user/CS188Spring2013 (Spring 2013)

This is a fantastic introduction to AI in general, not specifically ML and introduces many different fundamental areas of AI and ML. Spreads the net very wide, so if all you’re interested in is playing convolutional neural networks to make things like Deepdream, then 90% of this course won’t be relevant. The first half is more agent-based AI starting with CSPs, decision trees, MDPs etc, and in that respect it is a bit unique compared to the other courses on this list. Then goes into various different classic ML topics. It is an introduction, so requires no prior knowledge of AI or ML, but it does go into maths, so requires decent understanding of the usual probability, linear algebra, calculus etc. Doesn’t cover DL but a great foundation for a lot of AI and ML, especially if you want to get more into agent-based AI such as RL and Monte Carlo Tree Search (MCTS).

CS540 Machine Learning by Nando de Freitas @ UBC 2013

https://www.youtube.com/playlist?list=PLE6Wd9FR--EdyJ5lbFl8UuGjecvVw66F6

This covers many classic ML and SI etc from start all the way to neural networks. Doesn’t require prior knowledge of ML, so can be considered comprehensive introduction. It’s way more thorough and detailed than Andrew Ng’s Coursera and goes heavy into maths. Bear in mind it’s a post-graduate CS course so it’s quite advanced. Again spreads the net quite wide, but not as wide as CS188, instead goes deeper into some areas. Only brief intro to DL but comprehensive foundation in ML and SI. Nando is ace. Also prof at Oxford and works for Deepmind.

CS340 Machine Learning by Nando de Freitas @ UBC 2012

https://www.youtube.com/playlist?list=PLE6Wd9FR--Ecf_5nCbnSQMHqORpiChfJf

Similar to above, but undergraduate version. I haven’t actually watched these so I don’t know how they differ from CS540. Probably bit simpler.

Deep Learning by Nando de Freitas @ Oxford 2015

https://www.youtube.com/playlist?list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu

Similar to CS540 but more about DL. Definitely requires more understanding of statistics and multivariate differential calculus, and prior knowledge in ML/SI (Andrew Ng’s coursera may be enough, but I really recommend Nando’s CS540 or Pieter’s CS188). Even knowledge of information theory would be useful. Great guest lectures by Alex Graves on generative RNNs and Karol Gregor on VAEs.

CS229 Machine Learning by Andrew Ng @ Stanford 2008

https://www.youtube.com/view_play_list?p=A89DCFA6ADACE599

Another very comprehensive introduction to ML/SI. Nothing like his Coursera, way more theoretical and covers lots more topics, and much more thorough. Kind of like a mashup of Pieter Abbeel’s CS188 AI Course and Nando de Freitas’s CS540 ML Course. This course is more detailed in some areas, and less detailed in others (e.g. AFAIR goes deeper into MDPs and RL than Abbeel’s CS188, but doesn’t cover bayes nets). They all provide slightly different perspectives and insights. Also doesn’t cover DL, just a really solid comprehensive foundation for ML and SI.

Neural Networks for Machine Learning by Geoffrey Hinton @ Coursera

https://www.coursera.org/course/neuralnets

Goes deep into some areas of DL and rather advanced. Hinton is one of the titans of DL and there is a lot of insight in here, but I found it a bit all over the place and I wasn’t a huge fan of it. I.e. I don’t think it’s very useful as a linear educationalresource and requies prior knowledge of ML, SI and DL. If you first learn these topics elsewhere (e.g. videos above) and then come back to this course then you can find great insight. Otherwise if you dive straight into this you will get lost.

Computational Neuroscience by Rajesh Rao & Adrienne Fairhall @ Coursera

https://www.coursera.org/course/compneuro

Not directly related to DL but fascinating nevertheless. Starts quite fun but gets rather heavy, especially Adrienne’s sections. Rajesh takes things quite slow and re-iterates everything, but I think Adrienne is used to dealing with comp-neuroscience postgrad students and flies through the slides. Expect to pause the video on every slide while you try to digest what’s on the screen. Requires decent understanding of the usual suspects, linear algebra, differential calculus, probability and statistical analysis, including things like PCA etc.