As someone who has spent an embarrassing amount of time on various independent education, one of the key things I've taken from it is just how efficient text books are. Not only can you read more quickly than people can speak, but it's also active by nature. I've often found my attention wandering during videos, but it's just not possible to read without putting in a minimum amount of focus. It's also a lot easier to modulate your reading speed based on how easy material is for you than it is to do the same during a lecture video.
Some general thoughts on MOOCs:
Coursera and edX tend to be great for small, self-contained topics and the automated graders for programming assignments is great as well. The forums are also useful, though not ideal (since there are no practice questions students can get help with that don't fall under the honor code).
Where modern MOOCs really fall down is prerequisites. It's surprisingly difficult to do something like structure an entire CS degree from Coursera classes. Though many classes are taught by famous CS professors, they are from different institutions that break material into courses in different ways. Worse still a lot of the classes are either watered-down or shortened or both.
MIT's Open Courseware archives are actually a lot better for this. There are no certificates, and no credentials, but nearly all the material is freely available. The one biggest inefficiency though, is all the time spent in the lectures. At least they can be played back at a higher speed, but the lectures really do take a lot more time and cover less than the textbooks. For courses that have good textbooks, I think the best approach is to skip the lectures except in portions where you feel like you need more review.
Finally Khan Academy is fantastic for answering specific, mechanical questions (e.g. how to calculate eigen values), but a bit light on material. I'd use it as a supplement for the other resources.
I tend to watch lectures at 2x or 1.75x speed, and I tone it down for more difficult stuff, or pause, or rewatch. I think at 2x it's pretty even with how fast I can read, maybe even a bit faster. Modulating it isn't perfect but it's workable. Also, I struggle very hard to pay attention to almost any lecturer, my mind drifts very quickly and takes a while before I realize it's drifted. But at 2x I find my ADD is mostly defeated.
I also watch at 2x speed. I do the same for audiobooks. Your brain adapts. Sometimes I play them in 1x speed just for a bit and it sounds like extreme slow motion, and I think, people really listen to this?
I think coursera actually started tackling the issue by offering "specializations", i.e. the "Data Science" specialization[0] is a set of 9 small classes which should in the end provide the student with the tools needed to be a "junior number hacker" or something like that.
It's not a full CS curriculum, but I'd think vertical narrow "mini curricula" may be good enough.
I love textbooks and spend more of my childrens' inheritance on them than I should.
But what MOOCs give me is the exercises. I often think I understand a problem, but it's only after getting 2.1/10 on a Coursera quiz that I realize I've missed a key step or concept.
Many textbooks have exercises but few have solutions. I've been working through Barto and Sutton's Reinforcement Learning for example (again), and although I do the exercises and programming questions, I never know if I've gotten it right. My experience with MOOCs shows I probably haven't in a large number of cases.
The best of both worlds is when I can follow a MOOC with the textbook to gain more depth, for example with the PGM course on Coursera.
Textbooks also have "examples" which are exercises with worked answers. If you cover up the solution and try to work through it on your own first, a worked example is very instructive.
It's just as instructive (and usually pretty embarrassing) to go back and work through the examples a day or two after you first read them. And then a day or two after that :)
Yes indeed. It's the exercises and feedback that help a lot.
I believe that the optimized future is MOOC Problems to start, Texts and Recorded lectures to help where you struggle, humans to help when the texts and recording miss your mistakes.
Csaba's book is the most up-to-date on RL I know of. Sutton and Barto is very old by now. For the POMDP side of things there are no recent books I know of, but http://www.cs.mcgill.ca/~jpineau/files/sross-jair08.pdf is a recent enough survey.
The bandit problem is very strongly related to the reinforcement learning problem, so you'll get some mileage out of studying bandits. Be aware this area is very maths heavy, which is good or bad depending on your background. If you like you like this stuff, also checkout "Prediction, Learning, and Games" which deals more with the "adversarial" setup.
Agree with others that Barto & Sutton is dated, but it's not obsolete. I was chatting a couple weeks ago with one of Sutton's former students, who has since Made Good in both academia and industry working on AI, and he said that the B&S book is all you need to be able to read the literature, so it's still a good place to start.
Apparently Sutton was going to do a second book, but has since retreated to a second edition. I'll take it though. :)
Check out Wiering + van Otterlo's "Reinforcement Learning: State-of-the-art." Covers many new techniques--I used it as a reference for a project earlier this year:
PGM is a tough book. I'm not sure it's the right book for "level 3" unless you want to be a level-3 who is good at PGMs.
The problem with ML is there are so many different kinds. Bishop's book is a decent light weight survey, but it doesn't come close to covering all the interesting fields. You could read that and Hastie/Tibshirani's book and still know almost nothing about online training (hugely important for "big data" and timeseries), reinforcement learning (mentioned, but not in any depth), agent learning, "compression" sequence predicting techniques, time series oriented techniques (recurrent ANNs for starters, but there is a ton to know here, and most interesting data is time ordered), image recognition tools, conformal prediction, speech recognition tools, ML in the presence of lots of noise, and unsupervised learning. I don't own PGM, but it probably wouldn't help much in these matters either. I know guys who are probably level 4 at machine learning who don't know about most of these subjects. On the other hand, Peter Flach's book "Machine Learning" at least mentions them and makes pointers to other resources.
"Deep learning" is becoming kind of a buzzword for a big basket of tricks. I think it's worth knowing about drop-out training, and the tricks used to do semi-supervised learning, but the buzzword is silly. Technically "deep learning" just means "improved gradient descent." I figure level-4 is anyone making progress coming up with new techniques.
That said, reading good books is one way to make progress. Knowing the right people is the other way.
PRML is great. I haven't read PGM, but I took a relatively intensive course on it which had great lecture notes. Which I'd like to also suggest—lecture notes are often "skeletal books" which can bring you up to speed on a topic quickly given that you (a) are willing to work a bit more and (b) can fill in the missing fleshy bits with your own experience.
I would also suggest K. Murphy's Machine Learning for the journeyman level. In the intermediate apprentice-journeyman level Alpaydin's Introduction to Machine Learning is very friendly.
Form my own journey I would say that a good place to start for graphical models might be "Bayesian Reasoning and Machine Learning" by Barber. It's free (http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=...). I haven't read through it, but I've heard good things. However, it doesn't cover some basic things like SVM, RVM, Neural Networks...
For those I'd suggest "Pattern Recognition and Machine Learning" by Bishop. I've read throughout this and it's really well organized and thought out. For more mathematically advanced ML stuff I'd suggest "Foundations of Machine Learning" by Mohri. For a good reference for anything else I'd suggest "Machine Learning: A Probabilistic Perspective" by Murphy. For more depth on graphical models look at "Probabilistic Graphical Models: Principles and Techniques" by Koller.
On the NLP front there's the standard texts "Speech and Language Processing" by Jurafsky and "Foundations of Statistical Natural Language Processing" by Manning.
I also like "An Introduction to Statistical Learning" by James, Witten, Hastie and Tibshirani.
What I'd really appreciate is ideas on how to learn or review the core math concepts. I haven't actually done any multivariable calculus, vector/matrix calculus, or linear algebra in years, even though I took them in undergrad.
Wholeheartily agree with the author's sentiments on the value of textbooks. Not because of the medium itself, but because they're (usually) accompanied by well thoughtout examples and practice problems.
When initially starting a dense subject such as PGM, having my hands held through the introductory material with incremental practice problems as the topic elaborated, helped me get a much more intimate grasp. Initially only reading superficially and watching lectures, I kept getting stumped trying to form a cohesive mental map of all the interleaved concepts.
I really liked it - it was a lot smaller than I thought it was going to be (I didn't look at the page count) but they definitely explain some really import core ideas in ML like bias/variance tradeoff, curse of dimensionality, etc. in a clear way.
I'm in the middle of PGM right now. It's actually really easy to follow if you put some time into it. I'm reading PRML next. I didn't realize there was a 'path' to learning ML though, thanks for that.
It's fine to disagree, but crapping a 'Really?' plus some contextless links onto someone who put forth general reasoning for the nature of the recommendations and spent 1300+ words describing expectations, key takeaways and projects for those recommendations is just lame.
On a given topic, I believe the best textbook is an inferior medium to the best lecture. Rather than blathering for 1300 words, I provided links to some excellent machine learning lectures.
You sound like you've had some bad experiences with books. If you learn better with lectures, great. However, it's not for everybody -- I personally think spending time away from the computer (until I'm programming something), with a book, paper and a pen is very good time spent.
I read textbooks on my computer actually. Not by choice though, textbooks are difficult to find and too expensive.
I used to hate lectures when I was in school but now I sort of prefer them. It's easier for some reason. It's more passive; you just sit there and listen rather than actively read. It doesn't seem to be slower like others complain, and may even be faster. I read difficult texts very slowly and methodically, and often have to reread stuff.
Its because textbooks are usually more in depth than lectures can go due to time considerations, this is why any graduate program is 90% papers and textbooks.
A great example of this is Andrew Ng's course, even though he is the co-inventor of LDA (complicated Bayes network) he does not explain Bayesian analysis in his course.
Not sure how you saw the books and missed the explanation, but
"But why textbooks? Because they're one of the few learning mediums where you'll really own the knowledge. You can take a course, a MOOC, join a reading group, whatever you want. But with textbooks, it's an intimate bond. You'll spill brain-juice on every page; you'll inadvertently memorize the chapter titles, the examples, and the exercises; you'll scribble in the margins and dog-ear commonly referenced areas and look for applications of the topics you learn -- the textbook itself becomes a part of your knowledge (the above image shows my nearest textbook). Successful learners don't just read textbooks. Learn to use textbooks in this way, and you can master many subjects -- certainly machine learning."
I saw the explanation and I don't buy it. In pretty much every occasion that I've found a textbook valuable, I've found lectures by the authors far more valuable.
David Mackay's lectures are incredible and go much further in explaining the material in an understandable fashion than his excellent book "Information Theory, Inference and Learning Algorithms".
As someone who has spent an embarrassing amount of time on various independent education, one of the key things I've taken from it is just how efficient text books are. Not only can you read more quickly than people can speak, but it's also active by nature. I've often found my attention wandering during videos, but it's just not possible to read without putting in a minimum amount of focus. It's also a lot easier to modulate your reading speed based on how easy material is for you than it is to do the same during a lecture video.
Some general thoughts on MOOCs:
Coursera and edX tend to be great for small, self-contained topics and the automated graders for programming assignments is great as well. The forums are also useful, though not ideal (since there are no practice questions students can get help with that don't fall under the honor code).
Where modern MOOCs really fall down is prerequisites. It's surprisingly difficult to do something like structure an entire CS degree from Coursera classes. Though many classes are taught by famous CS professors, they are from different institutions that break material into courses in different ways. Worse still a lot of the classes are either watered-down or shortened or both.
MIT's Open Courseware archives are actually a lot better for this. There are no certificates, and no credentials, but nearly all the material is freely available. The one biggest inefficiency though, is all the time spent in the lectures. At least they can be played back at a higher speed, but the lectures really do take a lot more time and cover less than the textbooks. For courses that have good textbooks, I think the best approach is to skip the lectures except in portions where you feel like you need more review.
Finally Khan Academy is fantastic for answering specific, mechanical questions (e.g. how to calculate eigen values), but a bit light on material. I'd use it as a supplement for the other resources.