Live data from Hacker News

A Course in Machine Learning

ciml.info

21–30 of 42 posts

Re: A Course in Machine Learning

#21
post #3

If you are interested in this you might want to also look at Andrew Ng's (Stanford) Machine Learning course that is starting soon on Coursera. https://www.coursera.org/course/ml

Here's a comment which I had written earlier on another article. The context was about learning ML with Python - of course the objective of Hal is more generic but some parts of it apply here too.

https://news.ycombinator.com/item?id=5802968

The book details building ML systems with Python and does not necessarily teach ML per se. It is a good time to write a ML book in Python particularly keeping in mind efforts to make Python scale to Big Data [0].

What material you want to refer to is entirely dependent on What you want to do?. Here are some of my recommendations-

Q : Do you want to have an "Introduction to ML", some applications with Octave/Matlab as your toolbox?

A :Take up Andrew Ng's course on ML in Coursera [1].

Q : Do you want to have a complete understanding of ML with the mathematics, proofs and build your own algorithms in Octave/Matlab?

A : Take up Andrew Ng's course on ML as taught in Stanford; video lectures are available for free download [2]. Note - This is NOT the same as the Coursera course. For textbook lovers, I have found the handouts distributed in this course far better than textbooks with obscure and esoteric terms. It is entirely self contained. If you want an alternate opinion, try out Yaser Abu-Mostafa's ML course at Caltech [3].

Q : Do you want to apply ML along with NLP using Python ?

A : Try out Natural Language Tool Kit [4]. The HTML version of the NLTK book is freely available (Jump to Chapter 6 for the ML part) [5]. There is an NLTK cookbook available as well which has simple code examples to get you started [6].

Q: Do you want to apply standard ML algorithms using Python?

A : Try out scikit-learn [7]. The OP's book also seems to be a good fit in this category (Disclaimer - I haven't read the OP's book and this is not an endorsement).

[0] http://www.drdobbs.com/tools/us-defense-agency-feeds-python/....

[1] https://www.coursera.org/course/ml

[2] http://academicearth.org/courses/machine-learning/

[3] http://work.caltech.edu/telecourse.html

[4] http://nltk.org

[5] http://nltk.org/book/

[6] http://www.amazon.com/Python-Text-Processing-NLTK-Cookbook/d....

[7] http://scikit-learn.org

Re: A Course in Machine Learning

#23

I wish more people followed what Hal writes in here : > A second goal of this book is to provide a view of machine learning that focuses on ideas and models, not on math. It is not possible (or even advisable) to avoid math. But math should be there to aid understanding, not hinder it. No book (yes not even PRML - Bishop), follows this diligently.

Yeah, of what use can mathematics be, when you can just study "ideas and models"...

Re: A Course in Machine Learning

#24
post #10

I think he needs to re-run latex a couple times before releasing that pdf. Fair few ?? in there...

The lines are not properly justified, so it appears that the output is not generated using TeX. I fail to see why would anyone choose left flushed alignment (with hyphenation!) when using TeX?

Re: A Course in Machine Learning

#25

I wish more people followed what Hal writes in here : > A second goal of this book is to provide a view of machine learning that focuses on ideas and models, not on math. It is not possible (or even advisable) to avoid math. But math should be there to aid understanding, not hinder it. No book (yes not even PRML - Bishop), follows this diligently.

Personally, I find Bishop's book to hit on a good balance between developing intuition and presenting the math to give precision to understanding (the opposite of this would be Murphy's book--the math seems too esoteric and disjointed to be useful). I have a hard time feeling confident I thoroughly understand a concept without having precision in the presentation of the math behind the concept.

There is certainly something to be said for courses and books that can present a complex idea without requiring a graduate-level degree of math literacy. But at the end of the day, ML is a subfield of mathematics so not having a thorough grasp of the math underlying it will definitely hinder your understanding.

Re: A Course in Machine Learning

#26
post #4

The pages are watermarked, "Draft. Do not distribute". I wouldn't rely so much on these lectures unless they stabilize.

