But it's absolutely commendable how Andrew Ng takes the topic to such an understandable level that a clever high schooler who knows a little about programming could take the course. There's even extra videos serving as a crash-course to linear algebra and octave programming in the first week.
So he really manages to make the topic accessible to a very large audience.
Do you know what kind of math is needed other than linear algebra.
Also being able to take derivatives helps in a couple of places, but is not necessary.
* Pattern Recognition and Machine Learning by Christopher M. Bishop
* The Elements of Statistical Learning by Trevor Hastie, Robert Tibshirani and Jerome Friedman
Both are very intensive, perhaps to a fault. But they are good references and are good to at least skim through after you have baseline machine learning knowledge. At this stage you should be able to read almost any machine learning paper and actually understand it.
Edit: Andrew Ng's Coursera course is CS229A (http://cs229a.stanford.edu/), not really watered down.
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
[6] http://www.amazon.com/Python-Text-Processing-NLTK-Cookbook/d....