Doesn't make them any less worth reading.

If the content is wrong or suboptimal it makes them less worth reading. If the guy hasn't spent time thinking about the content of his slides it might be a confused and confusing jumble of nonsense: sometimes the best researchers are the worst teachers.

Re: A Course in Machine Learning

#27
post #14

Earlier quoted context omitted.

>adequate math background Do you know what kind of math is needed other than linear algebra.

Basic vector and matrix operations. The first half of a typical freshman linear algebra course is more than enough. But like I said, there is a matrix review in the beginning, so if you're willing to study those extra lectures, then almost no prior knowledge is needed. Also being able to take derivatives helps in a couple of places, but is not necessary.

Thats linear algebra.

Re: A Course in Machine Learning

#28
post #17
post #5

Earlier quoted context omitted.

Is this worth going through over picking up a textbook or two? I've found that Coursera courses are actually quite bloated. Lots and lots of empty talking, and very little substance.

For a beginner to machine learning I'd recommend Andrew Ng's course notes and lectures over any textbook I've seen. But I prefer his Stanford CS 229 notes to Coursera for exactly the reasons you state: they are watered down. After you really can understand Andrew Ng's course notes I'd recommend a textbook because they go in more detail and cover more topics. My two favorites for general statistical machine learning a…

Isn't Murphy's book more up to date and comprehensive as a reference?

Edit: Andrew Ng's Coursera course is CS229A (http://cs229a.stanford.edu/), not really watered down.

Re: A Course in Machine Learning

#29
Hal uses this as the textbook for his undergrad machine learning course. Having recently taken that course (in the spring 2013 semester), I feel justified saying that this book needs a lot of work before it's usable as a textbook or even a learning tool. Most of the time this text served primarily as an initial "dereference" of ideas yielding not concrete information, but a series of other pointers that I'd need to chase on Google before getting anything usable.

He clearly has high hopes for CIML, based on all the infoboxes and chapters that are still incomplete; it's a shame he'll likely need to get tenure before finishing it.

(This should in no way be taken as a slight on Hal's teaching; his class was the best sort of challenging in that it required a large amount of work, and yielded a correspondingly large amount of insight. He's also a fantastic lecturer and a fair grader.)

Re: A Course in Machine Learning

#30
post #18

I wish more people followed what Hal writes in here : > A second goal of this book is to provide a view of machine learning that focuses on ideas and models, not on math. It is not possible (or even advisable) to avoid math. But math should be there to aid understanding, not hinder it. No book (yes not even PRML - Bishop), follows this diligently.

This is a harder problem than it sounds, and something I've given a lot of thought to. I think the underlying issue is that all machine learning was discovered through a combination of applied math and intuitive ideas/models. Without the intuitive model no one would have thought to discover the method, and without the math the intuitive idea would be a pipe dream. Both are fundamentally linked, and it's a bad idea to…

Completely agree. However one thing that I think is missing in most books with a lot of math is the opportunity to use programming to help teach and communicate the math in question.

A great example of a book that communicates abstract mathematical concepts via algorithms is the Little Schemer. Ironically, it doesn't even set out to communicate the math, but actually just uses the math to communicate other programming ideas like recursion. That, however, doesn't diminish the fact that it demonstrates ways to teach math through programming and algorithms.

Another book which also does a good job at using programming to demonstrate more concrete math is Allen Downey's "Think Stats" book. All through the book, you learn the mathematical concepts of statistics through hands on programming activities.

There definitely is a chicken and egg problem in areas like machine learning because unlike the above resources which have only one layer of abstraction to cross, machine learning presents two layers of programmingmath abstractions to cross for most people who decide to learn it. To really understand and apply machine learning you need to understand the math and models behind it. However the math and models are presented in pure form that makes it difficult to grok unless you arrived at the resource with a classically-trained mathematical background. I would hope that given that the target market for such learning resources it not mathematicians but programmers, that such learning resources would present content to help you arrive at the math from a programmer's point of view.

Post reply on HN